You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2008/01/22 15:30:42 UTC
svn commit: r614207 - in /myfaces/tobago/trunk:
core/src/main/java/org/apache/myfaces/tobago/renderkit/html/
core/src/main/java/org/apache/myfaces/tobago/taglib/decl/
sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/t...
Author: lofwyr
Date: Tue Jan 22 06:30:40 2008
New Revision: 614207
URL: http://svn.apache.org/viewvc?rev=614207&view=rev
Log:
TOBAGO-590: Drag and Drop: first steps
Added:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java (contents, props changed)
- copied, changed from r610790, myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java
myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlRendererUtil.java Tue Jan 22 06:30:40 2008
@@ -719,4 +719,79 @@
strBuilder.append("]");
return strBuilder.toString();
}
+
+ public static void renderDojoDndSource(UIComponent component, TobagoResponseWriter writer, String clientId) throws IOException {
+ Object objDojoType = component.getAttributes().get("dojoType");
+ if (null != objDojoType && (objDojoType.equals("dojo.dnd.Source") || objDojoType.equals("dojo.dnd.Target"))) {
+ ComponentUtil.addOnloadCommands(component, createDojoDndType(component, clientId, String.valueOf(objDojoType)));
+ }
+ }
+
+ public static void renderDojoDndItem(UIComponent component, TobagoResponseWriter writer, boolean addStyle) throws IOException {
+ Object objDndType = component.getAttributes().get("dndType");
+ if (objDndType != null) {
+ writer.writeAttribute("dndType", String.valueOf(objDndType), false);
+ }
+ Object objDndData = component.getAttributes().get("dndData");
+ if (objDndData != null) {
+ writer.writeAttribute("dndData", String.valueOf(objDndData), false);
+ }
+ if (addStyle && (null != objDndType || null != objDndData)) {
+ ComponentUtil.setStyleClasses(component, "dojoDndItem");
+ }
+ }
+
+ public static String[] createDojoDndType(UIComponent component, String clientId, String dojoType){
+ StringBuilder strBuilder = new StringBuilder();
+ strBuilder.append("new " + dojoType + "('" + clientId + "'");
+ StringBuilder parameter = new StringBuilder();
+
+ Object objHorizontal = component.getAttributes().get("horizontal");
+ if(objHorizontal != null){
+ parameter.append("horizontal: " + String.valueOf(objHorizontal) + ",");
+ }
+ Object objCopyOnly = component.getAttributes().get("copyOnly");
+ if(objCopyOnly != null){
+ parameter.append("copyOnly: " + String.valueOf(objCopyOnly) + ",");
+ }
+ Object objSkipForm = component.getAttributes().get("skipForm");
+ if(objSkipForm != null){
+ parameter.append("skipForm: " + String.valueOf(objSkipForm) + ",");
+ }
+ Object objWithHandles = component.getAttributes().get("withHandles");
+ if(objWithHandles != null){
+ parameter.append("withHandles: " + String.valueOf(objWithHandles) + ",");
+ }
+ Object objAccept = component.getAttributes().get("accept");
+ if(objAccept != null){
+ String accept = null;
+ if(objAccept instanceof String[]){
+ String[] allowed = (String[])objAccept;
+ if (allowed.length > 1) {
+ accept = "'" + allowed[0] + "'";
+ for (int i=1; i < allowed.length; i++) {
+ accept += ",'" + allowed[i] + "'";
+ }
+ }
+ } else {
+ accept = (String)objAccept;
+ }
+ parameter.append("accept: [" + accept + "],");
+ }
+ Object objSingular = component.getAttributes().get("singular");
+ if(objSingular != null){
+ parameter.append("singular: " + String.valueOf(objSingular) + ",");
+ }
+ Object objCreator = component.getAttributes().get("creator");
+ if(objCreator != null){
+ parameter.append("creator: " + String.valueOf(objCreator) + ",");
+ }
+ if(parameter.length() > 0){
+ parameter.deleteCharAt(parameter.lastIndexOf(","));
+ strBuilder.append(",{" + parameter + "}");
+ }
+ strBuilder.append(");");
+ String[] cmd = {strBuilder.toString()};
+ return cmd;
+ }
}
Copied: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java (from r610790, myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java?p2=myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java&p1=myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java&r1=610790&r2=614207&rev=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/HasMarkup.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java Tue Jan 22 06:30:40 2008
@@ -20,17 +20,20 @@
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
-/*
- * User: bommel
- * Date: Jan 19, 2007
- * Time: 9:51:30 PM
- */
-public interface HasMarkup {
+public interface IsDraggable {
+
/**
- * Indicate markup of this component.
+ * Draggable components are the source components of the drag-and-drop feature.
+ */
+ @TagAttribute
+ @UIComponentTagAttribute(type = "java.lang.Boolean", defaultValue = "false")
+ void setDraggable(String draggable);
+
+ /**
+ * Indicate draggable of this component.
* Possible value is 'none'. But this can be overridden in the theme.
*/
@TagAttribute
- @UIComponentTagAttribute(defaultValue = "none")
- void setMarkup(String markup);
+ @UIComponentTagAttribute(type = "java.lang.String[]")
+ void setDragNames(String draggable);
}
Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/taglib/decl/IsDraggable.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified: myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java (original)
+++ myfaces/tobago/trunk/sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TreeNodeRenderer.java Tue Jan 22 06:30:40 2008
@@ -143,6 +143,9 @@
// div id
writer.writeIdAttribute(id);
+ if (!isFolder) {
+ HtmlRendererUtil.renderDojoDndItem(node, writer, true);
+ }
// div class (css)
StyleClasses styleClasses = StyleClasses.ensureStyleClasses(node);
@@ -164,7 +167,7 @@
}
String widthString;
if (width != null) {
- widthString = "width: " + Integer.toString(width - 4); // fixme: 4
+ widthString = "width: " + Integer.toString(width - 22); // fixme: 4 + 18 for scrollbar
} else {
widthString = "100%";
}
@@ -175,7 +178,7 @@
}
if (isFolder && menuMode) {
- encodeMenuIcon(facesContext, writer, treeId, id, expanded);
+ encodeMenuIcon(facesContext, writer, treeId, id, expanded, node);
}
encodeIndent(facesContext, writer, menuMode, junctions);
@@ -223,12 +226,17 @@
}
private void encodeMenuIcon(
- FacesContext facesContext, TobagoResponseWriter writer, String treeId, String id, boolean expanded)
+ FacesContext facesContext, TobagoResponseWriter writer, String treeId, String id, boolean expanded,
+ UIComponent node)
throws IOException {
String menuOpen = ResourceManagerUtil.getImageWithPath(facesContext, "image/treeMenuOpen.gif");
String menuClose = ResourceManagerUtil.getImageWithPath(facesContext, "image/treeMenuClose.gif");
String onclick = "tobagoTreeNodeToggle(this.parentNode, '" + treeId + "', null, null, '"
+ menuOpen + "', '" + menuClose + "')";
+ Object objOnclick = node.getAttributes().get("onclick");
+ if (null != objOnclick) {
+ onclick += ";" + objOnclick;
+ }
String src = expanded ? menuOpen : menuClose;
writer.startElement(IMG, null);
writer.writeClassAttribute("tobago-tree-menu-icon");
@@ -371,6 +379,7 @@
String label = (String) node.getAttributes().get(ATTR_LABEL);
if (label == null) {
LOG.warn("label == null");
+ label = "label";
}
writer.writeText(label);
if (helper.isDisabled()) {
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ButtonRenderer.java Tue Jan 22 06:30:40 2008
@@ -87,6 +87,7 @@
writer.writeAttribute(HtmlAttributes.ONCLICK, helper.getOnclick(), true);
}
writer.writeStyleAttribute();
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.flush(); // force closing the start tag
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/CalendarRenderer.java Tue Jan 22 06:30:40 2008
@@ -96,6 +96,7 @@
writer.startElement(HtmlConstants.TABLE, component);
writer.writeIdAttribute(id);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.writeAttribute(HtmlAttributes.CELLSPACING, 0);
writer.writeAttribute(HtmlAttributes.CELLPADDING, 3);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ImageRenderer.java Tue Jan 22 06:30:40 2008
@@ -102,8 +102,11 @@
writer.writeAttribute(HtmlAttributes.BORDER, border, false);
writer.writeAttributeFromComponent(HtmlAttributes.HEIGHT, ATTR_HEIGHT);
writer.writeStyleAttribute();
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.endElement(HtmlConstants.IMG);
+
+ HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
}
private String createSrc(String src, String ext) {
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java Tue Jan 22 06:30:40 2008
@@ -24,11 +24,14 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import static org.apache.myfaces.tobago.TobagoConstants.*;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_DISABLED;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_PASSWORD;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_READONLY;
+import static org.apache.myfaces.tobago.TobagoConstants.ATTR_REQUIRED;
import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
-import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_ERROR;
import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
+import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
import org.apache.myfaces.tobago.component.ComponentUtil;
import org.apache.myfaces.tobago.component.UIInput;
import org.apache.myfaces.tobago.component.UIPage;
@@ -117,6 +120,7 @@
String rendererName = HtmlRendererUtil.getRendererName(facesContext, input);
styleClasses.removeAspectClass(rendererName, StyleClasses.Aspect.REQUIRED);
}
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
/*if (component instanceof UIInput) {
String onchange = HtmlUtils.generateOnchange((UIInput) component, facesContext);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LabelRenderer.java Tue Jan 22 06:30:40 2008
@@ -82,14 +82,15 @@
createClassAttribute(component);
TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
-
+
+ String clientId = output.getClientId(facesContext);
writer.startElement(HtmlConstants.DIV, output);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.writeStyleAttribute();
writer.startElement(HtmlConstants.A, output);
writer.writeClassAttribute();
writer.startElement(HtmlConstants.LABEL, output);
- String clientId = output.getClientId(facesContext);
writer.writeIdAttribute(clientId);
if (forValue != null) {
writer.writeAttribute(HtmlAttributes.FOR, forValue, false);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/LinkRenderer.java Tue Jan 22 06:30:40 2008
@@ -81,6 +81,7 @@
writer.writeAttribute(HtmlAttributes.TABINDEX, tabIndex);
}
}
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.writeIdAttribute(clientId);
writer.writeNameAttribute(clientId);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/MenuBarRenderer.java Tue Jan 22 06:30:40 2008
@@ -88,6 +88,7 @@
writer.startElement(HtmlConstants.DIV, component);
writer.writeIdAttribute(clientId);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
StyleClasses styleClasses = StyleClasses.ensureStyleClasses(component);
if (ComponentUtil.getBooleanAttribute(component, ATTR_PAGE_MENU)) {
styleClasses.addClass("menuBar", "page-facet"); // XXX not a standard compliant name
@@ -95,6 +96,7 @@
writer.writeStyleAttribute();
}
writer.writeClassAttribute(styleClasses);
+
/*
writer.startElement(HtmlConstants.SPAN);
@@ -106,6 +108,7 @@
writer.endElement(HtmlConstants.SPAN);
*/
+ HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
writer.endElement(HtmlConstants.DIV);
}
attributes.put(MENU_ACCELERATOR_KEYS, new ArrayList<String>());
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/OutRenderer.java Tue Jan 22 06:30:40 2008
@@ -54,6 +54,7 @@
writer.startElement(HtmlConstants.SPAN, component);
writer.writeIdAttribute(id);
writer.writeStyleAttribute();
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
HtmlRendererUtil.renderTip(component, writer);
}
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PageRenderer.java Tue Jan 22 06:30:40 2008
@@ -358,6 +358,8 @@
writer.writeJavascript("TbgTimer.startBody = new Date();");
//}
+ HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
+
writer.startElement(HtmlConstants.FORM, page);
writer.writeNameAttribute(
clientId + SUBCOMPONENT_SEP + "form");
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/PanelRenderer.java Tue Jan 22 06:30:40 2008
@@ -28,9 +28,9 @@
import static org.apache.myfaces.tobago.TobagoConstants.FACET_LAYOUT;
import static org.apache.myfaces.tobago.TobagoConstants.FACET_RELOAD;
import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
-import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
-import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_NOT_MODIFIED;
+import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
+import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
import org.apache.myfaces.tobago.component.ComponentUtil;
import org.apache.myfaces.tobago.component.UIPanel;
import org.apache.myfaces.tobago.component.UIReload;
@@ -129,8 +129,10 @@
String clientId = component.getClientId(facesContext);
TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
writer.startElement(HtmlConstants.DIV, component);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.writeIdAttribute(clientId);
+ HtmlRendererUtil.renderDojoDndSource(component, writer, clientId);
if (TobagoConfig.getInstance(facesContext).isAjaxEnabled()) {
// writer.writeJavascript("Tobago.addAjaxComponent(\"" + clientId + "\")");
Integer frequency = null;
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TabGroupRenderer.java Tue Jan 22 06:30:40 2008
@@ -165,6 +165,8 @@
writer.startElement(HtmlConstants.DIV, null);
writer.writeIdAttribute(clientId);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, false);
+ writer.writeClassAttribute("dojoDndItem");
renderTabGroupView(facesContext, writer, component, virtualTab,
(HtmlStyleMap) component.getAttributes().get(ATTR_STYLE),
switchType, image1x1);
@@ -235,7 +237,6 @@
writer.writeIdAttribute(clientId + '.' + virtualTab);
writer.writeStyleAttribute(oStyle);
-
writer.startElement(HtmlConstants.TR, null);
writer.writeAttribute(HtmlAttributes.VALIGN, "bottom", false);
@@ -257,18 +258,23 @@
// tool bar
UICommand scrollLeft = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+ scrollLeft.setId(facesContext.getViewRoot().createUniqueId());
scrollLeft.setRendererType(null);
scrollLeft.getAttributes().put(ATTR_LABEL, "<");
UICommand scrollRight = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+ scrollRight.setId(facesContext.getViewRoot().createUniqueId());
scrollRight.setRendererType(null);
scrollRight.getAttributes().put(ATTR_LABEL, ">");
UICommand commandList = (UICommand) application.createComponent(UICommand.COMPONENT_TYPE);
+ commandList.setId(facesContext.getViewRoot().createUniqueId());
commandList.setRendererType(null);
UIMenu menu = (UIMenu) application.createComponent(UIMenu.COMPONENT_TYPE);
+ menu.setId(facesContext.getViewRoot().createUniqueId());
menu.setRendererType(null);
commandList.getFacets().put("menupopup", menu);
// commandList.getAttributes().put(ATTR_LABEL, "Direct Link");
UIToolBar toolBar = (UIToolBar) application.createComponent(UIToolBar.COMPONENT_TYPE);
+ toolBar.setId(facesContext.getViewRoot().createUniqueId());
toolBar.setRendererType("ToolBar");
toolBar.setTransient(true);
toolBar.getChildren().add(scrollLeft);
@@ -355,6 +361,7 @@
// tool bar
UIMenuCommand menuItem = (UIMenuCommand) application.createComponent(UIMenuCommand.COMPONENT_TYPE);
+ menuItem.setId(facesContext.getViewRoot().createUniqueId());
menuItem.setRendererType("MenuCommand");
if (onclick != null) {
menuItem.getAttributes().put(ATTR_ONCLICK, onclick);
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/TextAreaRenderer.java Tue Jan 22 06:30:40 2008
@@ -73,6 +73,7 @@
if (tabIndex != null) {
writer.writeAttribute(HtmlAttributes.TABINDEX, tabIndex);
}
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeStyleAttribute();
writer.writeClassAttribute();
if (onchange != null) {
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/ToolBarRenderer.java Tue Jan 22 06:30:40 2008
@@ -88,9 +88,12 @@
setToolBarHeight(facesContext, uiComponent);
writer.startElement(HtmlConstants.DIV, toolbar);
- writer.writeIdAttribute(toolbar.getClientId(facesContext));
+ String clientId = toolbar.getClientId(facesContext);
+ writer.writeIdAttribute(clientId);
+ HtmlRendererUtil.renderDojoDndItem(toolbar, writer, true);
writer.writeClassAttribute();
writer.writeStyleAttribute();
+ HtmlRendererUtil.renderDojoDndSource(toolbar, writer, clientId);
writer.startElement(HtmlConstants.DIV, toolbar);
boolean right = false;
if (toolbar instanceof UIToolBar) {
Modified: myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java?rev=614207&r1=614206&r2=614207&view=diff
==============================================================================
--- myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java (original)
+++ myfaces/tobago/trunk/theme/speyside/src/main/java/org/apache/myfaces/tobago/renderkit/html/speyside/standard/tag/BoxRenderer.java Tue Jan 22 06:30:40 2008
@@ -24,7 +24,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
import static org.apache.myfaces.tobago.TobagoConstants.ATTR_ICON_SIZE;
import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL;
import static org.apache.myfaces.tobago.TobagoConstants.ATTR_LABEL_POSITION;
@@ -32,7 +31,9 @@
import static org.apache.myfaces.tobago.TobagoConstants.ATTR_SUPPPRESS_TOOLBAR_CONTAINER;
import static org.apache.myfaces.tobago.TobagoConstants.FACET_LABEL;
import static org.apache.myfaces.tobago.TobagoConstants.FACET_TOOL_BAR;
+import static org.apache.myfaces.tobago.TobagoConstants.SUBCOMPONENT_SEP;
import org.apache.myfaces.tobago.ajax.api.AjaxRenderer;
+import static org.apache.myfaces.tobago.ajax.api.AjaxResponse.CODE_SUCCESS;
import org.apache.myfaces.tobago.ajax.api.AjaxUtils;
import org.apache.myfaces.tobago.component.SupportsMarkup;
import org.apache.myfaces.tobago.renderkit.BoxRendererBase;
@@ -53,7 +54,9 @@
public class BoxRenderer extends BoxRendererBase implements AjaxRenderer {
private static final Log LOG = LogFactory.getLog(BoxRenderer.class);
-
+ public static final String CONTENT_INNER = SUBCOMPONENT_SEP + "content-inner";
+ public static final String HEADER = SUBCOMPONENT_SEP + "header";
+
public int getFixedHeight(FacesContext facesContext, UIComponent component) {
return super.getFixedHeight(facesContext, component);
}
@@ -72,13 +75,14 @@
String clientId = component.getClientId(facesContext);
writer.startElement(HtmlConstants.DIV, component);
+ HtmlRendererUtil.renderDojoDndItem(component, writer, true);
writer.writeClassAttribute();
writer.writeIdAttribute(clientId);
if (style != null) {
writer.writeStyleAttribute(style);
}
writer.writeJavascript("Tobago.addAjaxComponent(\"" + clientId + "\")");
-
+
encodeBeginInner(facesContext, writer, component);
}
@@ -98,13 +102,17 @@
writer.writeClassAttribute(contentClasses);
writer.startElement(HtmlConstants.DIV, component);
+ String id = component.getClientId(facesContext) + CONTENT_INNER;
+ writer.writeIdAttribute(id);
StyleClasses contentInnerClasses = new StyleClasses();
contentInnerClasses.addClass("box", "content-inner");
+ contentInnerClasses.addFullQualifiedClass("dojoDndItem");
if (component instanceof SupportsMarkup) {
contentInnerClasses.addMarkupClass((SupportsMarkup) component, "box", "content-inner");
}
writer.writeClassAttribute(contentInnerClasses);
writer.writeStyleAttribute(innerStyle);
+ HtmlRendererUtil.renderDojoDndSource(component, writer, id);
}
@@ -118,6 +126,8 @@
headerClasses.addMarkupClass((SupportsMarkup) component, "box", "header");
}
writer.writeClassAttribute(headerClasses);
+ String id = component.getClientId(facesContext) + HEADER;
+ writer.writeIdAttribute(id);
UIComponent label = component.getFacet(FACET_LABEL);
writer.startElement(HtmlConstants.SPAN, null);
writer.writeClassAttribute("tobago-box-header-label");
@@ -140,9 +150,7 @@
public void encodeEnd(FacesContext facesContext,
UIComponent component) throws IOException {
TobagoResponseWriter writer = HtmlRendererUtil.getTobagoResponseWriter(facesContext);
-
encodeEndInner(writer);
-
writer.endElement(HtmlConstants.DIV);
}