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: [email protected]
For additional commands, e-mail: [email protected]