lumis.doui.control.itempicker
Class MultiItemPickerControl

Package class diagram package MultiItemPickerControl
java.lang.Object
  extended by lumis.doui.control.Control
      extended by lumis.doui.control.DataControl
          extended by lumis.doui.control.DataBoundControl<TabularSource<?>>
              extended by lumis.doui.control.itempicker.MultiItemPickerControl
All Implemented Interfaces:
Observer, VariableResolver, IClientSideReadableControl, IControl, IDataBoundControl, IDataControl, IRenderer

public class MultiItemPickerControl
extends DataBoundControl<TabularSource<?>>
implements IClientSideReadableControl

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:

<control:lum_multiItemPicker id="To" sourceId="messageUser" itemKeyFieldId="userId" itemNameFieldId="userName"> <searchInterfaceId>selectUser</searchInterfaceId> </control:lum_multiItemPicker>
xml data available for xsl rendering: <control dataId="userId" displayDataId="userName" id="userId.userId" sourceId="default" type="lum_itemPicker"> <searchInterfaceId>lumis.service.sample.selectusingsearch.selectUser</searchInterfaceId> <control id="8A488A0F158A409701158A42522F0095" type="lum_requiredValueValidator" /> <data> <item> <id>00000000D00000000000000000000004</id> <displayString>LumisPageCacheUser</displayString> </item> <openPopupScript><!-- javascript for opening a pop to select an item --></openPopupScript> <selectItemFunction><!-- javascript function that is called by the pop to set the id and display name of the item selected --></selectItemFunction> <clearItemScript><!-- javascript to clear the id and name selected --></clearItemScript> </data> </control> selectUser Form_8A488A0F15D262380115D2C1D8AC0327 Form_8A488A0F15D262380115D2C1D8AC0327_To

Since:
4.1.0

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_SCRIPT, onEventScripts, PARAMETER_TYPE_FIRST_SELECTED, PARAMETER_TYPE_GET_VALUE, parentControl, resources, type, VALIDATION_SELECTED_MANY, VALIDATION_SELECTED_ONE
 
Constructor Summary
MultiItemPickerControl()
           
 
Method Summary
protected  IConverter createConverter()
          Creates the converter instance for this control.
 String getItemKeyFieldId()
           
 String getItemNameFieldId()
           
protected  IServiceInterfaceUrl getPopupUrl()
           
 String getPrimaryKeyFieldId()
           
 String getSearchInterfaceId()
           
protected  Class<?> getValueClass()
          Returns the class the possible values of this control are assignable to.
 void init(Node controlDefinitionNode, ControlContainer controlContainer, IControl parentControl)
           
 void loadFromRequest()
          Loads the number of rows and index of row to delete if exists.
 void setItemKeyFieldId(String itemKeyFieldId)
           
 void setItemNameFieldId(String itemNameFieldId)
           
 void setPrimaryKeyFieldId(String primaryKeyFieldId)
           
 void setProcessActionHandlerParameters(IProcessActionHandler processActionHandler)
          Sets the control value as a process action handler parameter.
 void setRenderData()
           
 void setSearchInterfaceId(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, getUnboundedConverter, setDefaultValue, setRawValue, setReload, setSourceParameter, setSourceParameters, setsSourceParameters, setValid, setValueFromSource, update
 
Methods inherited from class lumis.doui.control.DataControl
convertValueToControlValue, getConverter, getDataType, getDefaultValue, getRequestParameterName, getValue, getValue, isTrim, loadSubControlFromRequest, loadSubControlsFromRequest, setProcessActionHandlerParameter, setTrim, setValue, valueIsArray
 
Methods inherited from class lumis.doui.control.Control
appendSubControl, appendSubControls, applyOnEventScripts, convertToStandardValue, createContainer, disconnect, fixedIdentifierRequired, generateControlId, getAdditionalParameters, getAncestor, getChildControls, getClientEventHandlerScript, getControlResource, getId, getLocale, getParentControl, getPrepareForReadScript, getRenderData, getResources, getScriptActionValidation, getScriptGetValues, getScriptGetValuesFunctionImplementation, getScriptGetValuesFunctionName, getScriptGetValuesRegistration, getSourceContext, getStringsToLocalize, getType, getValidationScript, isValid, localize, localizeStrings, processCustomTags, registerOnEventScript, removeChild, removeChildren, resolveVariable, 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.IClientSideReadableControl
getScriptGetValues, getScriptGetValuesRegistration
 
Methods inherited from interface lumis.doui.control.IDataControl
getConverter, getValue, getValue, setValue
 
Methods inherited from interface lumis.doui.control.IControl
createContainer, disconnect, getChildControls, getControlResource, getId, getParentControl, getPrepareForReadScript, getRenderData, getResources, getType, isValid, registerOnEventScript, removeChild, removeChildren, setRuntimeAttributes
 
Methods inherited from interface lumis.doui.render.IRenderer
getResources, getSourceContext
 

Constructor Detail

MultiItemPickerControl

public MultiItemPickerControl()
Method Detail

getValueClass

protected 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 class DataControl
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 class DataBoundControl<TabularSource<?>>
Returns:
the converter instance or null if this control has no converter.
Throws:
PortalException

init

public void init(Node controlDefinitionNode,
                 ControlContainer controlContainer,
                 IControl parentControl)
          throws PortalException
Specified by:
init in interface IControl
Overrides:
init in class DataBoundControl<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 class DataBoundControl<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 interface IDataControl
Overrides:
loadFromRequest in class DataBoundControl<TabularSource<?>>
Throws:
PortalException

setRenderData

public void setRenderData()
                   throws PortalException
Specified by:
setRenderData in interface IControl
Overrides:
setRenderData in class DataBoundControl<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 interface IDataControl
Overrides:
setProcessActionHandlerParameters in class DataControl
Throws:
PortalException

getItemKeyFieldId

public String getItemKeyFieldId()

setItemKeyFieldId

public void setItemKeyFieldId(String itemKeyFieldId)

getPrimaryKeyFieldId

public String getPrimaryKeyFieldId()

setPrimaryKeyFieldId

public void setPrimaryKeyFieldId(String primaryKeyFieldId)

getItemNameFieldId

public String getItemNameFieldId()

setItemNameFieldId

public void setItemNameFieldId(String itemNameFieldId)

getSearchInterfaceId

public String getSearchInterfaceId()

setSearchInterfaceId

public void setSearchInterfaceId(String searchInterfaceId)


Lumisportal  4.1.0.071221 - Copyright © 2001-2007, Lumis. All Rights Reserved.