Author: vmolotkov
Date: 2007-11-09 08:24:39 -0500 (Fri, 09 Nov 2007)
New Revision: 3857
Modified:
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
Log:
custom events was added
Modified:
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
===================================================================
---
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-09
13:09:33 UTC (rev 3856)
+++
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-09
13:24:39 UTC (rev 3857)
@@ -47,6 +47,18 @@
private final static String ATTRIBUTE_CONTROLS_TYPE = "controlsType";
+ private final static String ATTRIBUTE_CE_ONORDERCHANGED = "onorderchanged";
+
+ private final static String ATTRIBUTE_CE_ONTOPCLICK = "ontopclick";
+
+ private final static String ATTRIBUTE_CE_ONDOWNCLICK = "ondownclick";
+
+ private final static String ATTRIBUTE_CE_ONUPCLICK = "onupclick";
+
+ private final static String ATTRIBUTE_CE_ONBOTTOMCLICK = "onbottomclick";
+
+ private final static String ATTRIBUTE_CE_ONHEADERCLICK = "onheaderclick";
+
private final static String CONTROL_ID_UP = "_up";
private final static String CONTROL_ID_DOWN = "_down";
@@ -68,10 +80,12 @@
private String idSuffix;
+ private String customEvent;
+
public abstract boolean isRendered(FacesContext context, UIOrderingList list);
public ControlsHelper(String name, String text, String imageURI,
- String facetName, String styleClassName, String idSuffix) {
+ String facetName, String styleClassName, String idSuffix, String customEvent) {
super();
this.name = name;
this.text = text;
@@ -79,6 +93,7 @@
this.facetName = facetName;
this.styleClassName = styleClassName;
this.idSuffix = idSuffix;
+ this.customEvent = customEvent;
}
public String getName() {
@@ -108,7 +123,7 @@
protected static final ControlsHelper[] HELPERS = new ControlsHelper[] {
new ControlsHelper("top", "↟",
OrderingListIconTop.class.getName(), FACET_TOP,
- "rich-ordering-control-top", CONTROL_ID_TOP) {
+ "rich-ordering-control-top", CONTROL_ID_TOP, ATTRIBUTE_CE_ONTOPCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
return list.isFastOrderControlsVisible();
@@ -116,7 +131,7 @@
},
new ControlsHelper("up", "↑",
OrderingListIconUp.class.getName(), FACET_UP,
- "rich-ordering-control-up", CONTROL_ID_UP) {
+ "rich-ordering-control-up", CONTROL_ID_UP, ATTRIBUTE_CE_ONUPCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
return list.isOrderControlsVisible();
@@ -124,7 +139,7 @@
},
new ControlsHelper("down", "↡",
OrderingListIconDown.class.getName(), FACET_DOWN,
- "rich-ordering-control-down", CONTROL_ID_DOWN) {
+ "rich-ordering-control-down", CONTROL_ID_DOWN, ATTRIBUTE_CE_ONDOWNCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
return list.isFastOrderControlsVisible();
@@ -132,7 +147,7 @@
},
new ControlsHelper("botton", "↓",
OrderingListIconBottom.class.getName(), FACET_BOTTOM,
- "rich-ordering-control-bottom", CONTROL_ID_BOTTOM) {
+ "rich-ordering-control-bottom", CONTROL_ID_BOTTOM,
ATTRIBUTE_CE_ONBOTTOMCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
return list.isOrderControlsVisible();
@@ -180,7 +195,7 @@
writer.startElement("tr", orderingList);
encodeStyleClass(writer, null, "dr-table-subheader rich-table-subheader",
null, headerClass);
- encodeHeaderFacets(context, writer, headers, "ol_col
rich-table-subheadercell", headerClass, "header", "th");
+ encodeHeaderFacets(context, writer, headers, "ol_col
rich-table-subheadercell", headerClass, "header", "th",
orderingList);
writer.endElement("tr");
}
@@ -206,8 +221,11 @@
UIComponent facet = orderingList.getFacet(helper.getFacetName());
boolean isButton = false;
boolean useFacet = (facet != null && facet.isRendered());
+ Map attributes = orderingList.getAttributes();
- String controlType = (String)
orderingList.getAttributes().get(ATTRIBUTE_CONTROLS_TYPE);
+ String controlType = (String) attributes.get(ATTRIBUTE_CONTROLS_TYPE);
+ String customEvent = (String) attributes.get(helper.customEvent);
+
String htmlElem = null;
if (CONTROL_TYPE_BUTTON.equals(controlType)) {
isButton = true;
@@ -229,6 +247,9 @@
writer.startElement(htmlElem, orderingList);
writer.writeAttribute(HTML.id_ATTRIBUTE, clientId + helper.getIdSuffix(), null);
writer.writeAttribute(HTML.class_ATTRIBUTE, helper.getStyleClassName(), null);
+ if (customEvent != null) {
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, customEvent, null);
+ }
}
if (useFacet) {
@@ -259,7 +280,7 @@
protected void encodeHeaderFacets(FacesContext context, ResponseWriter writer,
Iterator headers, String skinCellClass,
- String headerClass, String facetName, String element)
+ String headerClass, String facetName, String element, UIOrderingList
orderingList)
throws IOException {
while (headers.hasNext()) {
UIComponent column = (UIComponent) headers.next();
@@ -274,6 +295,10 @@
getUtils().encodeAttribute(context, column, "colspan");
writer.startElement("div", column);
writer.writeAttribute("style", "overflow:hidden;white-space:
nowrap;", null);
+ String onHeaderClickEvent = (String)
orderingList.getAttributes().get(ATTRIBUTE_CE_ONHEADERCLICK);
+ if (onHeaderClickEvent != null) {
+ writer.writeAttribute(HTML.onclick_ATTRIBUTE, onHeaderClickEvent, null);
+ }
UIComponent facet = column.getFacet(facetName);
if (facet != null) {