Author: vmolotkov
Date: 2007-11-23 12:01:25 -0500 (Fri, 23 Nov 2007)
New Revision: 4231
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAll.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAllDisabled.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyDisabled.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAll.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAllDisabled.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveDisabled.java
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/config/component/listShuttle.xml
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
Log:
controls for target list
Modified: branches/3.1.x/sandbox/ui/listShuttle/src/main/config/component/listShuttle.xml
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/config/component/listShuttle.xml 2007-11-23
16:58:25 UTC (rev 4230)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/config/component/listShuttle.xml 2007-11-23
17:01:25 UTC (rev 4231)
@@ -58,5 +58,21 @@
<name>value</name>
</property>
+ <property>
+ <name>orderControlsVisible</name>
+ <classname>boolean</classname>
+ <description>
+ If false – 'Up' and 'Down' controls shouldn't be
displayed.
+ </description>
+ <defaultvalue>true</defaultvalue>
+ </property>
+ <property>
+ <name>fastOrderControlsVisible</name>
+ <classname>boolean</classname>
+ <description>
+ If false 'Top' and 'Bottom' controls aren’t displayed.
+ </description>
+ <defaultvalue>true</defaultvalue>
+ </property>
</component>
</components>
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2007-11-23
16:58:25 UTC (rev 4230)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/ListShuttleRendererBase.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -13,9 +13,12 @@
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.component.UIDataAdaptor;
+import org.ajax4jsf.renderkit.ComponentVariables;
+import org.ajax4jsf.renderkit.ComponentsVariableResolver;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.richfaces.component.UIListShuttle;
import org.richfaces.component.UIOrderingBaseComponent;
+import org.richfaces.component.UIOrderingList;
/**
* @author Nick Belaevski
@@ -27,7 +30,10 @@
public final static String FACET_TARGET_CAPTION = "targetCaption";
-
+ protected static final OrderingComponentRendererBase.ControlsHelper[] SHUTTLE_HELPERS =
OrderingComponentControlsHelper.HELPERS;
+
+ protected static final OrderingComponentRendererBase.ControlsHelper[] TL_HELPERS =
OrderingComponentControlsHelper.HELPERS;
+
private static final String MESSAGE_BUNDLE_NAME =
OrderingListRendererBase.class.getPackage().getName() + "ListShuttle";
private static class ListShuttleRendererTableHolder extends TableHolder {
@@ -64,9 +70,6 @@
public void encodeSLCaption(FacesContext context, UIListShuttle shuttle) throws
IOException {
encodeCaption(context, shuttle, FACET_SOURCE_CAPTION, "ol_label ol_out_label
rich-ordering-list-caption");
}
- public void encodeTLControlsFacets(FacesContext context, UIListShuttle shuttle) {
-
- }
public void encodeSLHeader(FacesContext context, UIOrderingBaseComponent shuttle) throws
IOException {
encodeHeader(context, shuttle, "rich-table-header", "ol_col
rich-table-header-cell", "sourceHeaderClass");
}
@@ -121,4 +124,43 @@
doEncodeChildren(writer, context, component);
}
}
+
+ public void encodeShuttleControlsFacets(FacesContext context, UIOrderingBaseComponent
component)
+ throws IOException {
+ String clientId = component.getClientId(context);
+ encodeControlsFacets(context, component, SHUTTLE_HELPERS, clientId);
+ }
+
+ public void encodeTLControlsFacets(FacesContext context, UIOrderingBaseComponent
component)
+ throws IOException {
+ String clientId = component.getClientId(context) + "targetList";
+ encodeControlsFacets(context, component, TL_HELPERS, clientId);
+ }
+
+ protected void encodeControlsFacets(FacesContext context, UIOrderingBaseComponent
component, OrderingComponentRendererBase.ControlsHelper[] helpers ,String clientId)
+ throws IOException {
+ ResponseWriter writer = context.getResponseWriter();
+
+ //proper assumption about helpers ordering
+ int divider = helpers.length / 2;
+
+ ComponentVariables variables = ComponentsVariableResolver.getVariables(this,
component);
+ //OrderingListSelectionState selectionState = (OrderingListSelectionState)
variables.getVariable(SELECTION_STATE_VAR_NAME);
+
+ for (int i = 0; i < helpers.length; i++) {
+ //boolean boundarySelection = i < divider ? selectionState.isFirstSelected() :
selectionState.isLastSelected();
+ //boolean enabled = selectionState.isSelected() && !boundarySelection;
+ boolean enabled = true;
+ if (i % 2 == 1) {
+ enabled = !enabled;
+ }
+
+ if (helpers[i].isRendered(context, component)) {
+ //proper assumption about helpers ordering
+ encodeControlFacet(context, component, helpers[i], clientId, writer, enabled);
+ }
+ }
+ }
+
+
}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,18 @@
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+
+public class ListShuttleIconCopy extends OrderingListIconUp {
+ protected void paintImage(ResourceContext context, Graphics2D g2d,
+ Color textColor, Color borderColor) {
+
+ g2d.translate(0, 14);
+ g2d.scale(1, 0);
+
+ super.paintImage(context, g2d, textColor, borderColor);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAll.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAll.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAll.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,17 @@
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+public class ListShuttleIconCopyAll extends OrderingListIconBottom {
+ protected void paintImage(ResourceContext context, Graphics2D g2d,
+ Color textColor, Color borderColor) {
+
+ g2d.translate(0, 14);
+ g2d.scale(1, 0);
+
+ super.paintImage(context, g2d, textColor, borderColor);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAllDisabled.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAllDisabled.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyAllDisabled.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,9 @@
+package org.richfaces.renderkit.html.images;
+
+import javax.faces.context.FacesContext;
+
+public class ListShuttleIconCopyAllDisabled extends OrderingListIconBottom {
+ protected Object getDataToStore(FacesContext context, Object data) {
+ return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR,
DISABLED_BORDER_COLOR);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyDisabled.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyDisabled.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopyDisabled.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,9 @@
+package org.richfaces.renderkit.html.images;
+
+import javax.faces.context.FacesContext;
+
+public class ListShuttleIconCopyDisabled extends OrderingListIconUp {
+ protected Object getDataToStore(FacesContext context, Object data) {
+ return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR,
DISABLED_BORDER_COLOR);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,17 @@
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+public class ListShuttleIconRemove extends OrderingListIconUp {
+ protected void paintImage(ResourceContext context, Graphics2D g2d,
+ Color textColor, Color borderColor) {
+
+ g2d.translate(0, 14);
+ g2d.scale(1, 0);
+
+ super.paintImage(context, g2d, textColor, borderColor);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAll.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAll.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAll.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,17 @@
+package org.richfaces.renderkit.html.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+public class ListShuttleIconRemoveAll extends OrderingListIconTop {
+ protected void paintImage(ResourceContext context, Graphics2D g2d,
+ Color textColor, Color borderColor) {
+
+ g2d.translate(0, 14);
+ g2d.scale(1, 0);
+
+ super.paintImage(context, g2d, textColor, borderColor);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAllDisabled.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAllDisabled.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveAllDisabled.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,9 @@
+package org.richfaces.renderkit.html.images;
+
+import javax.faces.context.FacesContext;
+
+public class ListShuttleIconRemoveAllDisabled extends OrderingListIconTop {
+ protected Object getDataToStore(FacesContext context, Object data) {
+ return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR,
DISABLED_BORDER_COLOR);
+ }
+}
Added:
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveDisabled.java
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveDisabled.java
(rev 0)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemoveDisabled.java 2007-11-23
17:01:25 UTC (rev 4231)
@@ -0,0 +1,9 @@
+package org.richfaces.renderkit.html.images;
+
+import javax.faces.context.FacesContext;
+
+public class ListShuttleIconRemoveDisabled extends OrderingListIconUp {
+ protected Object getDataToStore(FacesContext context, Object data) {
+ return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR,
DISABLED_BORDER_COLOR);
+ }
+}
Modified:
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx
===================================================================
---
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2007-11-23
16:58:25 UTC (rev 4230)
+++
branches/3.1.x/sandbox/ui/listShuttle/src/main/templates/org/richfaces/htmlListShuttle.jspx 2007-11-23
17:01:25 UTC (rev 4231)
@@ -103,14 +103,7 @@
</td>
<td class="ol_center_button_col_valign">
<div class="ol_button_layout">
- <a id="#{clientId}targetListfirst"
href="#">top</a><br/>
- <a id="#{clientId}targetListdisfirst"
href="#">disTop</a><br/>
- <a id="#{clientId}targetListup"
href="#">up</a><br/>
- <a id="#{clientId}targetListdisup"
href="#">disUp</a><br/>
- <a id="#{clientId}targetListdown"
href="#">down</a><br/>
- <a id="#{clientId}targetListdisdown"
href="#">disDown</a><br/>
- <a id="#{clientId}targetListlast"
href="#">bottom</a><br/>
- <a id="#{clientId}targetListdislast"
href="#">disBottom</a>
+ <f:call name="encodeTLControlsFacets" />
</div>
</td>
</tr>