org.opencms.widgets
Class CmsMultiSelectGroupWidget

java.lang.Object
  extended by org.opencms.widgets.A_CmsWidget
      extended by org.opencms.widgets.A_CmsSelectWidget
          extended by org.opencms.widgets.CmsSelectWidget
              extended by org.opencms.widgets.CmsSelectGroupWidget
                  extended by org.opencms.widgets.CmsMultiSelectGroupWidget
All Implemented Interfaces:
I_CmsWidget

public class CmsMultiSelectGroupWidget
extends CmsSelectGroupWidget

Provides a widget for group selection multi select boxes.

This widget is configurable with the following options:

To map the selected group to a permission to set, use the following mapping configuration:

<mapping element="..." mapto="permission:GROUP:+r+v|GROUP.ALL_OTHERS:|GROUP.Projectmanagers:+r+v+w+c" />

This means that the +r+v permission is written for the principal GROUP on the resource. Additionally two permissions are written as default: for ALL_OTHERS, no allowed permission is set, for Projectmanagers, "+r+v+w+c" is set.

Since:
8.0.2
Version:
$Revision: 1.1 $
Author:
Mario Jaeger

Field Summary
static java.lang.String CONFIGURATION_DEFAULT_ALL
          Configuration parameter name to use all available groups as default.
 
Fields inherited from class org.opencms.widgets.CmsSelectGroupWidget
CONFIGURATION_GROUPFILTER, CONFIGURATION_GROUPS, CONFIGURATION_INCLUDESUBOUS, CONFIGURATION_OUFQN
 
Fields inherited from class org.opencms.widgets.A_CmsSelectWidget
CONFIGURATION_HEIGHT
 
Fields inherited from class org.opencms.widgets.A_CmsWidget
HELP_POSTFIX, LABEL_PREFIX
 
Constructor Summary
CmsMultiSelectGroupWidget()
          Creates a new group select widget.
CmsMultiSelectGroupWidget(java.lang.String configuration)
          Creates a group select widget with the specified select options.
CmsMultiSelectGroupWidget(java.lang.String configuration, boolean asCheckboxes)
          Creates a select widget with the select options specified in the given configuration List.
 
