Author: vmolotkov
Date: 2008-02-05 11:34:30 -0500 (Tue, 05 Feb 2008)
New Revision: 5828
Modified:
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListControlsHelper.java
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
trunk/sandbox/ui/pickList/src/main/resources/org/richfaces/renderkit/html/scripts/PickList.js
Log:
buttons rendering from server side
Modified:
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListControlsHelper.java
===================================================================
---
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListControlsHelper.java 2008-02-05
16:06:05 UTC (rev 5827)
+++
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListControlsHelper.java 2008-02-05
16:34:30 UTC (rev 5828)
@@ -65,10 +65,10 @@
private final static String CONTROL_ID_REMOVE_ALL = "removeAll";
- private final static String DEFAULT_LABEL_COPY_ALL = "Copy all";
+ public final static String DEFAULT_LABEL_COPY_ALL = "Copy all";
private final static String DEFAULT_LABEL_COPY = "Copy";
private final static String DEFAULT_LABEL_REMOVE = "Remove";
- private final static String DEFAULT_LABEL_REMOVE_ALL = "Remove All";
+ public final static String DEFAULT_LABEL_REMOVE_ALL = "Remove All";
protected static final OrderingComponentRendererBase.ControlsHelper[] HELPERS = new
OrderingComponentRendererBase.ControlsHelper[] {
new OrderingComponentRendererBase.ControlsHelper("copyAll",
"COPY_ALL_LABEL", DEFAULT_LABEL_COPY_ALL,
ListShuttleIconCopyAll.class.getName(), FACET_COPY_ALL,
@@ -91,7 +91,7 @@
},
new OrderingComponentRendererBase.ControlsHelper("copy",
"COPY_LABEL", DEFAULT_LABEL_COPY, ListShuttleIconCopy.class.getName(),
FACET_COPY,
"-copy", ATTRIBUTE_CLASS_COPY_CONTROL, "",
- CONTROL_ID_COPY, ATTRIBUTE_CE_ONCOPYCLICK ,true,
"copy".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
+ CONTROL_ID_COPY, ATTRIBUTE_CE_ONCOPYCLICK ,false,
"copy".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
public boolean isRendered(FacesContext context, UIOrderingBaseComponent list) {
return true;
@@ -100,7 +100,7 @@
},
new OrderingComponentRendererBase.ControlsHelper("disabledCopy",
"COPY_LABEL", DEFAULT_LABEL_COPY, ListShuttleIconCopyDisabled.class.getName(),
FACET_DIS_COPY,
"-disabled", ATTRIBUTE_CLASS_DISABLED_CONTROL, "-disabled",
- DIS_CONTROL_ID_PREFIX.concat(CONTROL_ID_COPY), null, false,
"copy".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
+ DIS_CONTROL_ID_PREFIX.concat(CONTROL_ID_COPY), null, true,
"copy".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
public boolean isRendered(FacesContext context, UIOrderingBaseComponent list) {
return true;
@@ -109,7 +109,7 @@
},
new OrderingComponentRendererBase.ControlsHelper("remove",
"REMOVE_LABEL", DEFAULT_LABEL_REMOVE, ListShuttleIconRemove.class.getName(),
FACET_REMOVE,
"-remove", ATTRIBUTE_CLASS_REMOVE_CONTROL, "",
- CONTROL_ID_REMOVE, ATTRIBUTE_CE_ONREMOVECLICK, true,
"remove".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
+ CONTROL_ID_REMOVE, ATTRIBUTE_CE_ONREMOVECLICK, false,
"remove".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
public boolean isRendered(FacesContext context, UIOrderingBaseComponent list) {
return true;
@@ -118,7 +118,7 @@
},
new OrderingComponentRendererBase.ControlsHelper("disabledRemove",
"REMOVE_LABEL", DEFAULT_LABEL_REMOVE,
ListShuttleIconRemoveDisabled.class.getName(), FACET_DIS_REMOVE,
"-disabled", ATTRIBUTE_CLASS_DISABLED_CONTROL, "-disabled",
- DIS_CONTROL_ID_PREFIX.concat(CONTROL_ID_REMOVE), null, false,
"remove".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
+ DIS_CONTROL_ID_PREFIX.concat(CONTROL_ID_REMOVE), null, true,
"remove".concat(OrderingComponentControlsHelper.CONTROL_LABEL_ATTRIBUTE_SUFFIX))
{
public boolean isRendered(FacesContext context, UIOrderingBaseComponent list) {
return true;
Modified:
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
===================================================================
---
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2008-02-05
16:06:05 UTC (rev 5827)
+++
trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java 2008-02-05
16:34:30 UTC (rev 5828)
@@ -51,6 +51,8 @@
protected static final OrderingComponentRendererBase.ControlsHelper[] SHUTTLE_HELPERS
= ListShuttleControlsHelper.HELPERS;
protected final static String SHOW_LABELS_ATTRIBUTE_NAME =
"showButtonLabels";
private static final String MESSAGE_BUNDLE_NAME =
OrderingListRendererBase.class.getPackage().getName() + "ListShuttle";
+ private boolean isSelectedList;
+ private boolean isAvailableList;
protected List selectItemsForSelectedList(FacesContext facesContext,UIComponent
uiComponent, List selectItemList, Converter converter, Set lookupSet) {
List selectItemForSelectedValues = new ArrayList(lookupSet.size());
@@ -165,7 +167,8 @@
Set lookupSet = PickListUtils.getSubmittedOrSelectedValuesAsSet(true, component,
context, converter);
List selectItemsForSelectedValues = selectItemsForSelectedList(context, component,
selectItemsList, converter, lookupSet); //TODO: optimaze
List selectItemsForAvailableList = selectItemsForAvailableList(context, component,
selectItemsList, selectItemsForSelectedValues, converter);
-
+ isSelectedList = !selectItemsForSelectedValues.isEmpty();
+ isAvailableList = !selectItemsForAvailableList.isEmpty();
List selectItemList = null;
if (source) {
selectItemList = selectItemsForAvailableList;
@@ -376,10 +379,22 @@
ResponseWriter writer = context.getResponseWriter();
int divider = SHUTTLE_HELPERS.length / 2;
-
+ boolean enable;
for (int i = 0; i < SHUTTLE_HELPERS.length; i++) {
- encodeControlFacet(context, component, SHUTTLE_HELPERS[i], clientId, writer,
true,
- "rich-list-picklist-button", " rich-picklist-control");
+ OrderingComponentRendererBase.ControlsHelper helper = SHUTTLE_HELPERS[i];
+ if
(helper.getDefaultText().equals(PickListControlsHelper.DEFAULT_LABEL_REMOVE_ALL)) {
+ enable = isSelectedList;
+ } else if
(helper.getDefaultText().equals(PickListControlsHelper.DEFAULT_LABEL_COPY_ALL)) {
+ enable = isAvailableList;
+ } else {
+ if
(helper.getButtonStyleClass().equals(OrderingComponentControlsHelper.DISABLED_STYLE_PREF))
{
+ enable = true;
+ } else {
+ enable = false;
+ }
+ }
+ encodeControlFacet(context, component, SHUTTLE_HELPERS[i], clientId, writer,
enable,
+ "rich-list-picklist-button", "
rich-picklist-control");
}
}
Modified:
trunk/sandbox/ui/pickList/src/main/resources/org/richfaces/renderkit/html/scripts/PickList.js
===================================================================
---
trunk/sandbox/ui/pickList/src/main/resources/org/richfaces/renderkit/html/scripts/PickList.js 2008-02-05
16:06:05 UTC (rev 5827)
+++
trunk/sandbox/ui/pickList/src/main/resources/org/richfaces/renderkit/html/scripts/PickList.js 2008-02-05
16:34:30 UTC (rev 5828)
@@ -4,7 +4,7 @@
initialize : function($super, targetList, sourceList, clientId, controlIds,
switchByClick, sourceLayoutManager, targetLayoutManager, onlistchanged, valueKeeperId) {
$super(targetList, sourceList, clientId, controlIds, switchByClick,
sourceLayoutManager, targetLayoutManager, onlistchanged);
this.valueKeeper = $(valueKeeperId);
- this.controlListManager();
+ //this.controlListManager();
},
moveItems : function($super, sourceComponent, targetComponent, items) {