public class Suggest extends WidgetBase
Widget is backed by an AttributeQuery
that provides the configuration
for executing a query server side that will retrieve the valid option values.
Modifier and Type | Class and Description |
---|---|
static class |
Suggest.SuggestPostData
Holds post data for the suggest component.
|
templateOptions
componentCode, namespaceCode
INITIAL_ORDER_VALUE
Constructor and Description |
---|
Suggest() |
Modifier and Type | Method and Description |
---|---|
List<String> |
getAdditionalPropertiesToReturn()
List of additional properties to return in the result objects to the plugin's success callback.
|
String |
getLabelPropertyName()
Name of the property on the query result object that provides the label for the suggestion.
|
Suggest.SuggestPostData |
getPostData()
Returns object containing post data to store for the suggest request.
|
List<Object> |
getSuggestOptions()
When
isRetrieveAllSuggestions() is true, this list provides the full list of suggestions |
String |
getSuggestOptionsJsString()
Returns the suggest options as a JS String (set by the framework from method invocation)
|
AttributeQuery |
getSuggestQuery()
Attribute query instance the will be executed to provide
the suggest options
|
String |
getValuePropertyName()
Name of the property on the query result object that provides
the options for the suggest, values from this field will be
collected and sent back on the result to provide as suggest options.
|
boolean |
isRetrieveAllSuggestions()
Indicates whether all suggest options should be retrieved up front and provide to the suggest
widget as options locally
|
boolean |
isReturnFullQueryObject()
When set to true the results of a query method will be sent back as-is (in translated form) with all properties
intact.
|
boolean |
isSuggestConfigured()
Indicates whether the suggest widget has the necessary configuration to render
|
void |
performApplyModel(Object model,
LifecycleElement parent)
The following updates are done here:
Invoke expression evaluation on the suggestQuery
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)
The following actions are performed:
Adjusts the query field mappings on the query based on the binding configuration of the field
TODO: determine query if render is true and query is not set
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
|
protected void |
retrieveSuggestOptions(View view)
Invokes the configured query method and sets the returned method value as the suggest options or
suggest options JS string
|
void |
setAdditionalPropertiesToReturn(List<String> additionalPropertiesToReturn)
Set the list of additional properties to return to the plugin success callback results
|
void |
setLabelPropertyName(String labelPropertyName)
Set the labelPropertyName
|
void |
setRetrieveAllSuggestions(boolean retrieveAllSuggestions)
Setter for the retrieve all suggestions indicator
|
void |
setReturnFullQueryObject(boolean returnFullQueryObject)
Setter for the for returning the full object of the query
|
void |
setSuggestOptions(List<Object> suggestOptions)
Setter for the list of suggest options
|
void |
setSuggestOptionsJsString(String suggestOptionsJsString)
Sets suggest options javascript string
|
void |
setSuggestQuery(AttributeQuery suggestQuery)
Setter for the suggest attribute query
|
void |
setValuePropertyName(String valuePropertyName)
Setter for the value property name
|
getComponentTypeName
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, afterEvaluateExpression, appendToStyle, checkMutable, clone, completeValidation, 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, getRequired, getRole, getRowSpan, getScriptDataAttributes, getScriptDataAttributesJs, getSimpleDataAttributes, getStyle, getStyleClassesAsString, getTemplate, getTemplateName, getTemplateOptions, getTemplateOptionsJSString, getTitle, getToolTip, getValign, getViewPath, getViewStatus, getWidth, getWrapperCssClasses, getWrapperCssClassesAsString, getWrapperStyle, initializeComponentSecurity, isDisableSessionPersistence, isDisclosedByAction, isEditAuthz, isFinal, isForceSessionPersistence, isHidden, isInitialized, isModelApplied, isMutable, isOmitFromFormPost, isProgressiveRenderAndRefresh, isProgressiveRenderViaAJAX, isRefreshedByAction, isRender, isRendered, isResetDataOnRefresh, isRetrieveViaAjax, isSelfRendered, isSkipInTabOrder, isViewAuthz, notifyCompleted, performInitialization, pushAllToContext, pushObjectToContext, pushToPropertyReplacerContext, setAdditionalComponentsToRefresh, setAdditionalCssClasses, setAlign, setAriaAttributes, setCanCopyOnReadOnly, setCellWidth, setColSpan, setComponentModifiers, setComponentSecurity, 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
addAriaAttribute, addDataAttribute, addScriptDataAttribute, addStyleClass, addWrapperCssClass, afterEvaluateExpression, appendToStyle, completeValidation, getAdditionalComponentsToRefresh, getAdditionalComponentsToRefreshJs, getAdditionalCssClasses, getAdditionalTemplates, getAlign, getAriaAttributes, getAriaAttributesAsString, getCanCopyOnReadOnly, getCellWidth, getColSpan, getComponentModifiers, getComponentSecurity, 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, setComponentSecurity, 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, performInitialization, 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 Suggest()
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 ComponentBase
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 ComponentBase
model
- - top level object containing the dataparent
- - parent componentpublic boolean isSuggestConfigured()
protected void retrieveSuggestOptions(View view)
view
- view instance the suggest belongs to, used to get the view helper service if neededpublic Suggest.SuggestPostData getPostData()
public AttributeQuery getSuggestQuery()
public void setSuggestQuery(AttributeQuery suggestQuery)
suggestQuery
- public String getValuePropertyName()
If a labelPropertyName is also set, the property specified by it will be used as the label the user selects (the suggestion), but the value will be the value retrieved by this property. If only one of labelPropertyName or valuePropertyName is set, the property's value on the object will be used for both the value inserted on selection and the suggestion text (most default cases only a valuePropertyName would be set).
public void setValuePropertyName(String valuePropertyName)
valuePropertyName
- public String getLabelPropertyName()
This should be set when the label that the user selects is different from the value that is inserted when a user selects a suggestion. If only one of labelPropertyName or valuePropertyName is set, the property's value on the object will be used for both the value inserted on selection and the suggestion text (most default cases only a valuePropertyName would be set).
public void setLabelPropertyName(String labelPropertyName)
labelPropertyName
- public List<String> getAdditionalPropertiesToReturn()
In most cases, this should not be set. The main use case of setting this list is to use additional properties in the select function on the plugin's options, so it is only recommended that this property be set when doing heavy customization to the select function. This list is not used if the full result object is already being returned.
public void setAdditionalPropertiesToReturn(List<String> additionalPropertiesToReturn)
additionalPropertiesToReturn
- public boolean isReturnFullQueryObject()
Note this is not supported for highly complex objects (ie, most auto-query objects - will throw exception). Intended usage of this flag is with custom query methods which return simple data objects. The query method can return a list of Strings which will be used for the suggestions, a list of objects with 'label' and 'value' properties, or a custom object. In the case of using a customObject labelPropertyName or valuePropertyName MUST be specified (or both) OR the custom object must contain a property named "label" or "value" (or both) for the suggestions to appear. In cases where this is not used, the data sent back represents a slim subset of the properties on the object.
public void setReturnFullQueryObject(boolean returnFullQueryObject)
returnFullQueryObject
- public boolean isRetrieveAllSuggestions()
Use this for a small list of options to improve performance. The query will be performed on the client to filter the provider options based on the users input instead of doing a query each time
When a query method is configured and this option set to true the method will be invoked to set the options. The query method should not take any arguments and should return the suggestion options List or the JS String as a result. If a query method is not configured the suggest options can be set through configuration or a view helper method (for example a component finalize method)
public void setRetrieveAllSuggestions(boolean retrieveAllSuggestions)
retrieveAllSuggestions
- public List<Object> getSuggestOptions()
isRetrieveAllSuggestions()
is true, this list provides the full list of suggestions
If a query method is configured that method will be invoked to populate this list, otherwise the list should be populated through configuration or the view helper
The suggest options can either be a list of Strings, in which case the strings will be the suggested values. Or a list of objects. If the object does not have 'label' and 'value' properties, a custom render and select method must be provided
public void setSuggestOptions(List<Object> suggestOptions)
suggestOptions
- public String getSuggestOptionsJsString()
public void setSuggestOptionsJsString(String suggestOptionsJsString)
suggestOptionsJsString
- Copyright © 2005–2016 The Kuali Foundation. All rights reserved.