Method Summary
 java.lang.String getDialogIncludes(CmsObject cms, I_CmsWidgetDialog widgetDialog)
          Generates the necessary JavaScript inclusion code for this widget.
 java.lang.String getDialogWidget(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Generates the widget HTML for the provided widget parameter.
 I_CmsWidget newInstance()
          Creates a duplicate of this widget instance.
protected  java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Returns the select options for the widget, generated from the configured input fields of the XML content.
 void setConfiguration(java.lang.String configuration)
          Sets the configuration of this widget.
 void setEditorValue(CmsObject cms, java.util.Map<java.lang.String,java.lang.String[]> formParameters, I_CmsWidgetDialog widgetDialog, I_CmsWidgetParameter param)
          Sets the value of in the given widget parameter by reading the "right" value from the offered map of parameters.
 
Methods inherited from class org.opencms.widgets.CmsSelectWidget
getWidgetStringValue
 
Methods inherited from class org.opencms.widgets.A_CmsSelectWidget
addSelectOption, getConfiguration, getHeight, getSelectedValue, getSelectedValues, getSelectOptions, setSelectOptions
 
Methods inherited from class org.opencms.widgets.A_CmsWidget
equals, getDialogHtmlEnd, getDialogInitCall, getDialogInitMethod, getHelpBubble, getHelpKey, getHelpText, getJsHelpMouseHandler, getJSIncludeFile, getLabelKey, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONFIGURATION_DEFAULT_ALL

public static final java.lang.String CONFIGURATION_DEFAULT_ALL
Configuration parameter name to use all available groups as default.

See Also:
Constant Field Values
Constructor Detail

CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget()
Creates a new group select widget.


CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget(java.lang.String configuration)
Creates a group select widget with the specified select options.

Parameters:
configuration - the configuration (possible options) for the group select box

CmsMultiSelectGroupWidget

public CmsMultiSelectGroupWidget(java.lang.String configuration,
                                 boolean asCheckboxes)
Creates a select widget with the select options specified in the given configuration List.

The list elements must be of type CmsSelectWidgetOption.

Parameters:
configuration - the configuration (possible options) for the select widget
asCheckboxes - indicates if used html code is a multi selection list or a list of checkboxes
See Also:
CmsSelectWidgetOption
Method Detail

getDialogIncludes

public java.lang.String getDialogIncludes(CmsObject cms,
                                          I_CmsWidgetDialog widgetDialog)
Description copied from interface: I_CmsWidget
Generates the necessary JavaScript inclusion code for this widget.

Specified by:
getDialogIncludes in interface I_CmsWidget
Overrides:
getDialogIncludes in class A_CmsWidget
Parameters:
cms - the current users OpenCms context
widgetDialog - the dialog where the widget is used on
Returns:
the JavaScript inclusion code
See Also:
I_CmsWidget.getDialogIncludes(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog)

getDialogWidget

public java.lang.String getDialogWidget(CmsObject cms,
                                        I_CmsWidgetDialog widgetDialog,
                                        I_CmsWidgetParameter param)
Description copied from interface: I_CmsWidget
Generates the widget HTML for the provided widget parameter.

Specified by:
getDialogWidget in interface I_CmsWidget
Overrides:
getDialogWidget in class CmsSelectWidget
Parameters:
cms - an initialized instance of a CmsObject
widgetDialog - the dialog where the widget is used on
param - the widget parameter to generate the widget for
Returns:
the widget HTML for the provided widget parameter
See Also:
I_CmsWidget.getDialogWidget(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)

newInstance

public I_CmsWidget newInstance()
Description copied from interface: I_CmsWidget
Creates a duplicate of this widget instance.

Specified by:
newInstance in interface I_CmsWidget
Overrides:
newInstance in class CmsSelectGroupWidget
Returns:
a duplicate of this widget instance
See Also:
I_CmsWidget.newInstance()

setConfiguration

public void setConfiguration(java.lang.String configuration)
Description copied from interface: I_CmsWidget
Sets the configuration of this widget.

This can be used to enable / disable certain widget features that should not always be available, or to pass specific initialization information to the widget. It depends on the widget implementation on how this information is used.

Specified by:
setConfiguration in interface I_CmsWidget
Overrides:
setConfiguration in class A_CmsSelectWidget
Parameters:
configuration - the configuration to set
See Also:
A_CmsWidget.setConfiguration(java.lang.String)

setEditorValue

public void setEditorValue(CmsObject cms,
                           java.util.Map<java.lang.String,java.lang.String[]> formParameters,
                           I_CmsWidgetDialog widgetDialog,
                           I_CmsWidgetParameter param)
Description copied from interface: I_CmsWidget
Sets the value of in the given widget parameter by reading the "right" value from the offered map of parameters.

Specified by:
setEditorValue in interface I_CmsWidget
Overrides:
setEditorValue in class A_CmsWidget
Parameters:
cms - the current users OpenCms context
formParameters - the map of parameters to get the value from
widgetDialog - the dialog where the widget is used on
param - the widget parameter to generate the widget for
See Also:
A_CmsWidget.setEditorValue(org.opencms.file.CmsObject, java.util.Map, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)

parseSelectOptions

protected java.util.List<CmsSelectWidgetOption> parseSelectOptions(CmsObject cms,
                                                                   I_CmsWidgetDialog widgetDialog,
                                                                   I_CmsWidgetParameter param)
Returns the select options for the widget, generated from the configured input fields of the XML content.

Overrides:
parseSelectOptions in class CmsSelectGroupWidget
Parameters:
cms - the current users OpenCms context
widgetDialog - the dialog of this widget
param - the widget parameter of this dialog
Returns:
the list of select options
See Also:
A_CmsSelectWidget.parseSelectOptions(org.opencms.file.CmsObject, org.opencms.widgets.I_CmsWidgetDialog, org.opencms.widgets.I_CmsWidgetParameter)