com.raritantechnologies.quickstart.taglibrary.forms
Class SelectElementRenderer
java.lang.Object
com.raritantechnologies.searchApp.taglibrary.BasicSearchElementRenderer
com.raritantechnologies.quickstart.taglibrary.forms.SelectElementRenderer
- All Implemented Interfaces:
- IConfigurable, IElementValueBuilder, ISearchElementRenderer
- public class SelectElementRenderer
- extends BasicSearchElementRenderer
- implements IElementValueBuilder
Creates an HTML select (dropdown) element of a SearchForm.
The data in the dropdown list can be statically defined in the configuration XML or they
can be loaded from a Raritan SearchSource.
SelectElementRenderer also implements the IElementValueBuilder interface so that it can be
updated dynamically if wrapped in a SearchSourceElementWrapper.
XML Configuration Template:
<SearchElementRenderer
rendererClass="com.raritantechnologies.quickstart.taglibrary.forms.SelectElementRenderer"
fieldID="theFieldID"
tagID="[ javascript tag ID ]"
cssClass="[ optional CSS class name ]"
style="[ optional style value ]"
multiSelect="[ true|false(default) ]"
size="[ number to show on multi select ]"
onChangeHandler="javascript:doSomething( this );"
onKeydownHandler="[ optional onkeydown handler ]"
submitOnChange="[ true|false(default) ]"
initClear="[ true|false(default) ]"
initFrom="[ request|lastQuery|dataWrapper ]"
initField="[ alternate field to init from ]"
fixWidth="[ max chars for name ]" >
<!-- ================================================================= -->
<!-- Static configuration version - get Choices from Configuration XML -->
<!-- ================================================================= -->
<Data>
<Choice value="aVal" name="A Value" default="on"/>
<Choice value="bVal" name="B Value" />
<Choice value="cVal" name="C Value" />
</Data>
<!-- ================================================================= -->
<!-- Dynamic configuration - lookup Choices from a Search Source. -->
<!-- Use SearchSource as a Lookup source: -->
<!-- If resultNameField and resultValueField are used, use the -->
<!-- SearchSourceto lookup the set of values. -->
<!-- Use source search fields directly: -->
<!-- Setting useSourceFields=true specifies that the -->
<!-- SearchSource.getSearchFields( ) method is used to load -->
<!-- the select list. -->
<!-- ================================================================= -->
<Data searchSource="[ static name of SearchSource ]"
sourceNameParam="[ name of parameter to get selected search source (dynamic) ]"
useSourceFields="[ false | true ]"
resultNameField="[ field ID from search result that has choice name ]"
resultValueField="[ field ID from search result that has choice value ]"
alwaysInitialize="true|false(default)"
useStaticCache="[ true|false(default) - if true initialize and store in cache by fieldID ]"
dedupeResults="true|false(default)"
sortResults="true|false(default)"
noSelectionChoice="[ message for non-selection ]"
blankQueryReturnsAll="true|false(default)" >
<!-- Optional query to search source -->
<Query>
<!-- one or more query parameter id=value pairs -->
<Param ID="[ parameter ID ]" value="[ query value ]" />
<!-- Alternatively search parameters can be derived from the http request -->
<Param requestField="[ field in http request ]" sourceField="[ name of field in lookup source ]" />
</Query>
<!-- Optional StringFilter to filter the data values before insertion into select list -->
<ValueFilter class=" [ class of com.raritantechnologies.utils.filter.IStringFilter ] " >
</ValueFilter>
</Data>
<!-- ================================================================= -->
<!-- Get Data from an ICollectionGateway -->
<!-- ================================================================= -->
<Data collectionGatewayClass="[ class of com.raritantechnologies.searchApp.dataCollection.ICollectionGateway ]"
resultNameField="[ field ID from search result that has choice name ]"
resultValueField="[ field ID from search result that has choice value ]"
alwaysInitialize="true|false(default)"
useStaticCache="[ true|false(default) - if true initialize and store in cache by fieldID ]"
dedupeResults="true|false(default)"
sortResults="true|false(default)"
noSelectionChoice="[ message for non-selection ]" >
<!-- Parameters needed by the ICollectionGateway -->
</Data>
<Data selectListSourceClass="[ class of com.raritantechnologies.quickstart.taglibrary.forms.ISelectListSource ]" >
</Data>
<!-- ================================================================= -->
<!-- Get Data from multi-value request -->
<!-- ================================================================= -->
<Data requestParam="[ name or http request containing multiple values ]"
delimiter="[ multi value delimiter ',' is default ]"
noSelectionChoice="[ message for non-selection ]" >
<!-- Optional StringFilter to manipulate selection name -->
<NameFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >
</NameFilter>
<ValueFilter class="[ class of com.raritantechnologies.utils.filter.IStringFilter ]" >
</ValueFilter>
</Data>
<Data
<!-- optional InitFromControl to provide context-dependent control of refresh: -->
<InitFromControl requestParam="formType" defaultValue="[request|lastQuery|searchSource]" >
<Request value="[ formType value or 'null' ]" initFrom="[ one of request|lastQuery|searchSource]" />
</InitFromControl>
<!-- optional javascript function that will be invoked on a selection event -->
<OnChangeFunction>
function doSomething( select )
{
// javascript here...
}
</OnChangeFunction>
</SearchElementRenderer>
Developed by
Raritan Technologies Inc..
- Author:
- Ted Sullivan
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
useSourceFields
protected boolean useSourceFields
useSearchSource
protected boolean useSearchSource
SelectElementRenderer
public SelectElementRenderer()
initialize
public void initialize(org.w3c.dom.Element elem)
- Description copied from interface:
ISearchElementRenderer
- Initialize renderer-specific parameters from the configuration XML tag.
- Specified by:
initialize in interface ISearchElementRenderer- Overrides:
initialize in class BasicSearchElementRenderer
clearDataChoices
public void clearDataChoices()
- Specified by:
clearDataChoices in interface IElementValueBuilder
addDataChoice
public void addDataChoice(java.lang.String choiceVal,
java.lang.String choiceName)
- Specified by:
addDataChoice in interface IElementValueBuilder
setValue
public void setValue(java.lang.String value)
- Specified by:
setValue in interface IElementValueBuilder
setSelectedValues
public void setSelectedValues(java.util.ArrayList values)
- Specified by:
setSelectedValues in interface IElementValueBuilder
doGetBody
protected java.lang.String doGetBody(ISearchFormRenderer parent,
RaritanPageContext pageContext)
- Specified by:
doGetBody in class BasicSearchElementRenderer
initializeChoices
protected void initializeChoices(RaritanPageContext pageContext)
setFieldID
public void setFieldID(java.lang.String fieldID)
getFieldID
public java.lang.String getFieldID()
setDefaultChoice
public void setDefaultChoice(java.lang.String defaultChoice)
getDefaultChoice
public java.lang.String getDefaultChoice()
setCssClass
public void setCssClass(java.lang.String cssClass)
getCssClass
public java.lang.String getCssClass()
setOnChangeHandler
public void setOnChangeHandler(java.lang.String onChangeHandler)
getOnChangeHandler
public java.lang.String getOnChangeHandler()
setSize
public void setSize(java.lang.String size)
getSize
public java.lang.String getSize()
setChoiceData
public void setChoiceData(java.lang.String[] values,
java.lang.String[] names)
getChoiceData
public OrderedMap getChoiceData()
setMultiSelect
public void setMultiSelect(boolean multiSelect)
getMultiSelect
public boolean getMultiSelect()
setSubmitOnChange
public void setSubmitOnChange(boolean submitOnChange)
getSubmitOnChange
public boolean getSubmitOnChange()
setOnChangeFunction
public void setOnChangeFunction(java.lang.String onChangeFunction)
getOnChangeFunction
public java.lang.String getOnChangeFunction()
setInitFrom
public void setInitFrom(java.lang.String initFrom)
getInitFrom
public java.lang.String getInitFrom(java.lang.String initFrom)
setClearField
public void setClearField(boolean clearField)
getClearField
public boolean getClearField()
setSearchSourceName
public void setSearchSourceName(java.lang.String searchSourceName)
getSearchSourceName
public java.lang.String getSearchSourceName()
setResultNameField
public void setResultNameField(java.lang.String resultNameField)
getResultNameField
public java.lang.String getResultNameField()
setResultValueField
public void setResultValueField(java.lang.String resultValueField)
getResultValueField
public java.lang.String getResultValueField()
setQueryMap
public void setQueryMap(java.lang.String[] fieldIDs,
java.lang.String[] values)
getQueryMap
public OrderedMap getQueryMap()
setFixWidth
public void setFixWidth(int fixWidth)
getFixWidth
public int getFixWidth()
getConfigurationXML
public java.lang.String getConfigurationXML()