[jboss-svn-commits] JBL Code SVN: r5979 - in labs/jbosslabs/trunk/portal-extensions/portal-dnd: dndRenderer.war/js/portal src/java/org/jboss/portal/core/theme/render/impl
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Aug 24 18:10:08 EDT 2006
Author: szimano
Date: 2006-08-24 18:10:06 -0400 (Thu, 24 Aug 2006)
New Revision: 5979
Modified:
labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/js/portal/PortalDD.js
labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java
labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java
labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java
Log:
drop to region if no portlets available. JBLAB-728
Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/js/portal/PortalDD.js
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/js/portal/PortalDD.js 2006-08-24 19:27:35 UTC (rev 5978)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/dndRenderer.war/js/portal/PortalDD.js 2006-08-24 22:10:06 UTC (rev 5979)
@@ -54,29 +54,45 @@
var thisParent = el.parentNode;
var dropedParent = droped.parentNode;
+ // show region droper if needed
+ if (thisParent.childNodes.length == 2) {
+ var regToDrop = document.getElementById(thisParent.dropToRegion);
+
+ YAHOO.util.Dom.setStyle(regToDrop, "display", "block");
+ YAHOO.util.Dom.setStyle(regToDrop, "visibility", "");
+ }
+
thisParent.removeChild(el);
dropedParent.appendChild(el);
- log.log("AFTER Parent: " + el.parentNode + "(" + el.parentNode.id +")"+" droped: " + droped.parentNode + "(" + droped.parentNode.id +")");
+ // hide region droper if needed
+ if (dropedParent.childNodes.length == 2) {
+ var regToDrop = document.getElementById(dropedParent.dropToRegion);
+ YAHOO.util.Dom.setStyle(regToDrop, "display", "none");
+ YAHOO.util.Dom.setStyle(regToDrop, "visibility", "hidden");
+ }
+
+ log.log("AFTER Parent: " + el.parentNode + "(" + el.parentNode.id +")"+" droped: " + droped.parentNode + "(" + droped.parentNode.id +")");
+
log.log( "position: " + YAHOO.util.Dom.getStyle(el, "position"));
YAHOO.util.Dom.setStyle(el, "position", "static");
- /*var prevPosId = YAHOO.util.Dom.getStyle(id, "position");
- var prevPosEl = YAHOO.util.Dom.getStyle(el, "position");
- YAHOO.util.Dom.setStyle(id, "position", "absolute");
- YAHOO.util.Dom.setStyle(el, "position", "absolute");
+ var nodeList = dropedParent.childNodes;
- YAHOO.util.Dom.setStyle(el, "left", YAHOO.util.Dom.getStyle(id, "left"));
- YAHOO.util.Dom.setStyle(el, "top", YAHOO.util.Dom.getStyle(id, "top"));
-
- var position = YAHOO.util.Dom.getStyle(el, "top").substring(0,YAHOO.util.Dom.getStyle(el, "top").length - 2) + YAHOO.util.Dom.getStyle(el, "height").substring(0, YAHOO.util.Dom.getStyle(el, "height").length - 2)
- log.log(position);
-
- YAHOO.util.Dom.setStyle(id, "top", YAHOO.util.Dom.getStyle(el, "top") + YAHOO.util.Dom.getStyle(el, "height"));
-
- YAHOO.util.Dom.setStyle(id, "position", prevPosId);
- YAHOO.util.Dom.setStyle(el, "position", prevPosEl);*/
+ var adding = false;
+
+ for (var i = 0;(nodeList.item(i) != el) && (i < nodeList.length); i++) {
+ var nextNode = nodeList.item(i);
+ if (!adding && nextNode == droped) {
+ adding = true;
+ }
+
+ if (adding) {
+ dropedParent.appendChild(nextNode);
+ }
+ }
+
};
YAHOO.util.PortalDD.prototype.endDrag = function(e) {
Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java 2006-08-24 19:27:35 UTC (rev 5978)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDRegionRenderer.java 2006-08-24 22:10:06 UTC (rev 5979)
@@ -47,7 +47,7 @@
private RegionRenderer delegate = new DivRegionRenderer();
private Map<String, Integer> portletNumbers = new HashMap<String, Integer>();
-
+
private Map<String, String> portletRegions = new HashMap<String, String>();
private final static Logger log = Logger.getLogger(DnDRegionRenderer.class);
@@ -69,7 +69,7 @@
delegate.render(renderContext, region, portletContexts, windowResults);
renderContext.getMarkupFragment().append("</div>\n");
-
+
if (portletNumbers.get(renderContext.getRegionID()) != null
&& portletNumbers.get(renderContext.getRegionID()) > 0) {
renderContext.getMarkupFragment().append(
@@ -87,25 +87,27 @@
// regionDD var
renderContext.getMarkupFragment().append(
- "regionDD" + renderContext.getRegionID() + ";\n");
+ "regionDrop" + renderContext.getRegionID() + ";\n");
- renderContext.getMarkupFragment().append(" var DDM = YAHOO.util.DDM;\n");
- renderContext.getMarkupFragment().append(" DDM.mode = DDM.POINT;\n");
-
+ renderContext.getMarkupFragment().append(
+ " var DDM = YAHOO.util.DDM;\n");
+ renderContext.getMarkupFragment().append(
+ " DDM.mode = DDM.POINT;\n");
+
renderContext.getMarkupFragment().append(" return {\n");
renderContext.getMarkupFragment().append(
" init: function() {\n");
// write regionDD var declaration
renderContext.getMarkupFragment().append(
- " regionDD" + renderContext.getRegionID()
- + " = new YAHOO.util.PortalDD('regionDD"
+ " regionDrop" + renderContext.getRegionID()
+ + " = new YAHOO.util.PortalDD('regionDrop"
+ renderContext.getRegionID() + "');\n");
renderContext.getMarkupFragment().append(
- " regionDD" + renderContext.getRegionID()
+ " regionDrop" + renderContext.getRegionID()
+ ".setXConstraint(0, 0, 1);\n");
renderContext.getMarkupFragment().append(
- " regionDD" + renderContext.getRegionID()
+ " regionDrop" + renderContext.getRegionID()
+ ".setYConstraint(0, 0, 1);\n");
for (int i = 0; i < portletNumbers.get(renderContext.getRegionID()); i++) {
@@ -123,12 +125,21 @@
renderContext.getMarkupFragment().append(
" ddPortlet" + renderContext.getRegionID()
+ i + ".setYConstraint(1000, 1000, 1);\n");
-
- /*renderContext.getMarkupFragment().append(
- " regionDD" + renderContext.getRegionID()
- + ".getDragEl().appendChild("+ "ddPortlet" + renderContext.getRegionID()
- + i + ".getDragEl());\n");*/
+
+ /*
+ * renderContext.getMarkupFragment().append( " regionDD" +
+ * renderContext.getRegionID() + ".getDragEl().appendChild("+
+ * "ddPortlet" + renderContext.getRegionID() + i +
+ * ".getDragEl());\n");
+ */
}
+
+ // add this regiondrop id
+ renderContext.getMarkupFragment().append(
+ " ddPortlet" + renderContext.getRegionID() + "0"
+ + ".getEl().parentNode.dropToRegion = 'regionDrop"
+ + renderContext.getRegionID() + "';\n");
+
renderContext.getMarkupFragment().append(" }\n");
renderContext.getMarkupFragment().append(" };\n");
renderContext.getMarkupFragment().append("} ();\n");
@@ -167,20 +178,20 @@
return number - 1;
}
-
+
private String getPortletRegion(String portletId) {
return portletRegions.get(portletId);
}
-
+
private Vector<String> getPortletsInRegion(String regionId) {
Vector<String> result = new Vector<String>();
-
+
for (String portletId : portletRegions.keySet()) {
if (portletRegions.get(portletId).equals(regionId)) {
result.add(portletId);
}
}
-
+
return result;
}
}
Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java 2006-08-24 19:27:35 UTC (rev 5978)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDTools.java 2006-08-24 22:10:06 UTC (rev 5979)
@@ -9,6 +9,7 @@
+ "<script type='text/javascript' src='/dndRenderer/js/dragdrop/dragdrop-debug.js' ></script>\n"
+ "<script type='text/javascript' src='/dndRenderer/js/connection/connection.js' ></script>\n"
+ "<script type='text/javascript' src='/dndRenderer/js/portal/PortalDD.js' ></script>\n\n\n"
+
/*+ "<script type='text/javascript'>"
+ "var myLogReader1 = new YAHOO.widget.LogReader(null, { newestOnTop: true, height: \"400px\" });"
+ "</script>\n\n"
Modified: labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java
===================================================================
--- labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java 2006-08-24 19:27:35 UTC (rev 5978)
+++ labs/jbosslabs/trunk/portal-extensions/portal-dnd/src/java/org/jboss/portal/core/theme/render/impl/DnDWindowRenderer.java 2006-08-24 22:10:06 UTC (rev 5979)
@@ -21,6 +21,9 @@
*/
package org.jboss.portal.core.theme.render.impl;
+import java.util.HashMap;
+import java.util.Map;
+
import org.jboss.logging.Logger;
import org.jboss.portal.WindowState;
import org.jboss.portal.theme.impl.render.DivWindowRenderer;
@@ -55,6 +58,12 @@
.getRegionRenderer()).getPortletNumber(renderContext
.getRegionID());
+ if (portletNumber == 0) {
+ renderContext.getMarkupFragment().append(
+ "<div style='display: none; visibility: hidden; padding: 50px; margin: 10px; border: 1px dashed black;' id='regionDrop"
+ + renderContext.getRegionID() + "'>Drop your portlets here</div>");
+ }
+
renderContext.getMarkupFragment().append(
"<div id=\"portlet-dnd-" + renderContext.getRegionID() + "-"
+ portletNumber + "\">\n");
More information about the jboss-svn-commits
mailing list