diff --git a/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/util/SelectionActionsBean.java b/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/util/SelectionActionsBean.java index b65aa59..720f431 100644 --- a/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/util/SelectionActionsBean.java +++ b/nuxeo-platform-ui-web/src/main/java/org/nuxeo/ecm/platform/ui/web/util/SelectionActionsBean.java @@ -330,6 +330,10 @@ public class SelectionActionsBean implements Serializable { * Must pass request parameters "selectorId" holding the id of component * holding the value to pass to the other component, and "valueHolderId" * holding the other component id. + *

+ * Since 5.6, selection is retrieved from submitted value if component is + * an instance of {@link EditableValueHolder}, and defaults its value if + * submitted value is null. * * @since 5.5 * @param event @@ -339,7 +343,14 @@ public class SelectionActionsBean implements Serializable { ValueHolder selectComp = ComponentUtils.getComponent(eventComp, selectorId, ValueHolder.class); if (selectComp != null) { - Object value = selectComp.getValue(); + Object value = null; + if (selectComp instanceof EditableValueHolder) { + EditableValueHolder editComp = (EditableValueHolder) selectComp; + value = editComp.getSubmittedValue(); + } + if (value == null) { + value = selectComp.getValue(); + } ValueHolder valueHolderComp = ComponentUtils.getComponent( eventComp, valueHolderId, ValueHolder.class); if (valueHolderComp != null) { diff --git a/nuxeo-platform-webapp-base/src/main/resources/OSGI-INF/ecm-types-contrib.xml b/nuxeo-platform-webapp-base/src/main/resources/OSGI-INF/ecm-types-contrib.xml index f3b9c0e..0140d49 100644 --- a/nuxeo-platform-webapp-base/src/main/resources/OSGI-INF/ecm-types-contrib.xml +++ b/nuxeo-platform-webapp-base/src/main/resources/OSGI-INF/ecm-types-contrib.xml @@ -138,6 +138,7 @@ Note + webc_ws heading