Author: taylor
Date: Mon Dec 21 18:36:15 2009
New Revision: 892922

URL: http://svn.apache.org/viewvc?rev=892922&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-1084
continued development on detaching feature

Modified:
    
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui.jsp
    
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/javascript/jetspeed/jetui/jetui-portal.js

Modified: 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui.jsp
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui.jsp?rev=892922&r1=892921&r2=892922&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui.jsp
 (original)
+++ 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui.jsp
 Mon Dec 21 18:36:15 2009
@@ -240,7 +240,7 @@
        String y = fragment.getProperty("y");
     String content = jetui.getRenderedContent((ContentFragment)fragment, rc);
 %>
-   <div id='<%=fragment.getId()%>' detached='true' 
locked='<%=fragment.isLocked()%>' name='<%=fragment.getName()%>' column='0' 
row='0' style='position: absolute; top: <%=x%>px; left: <%=y%>px;'>
+   <div id='<%=fragment.getId()%>' detached='true' 
locked='<%=fragment.isLocked()%>' name='<%=fragment.getName()%>' column='0' 
row='0' x='<%=x%>' y='<%=y%>' style='position: absolute; top: <%=x%>px; left: 
<%=y%>px;'>
 <%=content%>
    </div>                          
 <% } %>

Modified: 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/javascript/jetspeed/jetui/jetui-portal.js
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/javascript/jetspeed/jetui/jetui-portal.js?rev=892922&r1=892921&r2=892922&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/javascript/jetspeed/jetui/jetui-portal.js
 (original)
+++ 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/javascript/jetspeed/jetui/jetui-portal.js
 Mon Dec 21 18:36:15 2009
@@ -270,8 +270,42 @@
             var window = Y.one("[id='" + windowId + "']");
             if (window) {
                 Y.log("data = " + window.data.get("name"));                    
-            }
-            // TODO: left off here
+            }            
+            var jetspeedZone = Y.one('#jetspeedZone');
+            if (!Y.Lang.isNull(jetspeedZone)) {
+                       var dragParent = window.get('parentNode');
+               var parentColumn = dragParent.data.get('column');
+               portal.reallocateColumn(parentColumn);
+
+               window.data.set("x", 10);
+                window.data.set("y", 10);
+                window.setStyle('position', 'absolute');
+                window.setStyle('top', '10px');
+                window.setStyle('left', '10px');
+               window.data.set('detached', true);
+               window.data.set("toolbar", true);
+               var drag = Y.DD.DDM.getDrag(window);
+               drag.removeFromGroup("portals");
+               drag.addToGroup("toolbars");
+               drag.set('dragMode', 'point');
+               var drop = Y.DD.DDM.getDrop(window);
+               var i = 0;
+                while (i < Y.DD.DDM.targets.length) {
+                    if (Y.DD.DDM.targets[i] == drop) {
+                        Y.DD.DDM.targets.splice(i, 1);
+                        break;
+                    }
+                    i++;
+                }
+                jetspeedZone.appendChild(window);
+                       if (dragParent.get("children").size() == 0)
+                       {
+                    var drop = new Y.DD.Drop({
+                        node: dragParent,
+                        groups: ['portlets']            
+                    });
+                       }                
+            }            
         },
         
         onMoveComplete : function(id, o, args) { 
@@ -285,6 +319,7 @@
          * @method movePortlet persist the move operation to the persistent 
store over restful put request
          */
         movePortlet : function(drag, e) {
+            var portal = JETUI_YUI.getPortalInstance();                
             var windowId =  drag.getAttribute('id');
             if (drag.data.get("toolbar") == false) {
                var oldColumn = drag.data.get('column');
@@ -296,25 +331,25 @@
                        this.reallocateColumn(oldColumn); // moved from 
different column
                        drag.data.set('column', parentColumn);
                }
-               this.reallocateColumn(parentColumn);
-                var uri = this.portalContextPath + 
"/services/pagelayout/fragment/" + windowId + "/pos/?_type=json";
+               portal.reallocateColumn(parentColumn);
+                var uri = portal.portalContextPath + 
"/services/pagelayout/fragment/" + windowId + "/pos/?_type=json";
                 uri += "&col=" + drag.data.get('column') + "&row=" + 
drag.data.get('row');
                 var config = {
-                        on: { complete: this.onMoveComplete },
+                        on: { complete: portal.onMoveComplete },
                         method: "PUT",
-                        headers: { "X-Portal-Path" : this.portalPagePath },
+                        headers: { "X-Portal-Path" : portal.portalPagePath },
                         arguments: { complete: [ windowId ] }
                     };
                 var request = Y.io(uri, config);
             }          
             else
             {
-                var uri = this.portalContextPath + 
"/services/pagelayout/fragment/" + windowId + "/pos/?_type=json";
-                uri += "&x=" + e.target.region.top + "&y=" + 
e.target.region.left;
+                var uri = portal.portalContextPath + 
"/services/pagelayout/fragment/" + windowId + "/pos/?_type=json";
+                uri += "&x=" + e.target.region.top + "&y=" + 
e.target.region.left + "&detached=true";
                 var config = {
-                        on: { complete: this.onMoveComplete },
+                        on: { complete: portal.onMoveComplete },
                         method: "PUT",
-                        headers: { "X-Portal-Path" : this.portalPagePath },
+                        headers: { "X-Portal-Path" : portal.portalPagePath },
                         arguments: { complete: [ windowId ] }
                     };
                 var request = Y.io(uri, config);
@@ -524,7 +559,7 @@
             columns[parseInt(fragment.properties.column)].appendChild(v);
             
             var uri = portal.portalContextPath + "/portlet" + 
portal.portalPagePath + "?entity=" + fragment.id;
-            var request = Y.io(uri, { on: { complete: 
this.onPortletRenderComplete }, arguments: { complete: v } } );
+            var request = Y.io(uri, { on: { complete: 
portal.onPortletRenderComplete }, arguments: { complete: v } } );
         }
     });
     
@@ -566,7 +601,9 @@
             "toolbar" : { value : false },
             "detached" : { value : false },
             "column" : { value : 0 },
-            "row" : { value : 0 }
+            "row" : { value : 0 },
+            "x" : { value : 0 },
+            "y" : { value : 0 }
         }
     });
 
@@ -598,6 +635,7 @@
             Y.log("id  : " + this.get("id"));       
             Y.log("toolbar  : " + this.get("toolbar"));     
             Y.log("col, row  : " + this.get("column") + "," + 
this.get("row"));     
+            Y.log("x, y  : " + this.get("x") + "," + this.get("y"));     
             Y.log("---------");
         }
     });
@@ -611,9 +649,11 @@
         portlet.set("name", node.getAttribute("name"));
         portlet.set("id", node.getAttribute("id"));
         portlet.set("toolbar", 
Boolean(node.getAttribute("locked").toLowerCase() === 'true'));
-        portlet.set("detached", false);
+        portlet.set("detached", 
Boolean(node.getAttribute("detached").toLowerCase() === 'true'));
         portlet.set("column", node.getAttribute("column"));
         portlet.set("row", node.getAttribute("row"));
+        portlet.set("x", node.getAttribute("x"));
+        portlet.set("y", node.getAttribute("y"));
         node.data = portlet;
         return portlet;
     };



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscr...@portals.apache.org
For additional commands, e-mail: jetspeed-dev-h...@portals.apache.org

Reply via email to