public class InputFieldBase extends DataFieldBase implements InputField
The InputField
provides the majority of the data input/output
for the screen. Through these fields the model can be displayed and updated.
For data input, the field contains a Control
instance will
render an HTML control element(s). The input field also contains a
Label
, summary, and widgets such as a quickfinder (for
looking up values) and inquiry (for getting more information on the value).
InputField
instances can have associated messages (errors)
due to invalid input or business rule failures. Security can also be
configured to restrict who may view the fields valnue.
readOnlyDisplayReplacementPropertyName, readOnlyDisplaySuffixPropertyName
templateOptions
componentCode, namespaceCode
INITIAL_ORDER_VALUE
Constructor and Description |
---|
InputFieldBase() |
Modifier and Type | Method and Description |
---|---|
protected void |
addComponentPostMetadata()
Invoked during the finalize phase to capture state of the component needs to support post operations.
|
void |
addPostInputAddon(Component addOn)
Adds a component to the list of post input addon components.
|
protected void |
adjustMustOccurConstraintBinding(List<MustOccurConstraint> mustOccurConstraints)
Adjust paths on the must occur constrain bindings
|
protected void |
adjustPrerequisiteConstraintBinding(List<PrerequisiteConstraint> prerequisiteConstraints)
Adjust paths on the prerequisite constraint bindings
|
void |
afterEvaluateExpression()
No-op implementation.
|
void |
completeValidation(ValidationTrace tracer)
Validates different requirements of component compiling a series of reports detailing information on errors
found in the component.
|
void |
copyFromAttributeDefinition(AttributeDefinition attributeDefinition)
Defaults the properties of the
DataField to the
corresponding properties of its AttributeDefinition
retrieved from the dictionary (if such an entry exists). |
AttributeQuery |
getAttributeQuery()
Attribute query instance configured for this field to dynamically pull information back for
updates other fields or providing messages
|
CaseConstraint |
getCaseConstraint() |
Message |
getConstraintMessage()
Message field that displays constraint text
|
String |
getConstraintText()
Text that display a restriction on the value a field can hold
|
Control |
getControl()
Control instance that should be used to input data for the
field |
DataType |
getDataType()
Gets the DataType of this InputField, note that DataType set to be date
when this field is using a date picker with a TextControl and has not otherwise been
explicitly set.
|
List<PrerequisiteConstraint> |
getDependencyConstraints()
List of
PrerequisiteConstraint that apply to this InputField |
String |
getExclusiveMin()
The exclusive minimum value for numeric or date field.
|
String |
getHelperText()
Help text that displays under the control and is disclosed on focus.
|
String |
getInclusiveMax()
The inclusive maximum value for numeric or date field.
|
Message |
getInstructionalMessage()
Message field that displays instructional text
|
String |
getInstructionalText()
Instructional text that display an explanation of the field usage
|
Integer |
getMaxLength()
Maximum number of characters the input field value is allowed to have
|
Integer |
getMinLength()
Minimum number of characters the input field value needs to be
|
List<MustOccurConstraint> |
getMustOccurConstraints() |
KeyValuesFinder |
getOptionsFinder()
Instance of
KeyValuesFinder that should be invoked to
provide a List of values the field can have. |
Class<? extends KeyValuesFinder> |
getOptionsFinderClass()
Get the class of the optionsFinder being used by this InputField
|
List<Component> |
getPostInputAddons()
List of components that will be grouped with the input field control to form an input group.
|
List<String> |
getPostInputCssClasses()
List of CSS classes that will be applied to the span that wraps the post input components.
|
String |
getPostInputCssClassesAsString()
Returns the list of post input css classes as a string formed by joining the classes with a space.
|
List<PrerequisiteConstraint> |
getPrerequisiteConstraints() |
QuickFinder |
getQuickfinder()
Lookup finder widget for the field
|
Boolean |
getRequired()
Indicates whether the component is required
|
SimpleConstraint |
getSimpleConstraint() |
Suggest |
getSuggest()
Suggest box widget for the input field
|
FieldValidationMessages |
getValidationMessages()
Field that contains the messages (errors) for the input field.
|
ValidCharactersConstraint |
getValidCharactersConstraint() |
protected boolean |
hasAutoQuickfinderRelationship()
Determines wheter or not to create an automatic quickfinder widget for this field within the current lifecycle.
|
boolean |
isAjaxInlineEdit()
When ajaxInlineEdit is enabled, the field will appear as text, and when clicked, the input version of that field
is retrieved from the server; the user will be able to edit that field's value and save that new value.
|
boolean |
isDisableNativeAutocomplete()
Indicates whether the browser autocomplete functionality should be disabled for the
input field (adds autocomplete="off")
|
boolean |
isEnableAutoDirectInquiry()
Indicates whether direct inquiries should be automatically set when a relationship for
the field's property is found
|
boolean |
isEnableAutoQuickfinder()
Indicates whether quickfinders should be automatically set when a relationship for the field's
property is found
|
boolean |
isInlineEdit()
When inlineEdit is enabled, the field will appear as text, and when clicked the user will be able to edit that
field's value and save that new value.
|
boolean |
isInputAllowed()
Indicates whether the data field instance allows input, subclasses should override and set to
true if input is allowed
|
boolean |
isRenderFieldset() |
boolean |
isRenderInputAddonGroup()
Forces rendering of the input group div around the control.
|
boolean |
isUppercaseValue()
Perform uppercase flag for this field to force input to uppercase.
|
boolean |
isWidgetInputOnly()
Indicates indicates whether the field can only be updated through a widget
widgetInputOnly behaves similar to ReadOnly with the exception that the value of the input field
can be changed via the associated widget (e.g.
|
void |
performApplyModel(Object model,
LifecycleElement parent)
The following finalization is performed:
Make sure that a label is defined for any data fields.
|
void |
performFinalize(Object model,
LifecycleElement parent)
The following finalization is performed:
Set the labelForComponentId to this component id
Set the label text on the label field from the field's label property
Set the render property on the label's required message field if this field is marked as required
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 updates are done here:
Invoke performInitialize on component modifiers
Initializes the component
|
protected void |
processReadOnlyListDisplay(Object model,
List<?> originalList)
Overrides processReadOnlyListDisplay to handle MultiValueControls by creating the list of values from values
instead of the keys of the options selected (makes the list "human-readable").
|
void |
setAjaxInlineEdit(boolean ajaxInlineEdit) |
protected void |
setAlternateAndAdditionalDisplayValue(View view,
Object model)
Overriding to check quickfinder when masked is being applied.
|
void |
setAttributeQuery(AttributeQuery attributeQuery)
Setter for this field's attribute query
|
void |
setCaseConstraint(CaseConstraint caseConstraint)
Setter for
caseConstraint |
void |
setConstraintMessage(Message constraintMessage)
Setter for the constraint text message field
|
void |
setConstraintText(String constraintText)
Setter for the constraint message text
|
void |
setControl(Control control)
Setter for the field's control
|
void |
setDataType(DataType dataType)
This does not have to be set, represents the DataType constraint of this field.
|
void |
setDataType(String dataType) |
void |
setDependencyConstraints(List<PrerequisiteConstraint> dependencyConstraints)
Setter for
dependencyConstraints |
void |
setDisableNativeAutocomplete(boolean disableNativeAutocomplete)
Setter to disable browser autocomplete for the input field
|
void |
setEnableAutoDirectInquiry(boolean enableAutoDirectInquiry)
Setter for enabling automatic direct inquiries
|
void |
setEnableAutoQuickfinder(boolean enableAutoQuickfinder)
Setter for enabling automatic quickfinders
|
void |
setExclusiveMin(String exclusiveMin)
Setter for the field's exclusive minimum value
|
void |
setHelperText(String helperText) |
void |
setInclusiveMax(String inclusiveMax)
Setter for the field's inclusive maximum value
|
void |
setInlineEdit(boolean inlineEdit) |
void |
setInstructionalMessage(Message instructionalMessage)
Setter for the instructional text message field
|
void |
setInstructionalText(String instructionalText)
Setter for the instructional message
|
void |
setMaxLength(Integer maxLength)
Setter for input field max length
|
void |
setMinLength(Integer minLength)
Setter for input field minimum length
|
void |
setMustOccurConstraints(List<MustOccurConstraint> mustOccurConstraints)
Setter for
mustOccurConstraints |
void |
setOptionsFinder(KeyValuesFinder optionsFinder)
Setter for the field's KeyValuesFinder instance
|
void |
setOptionsFinderClass(Class<? extends KeyValuesFinder> optionsFinderClass)
Setter that takes in the class name for the options finder and creates a
new instance to use as the finder for the input field
|
void |
setPostInputAddons(List<Component> postInputAddons) |
void |
setPostInputCssClasses(List<String> postInputCssClasses) |
void |
setQuickfinder(QuickFinder quickfinder)
Setter for the lookup widget
|
void |
setRenderInputAddonGroup(boolean renderInputAddonGroup) |
void |
setRequired(Boolean required)
Setter for the required indicator
|
void |
setSimpleConstraint(SimpleConstraint simpleConstraint)
Setter for simple constraint
|
void |
setSuggest(Suggest suggest)
Setter for the fields suggest widget
|
protected void |
setupFieldQuery(View view)
Performs setup of the field attribute query and informational display properties.
|
protected void |
setupIds()
Sets the ids on all components the input field uses so they will all
contain this input field's id in their ids.
|
void |
setUppercaseValue(boolean uppercaseValue)
Setter for this field's performUppercase flag
|
void |
setValidationMessages(FieldValidationMessages validationMessages)
Setter for the input field's errors field
|
void |
setValidCharactersConstraint(ValidCharactersConstraint validCharactersConstraint)
Setter for
validCharacterConstraint |
void |
setWidgetInputOnly(boolean widgetInputOnly)
Setter for the widget input only indicator
|
generateReadOnlyListDisplayReplacement, getAdditionalHiddenPropertyNames, getBindingInfo, getDataFieldSecurity, getDefaultValue, getDefaultValueFinderClass, getDefaultValues, getDictionaryAttributeName, getDictionaryObjectEntry, getForcedValue, getHelp, getHelpSummary, getHelpTitle, getInquiry, getMaskFormatter, getName, getPropertyEditor, getPropertyName, getPropertyNamesForAdditionalDisplay, getReadOnlyDisplayReplacement, getReadOnlyDisplayReplacementPropertyName, getReadOnlyDisplaySuffix, getReadOnlyDisplaySuffixPropertyName, getReadOnlyListDelimiter, getReadOnlyListDisplayType, getSortAs, hasAutoInquiryRelationship, hasSecureValue, initializeComponentSecurity, isAddHiddenWhenReadOnly, isApplyMask, isEnableAutoInquiry, isEscapeHtmlInPropertyValue, isMultiLineReadOnlyDisplay, isRenderInfoMessageSpan, isRenderMarkerIconSpan, setAddHiddenWhenReadOnly, setAdditionalHiddenPropertyNames, setApplyMask, setBindingInfo, setComponentSecurity, setDefaultValue, setDefaultValueFinderClass, setDefaultValues, setDictionaryAttributeName, setDictionaryObjectEntry, setEnableAutoInquiry, setEscapeHtmlInPropertyValue, setForcedValue, setHelp, setHelpSummary, setInquiry, setMaskFormatter, setMultiLineReadOnlyDisplay, setPropertyEditor, setPropertyEditorClass, setPropertyName, setPropertyNamesForAdditionalDisplay, setReadOnlyDisplayReplacement, setReadOnlyDisplayReplacementPropertyName, setReadOnlyDisplaySuffix, setReadOnlyDisplaySuffixPropertyName, setReadOnlyListDelimiter, setReadOnlyListDisplayType, setRenderInfoMessageSpan, setRenderMarkerIconSpan, setSortAs, setTooltipOfComponent
getComponentTypeName, getFieldLabel, getFieldSecurity, getLabel, getLabelColSpan, getLabelStyleClasses, getShortLabel, isEditInLineAuthz, isLabelLeft, isLabelRendered, isViewInLineAuthz, setEditInLineAuthz, setFieldLabel, setLabel, setLabelColSpan, setLabelLeft, setLabelRendered, setLabelStyleClasses, setNestedComponentIdAndSuffix, setShortLabel, setShowLabel, setViewInLineAuthz
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, appendToStyle, checkMutable, clone, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAdditionalCssClasses, getAdditionalTemplates, 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, 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, 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
getName
getAdditionalHiddenPropertyNames, getDataFieldSecurity, getDefaultValue, getDefaultValueFinderClass, getDefaultValues, getDictionaryAttributeName, getDictionaryObjectEntry, getForcedValue, getHelpSummary, getInquiry, getMaskFormatter, getName, getPropertyEditor, getPropertyNamesForAdditionalDisplay, getReadOnlyDisplayReplacement, getReadOnlyDisplayReplacementPropertyName, getReadOnlyDisplaySuffix, getReadOnlyDisplaySuffixPropertyName, getReadOnlyListDelimiter, getReadOnlyListDisplayType, getSortAs, hasSecureValue, isAddHiddenWhenReadOnly, isApplyMask, isEnableAutoInquiry, isEscapeHtmlInPropertyValue, isMultiLineReadOnlyDisplay, isRenderInfoMessageSpan, isRenderMarkerIconSpan, setAddHiddenWhenReadOnly, setAdditionalHiddenPropertyNames, setApplyMask, setComponentSecurity, setDefaultValue, setDefaultValueFinderClass, setDefaultValues, setDictionaryAttributeName, setDictionaryObjectEntry, setEnableAutoInquiry, setEscapeHtmlInPropertyValue, setForcedValue, setHelpSummary, setInquiry, setMaskFormatter, setMultiLineReadOnlyDisplay, setPropertyEditor, setPropertyEditorClass, setPropertyName, setPropertyNamesForAdditionalDisplay, setReadOnlyDisplayReplacement, setReadOnlyDisplayReplacementPropertyName, setReadOnlyDisplaySuffix, setReadOnlyDisplaySuffixPropertyName, setReadOnlyListDelimiter, setReadOnlyListDisplayType, setRenderInfoMessageSpan, setRenderMarkerIconSpan, setSortAs
getBindingInfo, getPropertyName, setBindingInfo
getHelp, getHelpTitle, setHelp, setTooltipOfComponent
getFieldLabel, getFieldSecurity, getLabel, getLabelColSpan, getLabelStyleClasses, getShortLabel, isLabelLeft, isLabelRendered, setFieldLabel, setLabel, setLabelColSpan, setLabelLeft, setLabelRendered, setLabelStyleClasses, setShortLabel
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, 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, 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, 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
public InputFieldBase()
public void performInitialization(Object model)
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 DataFieldBase
model
- - object instance containing the view dataComponentDefaultInitializeTask
public void afterEvaluateExpression()
In general, this method is preferred to LifecycleElement.performApplyModel(Object, LifecycleElement)
for populating model data via code, since it is called before client-side state is synchronize.
afterEvaluateExpression
in interface Component
afterEvaluateExpression
in class DataFieldBase
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 DataFieldBase
model
- - Top level object containing the data (could be the form or a
top level business object, dto)parent
- parent lifecycle elementpublic 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 DataFieldBase
model
- - top level object containing the dataparent
- - parent componentprotected void addComponentPostMetadata()
protected void processReadOnlyListDisplay(Object model, List<?> originalList)
processReadOnlyListDisplay
in class DataFieldBase
model
- the modeloriginalList
- originalList of valuesprotected void setAlternateAndAdditionalDisplayValue(View view, Object model)
If AttributeSecurity
present in this field, make sure the current user has permission to view the
field value. If user doesn't have permission to view the value, mask the value as configured and set it
as alternate value for display. If security doesn't exists for this field but
alternateDisplayPropertyName
present, get its value and format it based on that
fields formatting and set for display.
For additional display value, if AttributeSecurity
not present, sets the value if
additionalDisplayPropertyName
present. If not present, check whether this field is a
KualiCode
and get the relationship configured in the datadictionary file and set the name
additional display value which will be displayed along with the code. If additional display property not
present, check whether this field is has MultiValueControlBase
. If yes, get the Label
for the value and set it as additional display value.
setAlternateAndAdditionalDisplayValue
in class DataFieldBase
view
- the current view instancemodel
- model instanceprotected void adjustMustOccurConstraintBinding(List<MustOccurConstraint> mustOccurConstraints)
mustOccurConstraints
- protected void adjustPrerequisiteConstraintBinding(List<PrerequisiteConstraint> prerequisiteConstraints)
prerequisiteConstraints
- protected void setupFieldQuery(View view)
Paths are adjusted to match the binding for the this field, and the necessary onblur script for triggering the query client side is constructed
view
- view instance the input field is associated withprotected void setupIds()
public void copyFromAttributeDefinition(AttributeDefinition attributeDefinition)
DataField
to the
corresponding properties of its AttributeDefinition
retrieved from the dictionary (if such an entry exists). If the field
already contains a value for a property, the definitions value is not
used.copyFromAttributeDefinition
in interface DataField
copyFromAttributeDefinition
in class DataFieldBase
attributeDefinition
- AttributeDefinition instance the property values should be
copied frompublic boolean isInputAllowed()
isInputAllowed
in interface DataField
isInputAllowed
in interface InputField
isInputAllowed
in class DataFieldBase
DataField.isInputAllowed()
public Control getControl()
Control
instance that should be used to input data for the
field
When the field is editable, the control will be rendered so the user can input a value(s). Controls typically are part of a Form and render standard HTML control elements such as text input, select, and checkbox
getControl
in interface InputField
public void setControl(Control control)
setControl
in interface InputField
public boolean isInlineEdit()
The method that is called by inlineEdit is saveField.
isInlineEdit
in interface InputField
public void setInlineEdit(boolean inlineEdit)
setInlineEdit
in interface InputField
isInlineEdit()
public boolean isAjaxInlineEdit()
isAjaxInlineEdit
in interface InputField
public void setAjaxInlineEdit(boolean ajaxInlineEdit)
setAjaxInlineEdit
in interface InputField
isAjaxInlineEdit()
@ViewLifecycleRestriction public FieldValidationMessages getValidationMessages()
ValidationMessages
holds configuration on associated messages along
with information on rendering the messages in the user interfacegetValidationMessages
in interface InputField
public void setValidationMessages(FieldValidationMessages validationMessages)
setValidationMessages
in interface InputField
public KeyValuesFinder getOptionsFinder()
KeyValuesFinder
that should be invoked to
provide a List of values the field can have. Generally used to provide
the options for a multi-value control or to validate the submitted field
valuegetOptionsFinder
in interface InputField
public void setOptionsFinder(KeyValuesFinder optionsFinder)
setOptionsFinder
in interface InputField
public Class<? extends KeyValuesFinder> getOptionsFinderClass()
getOptionsFinderClass
in interface InputField
public void setOptionsFinderClass(Class<? extends KeyValuesFinder> optionsFinderClass)
setOptionsFinderClass
in interface InputField
optionsFinderClass
- the options finder class to setpublic boolean isEnableAutoDirectInquiry()
Note this only applies when the DataField.getInquiry()
widget has not been configured (is null)
and is set to true by default
isEnableAutoDirectInquiry
in interface InputField
public void setEnableAutoDirectInquiry(boolean enableAutoDirectInquiry)
setEnableAutoDirectInquiry
in interface InputField
public QuickFinder getQuickfinder()
The quickfinder widget places a small icon next to the field that allows
the user to bring up a search screen for finding valid field values. The
Widget
instance can be configured to point to a certain
LookupView
, or the framework will attempt to associate the
field with a lookup based on its metadata (in particular its
relationships in the model)
getQuickfinder
in interface InputField
public void setQuickfinder(QuickFinder quickfinder)
setQuickfinder
in interface InputField
quickfinder
- the field lookup widget to setpublic boolean isEnableAutoQuickfinder()
Note this only applies when the InputField.getQuickfinder()
widget has not been configured (is null)
and is set to true by default
isEnableAutoQuickfinder
in interface InputField
public void setEnableAutoQuickfinder(boolean enableAutoQuickfinder)
setEnableAutoQuickfinder
in interface InputField
public Suggest getSuggest()
If enabled (by render flag), as the user inputs data into the fields control a dynamic query is performed to provide the user suggestions on values which they can then select
Note the Suggest widget is only valid when using a standard TextControl
getSuggest
in interface InputField
public void setSuggest(Suggest suggest)
setSuggest
in interface InputField
suggest
- the field suggest widget to setpublic boolean isWidgetInputOnly()
isWidgetInputOnly
in interface InputField
public void setWidgetInputOnly(boolean widgetInputOnly)
setWidgetInputOnly
in interface InputField
public boolean isRenderInputAddonGroup()
If other components add content through script that should be grouped with the control, this flag
can be set to true to generate the input group, even though InputField.getPostInputAddons()
may
be empty
isRenderInputAddonGroup
in interface InputField
public void setRenderInputAddonGroup(boolean renderInputAddonGroup)
setRenderInputAddonGroup
in interface InputField
InputField.isRenderInputAddonGroup()
public List<String> getPostInputCssClasses()
getPostInputCssClasses
in interface InputField
public String getPostInputCssClassesAsString()
getPostInputCssClassesAsString
in interface InputField
public void setPostInputCssClasses(List<String> postInputCssClasses)
setPostInputCssClasses
in interface InputField
InputField.getPostInputCssClasses()
public List<Component> getPostInputAddons()
Generally these are icon, link, or button components that should be rendered with the control.
getPostInputAddons
in interface InputField
public void setPostInputAddons(List<Component> postInputAddons)
setPostInputAddons
in interface InputField
InputField.getPostInputAddons()
public void addPostInputAddon(Component addOn)
addPostInputAddon
in interface InputField
addOn
- component to addInputField.getPostInputAddons()
public String getInstructionalText()
Text explaining how to use the field, including things like what values should be selected in certain cases and so on (instructions)
getInstructionalText
in interface InputField
public void setInstructionalText(String instructionalText)
setInstructionalText
in interface InputField
instructionalText
- the instructional text to setpublic Message getInstructionalMessage()
This message field can be configured to for adjusting how the instructional text will display. Generally the styleClasses property will be of most interest
getInstructionalMessage
in interface InputField
public void setInstructionalMessage(Message instructionalMessage)
Note this is the setter for the field that will render the instructional text. The actual text can be
set on the field but can also be set using InputField.setInstructionalText(String)
setInstructionalMessage
in interface InputField
instructionalMessage
- the instructional message to setpublic String getHelperText()
getHelperText
in interface InputField
public void setHelperText(String helperText)
setHelperText
in interface InputField
InputField.getHelperText()
public String getConstraintText()
For example when the value must be a valid format (phone number, email), certain length, min/max value and so on this text can be used to indicate the constraint to the user. Generally displays with the control so it is visible when the user tabs to the field
getConstraintText
in interface InputField
public void setConstraintText(String constraintText)
setConstraintText
in interface InputField
constraintText
- the constraint text to setpublic Message getConstraintMessage()
This message field can be configured to for adjusting how the constrain text will display. Generally the styleClasses property will be of most interest
getConstraintMessage
in interface InputField
public void setConstraintMessage(Message constraintMessage)
Note this is the setter for the field that will render the constraint text. The actual text can be
set on the field but can also be set using InputField.setConstraintText(String)
setConstraintMessage
in interface InputField
constraintMessage
- the constrain message field to setpublic ValidCharactersConstraint getValidCharactersConstraint()
getValidCharactersConstraint
in interface ValidCharactersConstrainable
public void setValidCharactersConstraint(ValidCharactersConstraint validCharactersConstraint)
validCharacterConstraint
setValidCharactersConstraint
in interface InputField
validCharactersConstraint
- the ValidCharactersConstraint
to setpublic CaseConstraint getCaseConstraint()
getCaseConstraint
in interface CaseConstrainable
public void setCaseConstraint(CaseConstraint caseConstraint)
caseConstraint
setCaseConstraint
in interface InputField
caseConstraint
- the CaseConstraint
to setpublic List<PrerequisiteConstraint> getDependencyConstraints()
PrerequisiteConstraint
that apply to this InputField
getDependencyConstraints
in interface InputField
public void setDependencyConstraints(List<PrerequisiteConstraint> dependencyConstraints)
dependencyConstraints
setDependencyConstraints
in interface InputField
dependencyConstraints
- list of PrerequisiteConstraint
to setpublic List<PrerequisiteConstraint> getPrerequisiteConstraints()
getPrerequisiteConstraints
in interface PrerequisiteConstrainable
public List<MustOccurConstraint> getMustOccurConstraints()
getMustOccurConstraints
in interface MustOccurConstrainable
public void setMustOccurConstraints(List<MustOccurConstraint> mustOccurConstraints)
mustOccurConstraints
setMustOccurConstraints
in interface InputField
mustOccurConstraints
- list of MustOccurConstraint
to setpublic SimpleConstraint getSimpleConstraint()
getSimpleConstraint
in interface SimpleConstrainable
public void setSimpleConstraint(SimpleConstraint simpleConstraint)
When a simple constraint is set on this object ALL simple validation constraints set directly will be overridden - recommended to use this or the other gets/sets for defining simple constraints, not both.
setSimpleConstraint
in interface InputField
simpleConstraint
- the simple constraint to setpublic DataType getDataType()
getDataType
in interface InputField
public void setDataType(DataType dataType)
setDataType
in interface InputField
dataType
- the dataType to setpublic void setDataType(String dataType)
setDataType
in interface InputField
public Integer getMaxLength()
The maximum length determines the maximum allowable length of the value for data entry editing purposes. The maximum length is inclusive and can be smaller or longer than the actual control size. The constraint is enforced on all data types (e.g. a numeric data type needs to meet the maximum length constraint in which digits and symbols are counted).
getMaxLength
in interface InputField
public void setMaxLength(Integer maxLength)
setMaxLength
in interface InputField
maxLength
- the maximum length to setpublic Integer getMinLength()
The minimum length determines the minimum required length of the value for data entry editing purposes. The minimum length is inclusive. The constraint is enforced on all data types (e.g. a numeric data type needs to meet the minimum length requirement in which digits and symbols are counted).
getMinLength
in interface InputField
public void setMinLength(Integer minLength)
setMinLength
in interface InputField
minLength
- the minLength to setpublic Boolean getRequired()
At the general component level required means there is some action the user needs to take within the component. For example, within a section it might mean the fields within the section should be completed. At a field level, it means the field should be completed. This provides the ability for the renderers to indicate the required action.
getRequired
in interface Component
getRequired
in interface InputField
getRequired
in class ComponentBase
ComponentBase.getRequired()
public void setRequired(Boolean required)
setRequired
in interface Component
setRequired
in interface InputField
setRequired
in class ComponentBase
ComponentBase.setRequired(java.lang.Boolean)
public String getExclusiveMin()
The exclusiveMin element determines the minimum allowable value for data
entry editing purposes. This constrain is supported for numeric and
date fields and to be used in conjunction with the appropriate
ValidCharactersConstraint
.
For numeric constraint the value can be an integer or decimal such as -.001 or 99.
getExclusiveMin
in interface InputField
public void setExclusiveMin(String exclusiveMin)
setExclusiveMin
in interface InputField
exclusiveMin
- the minimum value to setpublic String getInclusiveMax()
The inclusiveMax element determines the maximum allowable value for data
entry editing purposes. This constrain is supported for numeric and
date fields and to be used in conjunction with the appropriate
ValidCharactersConstraint
.
For numeric constraint the value can be an integer or decimal such as -.001 or 99.
getInclusiveMax
in interface InputField
public void setInclusiveMax(String inclusiveMax)
setInclusiveMax
in interface InputField
inclusiveMax
- the maximum value to setpublic AttributeQuery getAttributeQuery()
If field attribute query is not null, associated event script will be generated to trigger the
query from the UI. This will invoke the AttributeQueryService
to
execute the query and return an instance of AttributeQueryResult
that is then
read by the script to update the UI. Typically used to update informational property values or
other field values
getAttributeQuery
in interface InputField
public void setAttributeQuery(AttributeQuery attributeQuery)
setAttributeQuery
in interface InputField
public boolean isUppercaseValue()
It this flag is set to true the 'text-transform' style on the field will be set to 'uppercase' which will automatically change any text input into the field to uppercase.
isUppercaseValue
in interface InputField
public void setUppercaseValue(boolean uppercaseValue)
setUppercaseValue
in interface InputField
uppercaseValue
- boolean flagpublic boolean isDisableNativeAutocomplete()
The browser's native autocomplete functionality can cause issues with security fields and also fields with the UIF suggest widget enabled
isDisableNativeAutocomplete
in interface InputField
public void setDisableNativeAutocomplete(boolean disableNativeAutocomplete)
setDisableNativeAutocomplete
in interface InputField
public boolean isRenderFieldset()
isRenderFieldset
in interface DataField
isRenderFieldset
in interface InputField
isRenderFieldset
in class DataFieldBase
public void completeValidation(ValidationTrace tracer)
completeValidation
in interface Component
completeValidation
in interface DataField
completeValidation
in interface InputField
completeValidation
in class DataFieldBase
tracer
- Record of component's locationComponent.completeValidation(org.kuali.rice.krad.datadictionary.validator.ValidationTrace)
protected boolean hasAutoQuickfinderRelationship()
Copyright © 2005–2016 The Kuali Foundation. All rights reserved.