Class MultiItemPickerControl
- java.lang.Object
-
- lumis.doui.control.Control
-
- lumis.doui.control.DataControl
-
- lumis.doui.control.DataBoundControl<TabularSource<?>>
-
- lumis.doui.control.itempicker.MultiItemPickerControl
-
- All Implemented Interfaces:
java.util.Observer
,javax.servlet.jsp.el.VariableResolver
,IControl
,IDataBoundControl
,IDataControl
,IRenderer
public class MultiItemPickerControl extends DataBoundControl<TabularSource<?>>
Multiple item picker control.Allows the end user to add and remove multiple items.
This control contains four significant properties. The id of the field that each of the items in its list represents, the id of that field that represents a user friendly name for the field that it represents, the primary key of each item, and finally an interface that is responsible for searching and selecting the items.
The control renders a readonly user friendly name of each item with clear icon beside it. When the user selects the selection icon the specified search interface is popped passing the javascript function name that should be called to include the identifier and friendly name of the item.
Example use:selectUser
xml data available for xsl rendering:lumis.service.sample.selectusingsearch.selectUser 00000000D00000000000000000000004 LumisPageCacheUser selectUser Form_8A488A0F15D262380115D2C1D8AC0327 Form_8A488A0F15D262380115D2C1D8AC0327_To - Since:
- 4.1.0
- Version:
- $Revision$ $Date$
-
-
Field Summary
-
Fields inherited from class lumis.doui.control.DataControl
FORCE_CASE_LOWER, FORCE_CASE_NONE, FORCE_CASE_UPPER, forceCase, requestParameterName, UNKNOWN_DATA_TYPE, value, valuePreviouslySet
-
Fields inherited from class lumis.doui.control.Control
childControls, controlContainer, controlDefinitionNode, controlResource, douiContext, hasValidatorSubControls, isValid, locale, ON_EVENT_CLOSE_WINDOW, ON_EVENT_LINK, ON_EVENT_POPUP_LINK_OR_RUNTIME_INTERFACE, ON_EVENT_POPUP_RUNTIME_INTERFACE, ON_EVENT_PROCESS_ACTION, ON_EVENT_RENDER_ACTION, ON_EVENT_REPLACE_INTERFACE, ON_EVENT_SCRIPT, ON_EVENT_VALIDATE, onEventScripts, PARAMETER_TYPE_FIRST_SELECTED, PARAMETER_TYPE_GET_VALUE, parentControl, resources, type, VALIDATION_SELECTED_MANY, VALIDATION_SELECTED_ONE
-
-
Constructor Summary
Constructors Constructor Description MultiItemPickerControl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IConverter
createConverter()
Creates the converter instance for this control.java.lang.String
getItemKeyFieldId()
java.lang.String
getItemNameFieldId()
protected IServiceInterfaceUrl
getPopupUrl()
java.lang.String
getPrimaryKeyFieldId()
IDataControlRequestHelpDefinition
getRequestHelpDefinition()
Returns the request parameters help definition.java.lang.String
getSearchInterfaceId()
protected java.lang.Class<?>
getValueClass()
Returns the class the possible values of this control are assignable to.void
init(org.w3c.dom.Node controlDefinitionNode, ControlContainer controlContainer, IControl parentControl)
void
loadFromRequest()
Loads the number of rows and index of row to delete if exists.void
setItemKeyFieldId(java.lang.String itemKeyFieldId)
void
setItemNameFieldId(java.lang.String itemNameFieldId)
void
setPrimaryKeyFieldId(java.lang.String primaryKeyFieldId)
void
setProcessActionHandlerParameters(IProcessActionHandler processActionHandler)
Sets the control value as a process action handler parameter.void
setRenderData()
void
setSearchInterfaceId(java.lang.String searchInterfaceId)
protected void
setValueFromSource(TabularSource<?> source)
Reads the value corresponding to the current control from the control source.-
Methods inherited from class lumis.doui.control.DataBoundControl
autoAddDateTimeValueValidator, autoAddDoubleValueValidator, autoAddFileSizeValidator, autoAddIntegerValueValidator, autoAddLengthValidator, autoAddLongValueValidator, autoAddRequiredValueValidator, autoAddValidators, buildSubControls, createDataType, getDataId, getFieldName, getProcessActionHandlerParameterName, getReload, getRuntimeDefaultSource, getSource, getSourceById, getSourceContext, getUnboundedConverter, setDefaultValue, setRawValue, setReload, setSourceParameter, setValid, setValueFromSource, update
-
Methods inherited from class lumis.doui.control.DataControl
convertValueToControlValue, getConverter, getDataType, getDefaultValue, getParameterValue, getProcessActionIds, getRequestParameterName, getValue, getValue, initProcessActionIds, isTrim, loadSubControlFromRequest, loadSubControlsFromRequest, setProcessActionHandlerParameter, setProcessActionHandlerParameter, setSourceParameter, setSourceParameters, setTrim, setValue, valueIsArray
-
Methods inherited from class lumis.doui.control.Control
appendSubControl, appendSubControls, applyOnEventScripts, convertToStandardValue, createContainer, disconnect, fixedIdentifierRequired, generateControlId, generateControlIdPrefix, getAdditionalParameters, getAdditionalParameters, getAncestor, getChildControls, getClientEventHandlerScript, getControlResource, getId, getLocale, getName, getNamespace, getParentControl, getPrepareForReadScript, getRenderData, getResources, getScriptActionValidation, getStringsToLocalize, getType, getValidationScript, getWindowProperties, getWindowProperties, isRequired, isValid, localize, localizeStrings, processCustomTags, registerOnEventScript, removeChild, removeChildren, resolveVariable, setName, setRuntimeAttributes
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface lumis.doui.control.IControl
createContainer, disconnect, getChildControls, getControlResource, getId, getName, getParentControl, getPrepareForReadScript, getRenderData, getResources, getType, isValid, registerOnEventScript, removeChild, removeChildren, setRuntimeAttributes
-
Methods inherited from interface lumis.doui.control.IDataControl
getConverter, getProcessActionIds, getValue, getValue, setValue
-
Methods inherited from interface lumis.doui.render.IRenderer
getResources
-
-
-
-
Method Detail
-
getValueClass
protected java.lang.Class<?> getValueClass() throws PortalException
Description copied from class:DataControl
Returns the class the possible values of this control are assignable to.This default implementation uses
IDouiDataType.getValueClass()
of the data type of this control.- Overrides:
getValueClass
in classDataControl
- Returns:
- the class the possible values of this control are assignable to.
- Throws:
PortalException
-
createConverter
protected IConverter createConverter() throws PortalException
Description copied from class:DataControl
Creates the converter instance for this control.- Overrides:
createConverter
in classDataBoundControl<TabularSource<?>>
- Returns:
- the converter instance or null if this control has no converter.
- Throws:
PortalException
-
init
public void init(org.w3c.dom.Node controlDefinitionNode, ControlContainer controlContainer, IControl parentControl) throws PortalException
- Specified by:
init
in interfaceIControl
- Overrides:
init
in classDataBoundControl<TabularSource<?>>
- Throws:
PortalException
-
setValueFromSource
protected void setValueFromSource(TabularSource<?> source) throws PortalException
Description copied from class:DataBoundControl
Reads the value corresponding to the current control from the control source. By default the value that is taken from the source is from the first row of the source tabular data. However, if the control has the dataRow specified, the value taken from the source tabular data corresponds to specified row.- Overrides:
setValueFromSource
in classDataBoundControl<TabularSource<?>>
- Throws:
PortalException
-
loadFromRequest
public void loadFromRequest() throws PortalException
Loads the number of rows and index of row to delete if exists.- Specified by:
loadFromRequest
in interfaceIDataControl
- Overrides:
loadFromRequest
in classDataBoundControl<TabularSource<?>>
- Throws:
PortalException
-
setRenderData
public void setRenderData() throws PortalException
- Specified by:
setRenderData
in interfaceIControl
- Overrides:
setRenderData
in classDataBoundControl<TabularSource<?>>
- Throws:
PortalException
-
getPopupUrl
protected IServiceInterfaceUrl getPopupUrl() throws PortalException
- Throws:
PortalException
-
setProcessActionHandlerParameters
public void setProcessActionHandlerParameters(IProcessActionHandler processActionHandler) throws PortalException
Description copied from class:DataControl
Sets the control value as a process action handler parameter.- Specified by:
setProcessActionHandlerParameters
in interfaceIDataControl
- Overrides:
setProcessActionHandlerParameters
in classDataControl
- Throws:
PortalException
-
getItemKeyFieldId
public java.lang.String getItemKeyFieldId()
-
setItemKeyFieldId
public void setItemKeyFieldId(java.lang.String itemKeyFieldId)
-
getPrimaryKeyFieldId
public java.lang.String getPrimaryKeyFieldId()
-
setPrimaryKeyFieldId
public void setPrimaryKeyFieldId(java.lang.String primaryKeyFieldId)
-
getItemNameFieldId
public java.lang.String getItemNameFieldId()
-
setItemNameFieldId
public void setItemNameFieldId(java.lang.String itemNameFieldId)
-
getSearchInterfaceId
public java.lang.String getSearchInterfaceId()
-
setSearchInterfaceId
public void setSearchInterfaceId(java.lang.String searchInterfaceId)
-
getRequestHelpDefinition
public IDataControlRequestHelpDefinition getRequestHelpDefinition() throws PortalException
Description copied from interface:IDataControl
Returns the request parameters help definition. Used in process action REST API help. Must not return null.- Specified by:
getRequestHelpDefinition
in interfaceIDataControl
- Overrides:
getRequestHelpDefinition
in classDataBoundControl<TabularSource<?>>
- Returns:
- the request parameters help definition. Used in process action REST API help. Must not return null.
- Throws:
PortalException
-
-