[jboss-svn-commits] JBoss Portal SVN: r5375 - trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Oct 9 13:53:43 EDT 2006
Author: roy.russo at jboss.com
Date: 2006-10-09 13:53:41 -0400 (Mon, 09 Oct 2006)
New Revision: 5375
Modified:
trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaDecorationRenderer.java
trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java
Log:
- added remove window functionality
Modified: trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaDecorationRenderer.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaDecorationRenderer.java 2006-10-09 17:28:07 UTC (rev 5374)
+++ trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaDecorationRenderer.java 2006-10-09 17:53:41 UTC (rev 5375)
@@ -107,7 +107,7 @@
renderContext.getMarkupFragment().append("<div class=\"portlet-mode-").append("remove");
//renderContext.getMarkupFragment().append("\" onClick=\"location.href='").append("#").append("';\" title=\"");
// onclick="removeWindow('UserPortletWindow');"
- renderContext.getMarkupFragment().append("\" onclick=\"removeWindow('").append(windowContext.getWindowName()).append("');\" title=\"");
+ renderContext.getMarkupFragment().append("\" onclick=\"removeWindow('").append(windowContext.getId()).append("');\" title=\"");
renderContext.getMarkupFragment().append("Remove").append("\"></div>");
}
Modified: trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java 2006-10-09 17:28:07 UTC (rev 5374)
+++ trunk/theme/src/main/org/jboss/portal/theme/impl/render/dynamic/DynaRegionRenderer.java 2006-10-09 17:53:41 UTC (rev 5375)
@@ -39,197 +39,194 @@
* @author <a href="mailto:roy at jboss.org">Roy Russo</a>
* @see org.jboss.portal.theme.render.RegionRenderer
*/
-public class DynaRegionRenderer implements RegionRenderer
-{
- private Map portletPos = new HashMap(); //<String, Integer>
+public class DynaRegionRenderer implements RegionRenderer {
+ private Map portletPos = new HashMap(); //<String, Integer>
- private Map windowIds = new HashMap();
+ private Map windowIds = new HashMap();
- private final static Logger log = Logger.getLogger(DynaRegionRenderer.class);
+ private final static Logger log = Logger.getLogger(DynaRegionRenderer.class);
- private RegionRenderer delegate;
+ private RegionRenderer delegate;
- public DynaRegionRenderer(RegionRenderer regionRenderer) throws InstantiationException,
- IllegalAccessException, ClassNotFoundException
- {
- super();
- delegate = regionRenderer;
- }
+ public DynaRegionRenderer(RegionRenderer regionRenderer) throws InstantiationException,
+ IllegalAccessException, ClassNotFoundException {
+ super();
+ delegate = regionRenderer;
+ }
- /**
- * @see RegionRenderer#render
- */
- public void render(RenderContext renderContext, Region region,
- Map portletContexts, Map windowResults) throws RenderException
- {
- Map pageProps = renderContext.getPageProperties();
+ /**
+ * @see RegionRenderer#render
+ */
+ public void render(RenderContext renderContext, Region region,
+ Map portletContexts, Map windowResults) throws RenderException {
+ Map pageProps = renderContext.getPageProperties();
- StringBuffer markup = renderContext.getMarkupFragment();
- String jsBase = (String)pageProps.get(ThemeConstants.PORTAL_AJAX_JAVASCRIPT_BASE);
- String remoteURL = (String)pageProps.get(ThemeConstants.PORTAL_AJAX_REMOTE_URL);
+ StringBuffer markup = renderContext.getMarkupFragment();
+ String jsBase = (String) pageProps.get(ThemeConstants.PORTAL_AJAX_JAVASCRIPT_BASE);
+ String remoteURL = (String) pageProps.get(ThemeConstants.PORTAL_AJAX_REMOTE_URL);
- // Handle special ajax region here
- if ("AJAXFooter".equals(region.getId()))
- {
- markup.append("<script>\n");
- markup.append(
- "\n" +
- "var toto = new Array();\n" +
- "for(region in regions_on_page) {\n" +
- " toto.push(region);\n" +
- "}\n" +
- "for(region in regions_on_page) {\n" +
- "Sortable.create(region, {dropOnEmpty:true,handle:'handle',tag:'div',containment:toto,constraint:false, ghosting: false,\n" +
- " onChange: function(el)\n" +
- " {\n" +
- " },\n" +
- " onUpdate: function (el)\n" +
- " {\n" +
- " }\n" +
- "});\n" +
- "}\n");
+ // Handle special ajax region here
+ if ("AJAXFooter".equals(region.getId())) {
+ markup.append("<script>\n");
+ markup.append(
+ "\n" +
+ "var toto = new Array();\n" +
+ "for(region in regions_on_page) {\n" +
+ " toto.push(region);\n" +
+ "}\n" +
+ "for(region in regions_on_page) {\n" +
+ "Sortable.create(region, {dropOnEmpty:true,handle:'handle',tag:'div',containment:toto,constraint:false, ghosting: false,\n" +
+ " onChange: function(el)\n" +
+ " {\n" +
+ " },\n" +
+ " onUpdate: function (el)\n" +
+ " {\n" +
+ " }\n" +
+ "});\n" +
+ "}\n");
- //
- markup.append("Draggables.addObserver(new WindowMoveObserver());\n");
+ //
+ markup.append("Draggables.addObserver(new WindowMoveObserver());\n");
- //
- markup.append("snapshot();\n");
+ //
+ markup.append("snapshot();\n");
- markup.append("</script>\n");
- }
- else if ("AJAXScripts".equals(region.getId()))
- {
- markup.append("\n\n\n");
- markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/prototype.js'></script>\n");
- markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/scriptaculous.js'></script>\n");
- markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/effects.js'></script>\n");
- markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/dragdrop.js'></script>\n");
- markup.append("<script type='text/javascript'>\n");
- markup.append("remote_server_url=\"").append(remoteURL).append(";\"\n");
+ markup.append("</script>\n");
+ } else if ("AJAXScripts".equals(region.getId())) {
+ markup.append("\n\n\n");
+ markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/prototype.js'></script>\n");
+ markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/scriptaculous.js'></script>\n");
+ markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/effects.js'></script>\n");
+ markup.append("<script type='text/javascript' src='").append(jsBase).append("/js/portal/dragdrop.js'></script>\n");
+ markup.append("<script type='text/javascript'>\n");
+ markup.append("remote_server_url=\"").append(remoteURL).append(";\"\n");
- markup.append("regions_on_page = new Object();\n");
+ markup.append("regions_on_page = new Object();\n");
- String sendData =
- "function sendData(action, windowId, fromPos, fromRegionId, toPos, toRegionId)\n" +
- "{\n" +
- " var options = {\n" +
- " method: 'post',\n" +
- " postBody: 'action=' + action + '&windowId=' + windowId + '&fromPos=' + fromPos + '&fromRegionId=' + fromRegionId + '&toPos=' + toPos + '&toRegionId=' + toRegionId,\n" +
- " onSuccess: function(t)\n" +
- " {\n" +
- " },\n" +
- " onSuccess: function(t)\n" +
- " {\n" +
- " },\n" +
- " on404: function(t)\n" +
- " {\n" +
- " alert('Error 404: location \"' + t.statusText + '\" was not found.');\n" +
- " },\n" +
- " onFailure: function(t)\n" +
- " {\n" +
- " alert('Error ' + t.status + ' -- ' + t.statusText);\n" +
- " },\n" +
- " onLoading: function(t)\n" +
- " {\n" +
- " }\n" +
- " }\n" +
- " new Ajax.Request(remote_server_url, options);\n" +
- "}";
- markup.append(sendData);
+ String sendData =
+ "function sendData(action, windowId, fromPos, fromRegionId, toPos, toRegionId)\n" +
+ "{\n" +
+ " var options = {\n" +
+ " method: 'post',\n" +
+ " postBody: 'action=' + action + '&windowId=' + windowId + '&fromPos=' + fromPos + '&fromRegionId=' + fromRegionId + '&toPos=' + toPos + '&toRegionId=' + toRegionId,\n" +
+ " onSuccess: function(t)\n" +
+ " {\n" +
+ " },\n" +
+ " onSuccess: function(t)\n" +
+ " {\n" +
+ " },\n" +
+ " on404: function(t)\n" +
+ " {\n" +
+ " alert('Error 404: location \"' + t.statusText + '\" was not found.');\n" +
+ " },\n" +
+ " onFailure: function(t)\n" +
+ " {\n" +
+ " alert('Error ' + t.status + ' -- ' + t.statusText);\n" +
+ " },\n" +
+ " onLoading: function(t)\n" +
+ " {\n" +
+ " }\n" +
+ " }\n" +
+ " new Ajax.Request(remote_server_url, options);\n" +
+ "}";
+ markup.append(sendData);
- //
- String t =
- "function snapshot() {\n" +
- "for(region in regions_on_page) {\n" +
- "var regionId = regions_on_page[region];\n" +
- "var regionDiv = $(region);\n" +
- "for (var i = 0;i < regionDiv.childNodes.length;i++) {\n" +
- "var child = regionDiv.childNodes[i];\n" +
- "child['regionId'] = regionId;\n" +
- "child['pos'] = i;\n" +
- "}\n" +
- "}\n" +
- "\n}";
+ //
+ String t =
+ "function snapshot() {\n" +
+ "for(region in regions_on_page) {\n" +
+ "var regionId = regions_on_page[region];\n" +
+ "var regionDiv = $(region);\n" +
+ "for (var i = 0;i < regionDiv.childNodes.length;i++) {\n" +
+ "var child = regionDiv.childNodes[i];\n" +
+ "child['regionId'] = regionId;\n" +
+ "child['pos'] = i;\n" +
+ "}\n" +
+ "}\n" +
+ "\n}";
- markup.append(t);
+ markup.append(t);
- String s =
- " var WindowMoveObserver = Class.create();\n" +
- " WindowMoveObserver.prototype =\n" +
- " {\n" +
- " initialize: function(element)\n" +
- " {\n" +
- " this.element = $(element);\n" +
- " },\n" +
- " onStart: function()\n" +
- " {\n" +
- " },\n" +
- " onEnd: function()\n" +
- " {\n" +
- " var elt = Draggables.activeDraggable.element;\n" +
- " var fromRegionId = elt['regionId'];\n" +
- " var fromPos = elt['pos'];\n" +
- " snapshot();\n" +
- " var toRegionId = elt['regionId'];\n" +
- " var toPos = elt['pos'];\n" +
- " sendData('windowmove', elt.id, fromPos, fromRegionId, toPos, toRegionId);\n" +
- " }\n" +
- " };\n";
- markup.append(s);
+ String s =
+ " var WindowMoveObserver = Class.create();\n" +
+ " WindowMoveObserver.prototype =\n" +
+ " {\n" +
+ " initialize: function(element)\n" +
+ " {\n" +
+ " this.element = $(element);\n" +
+ " },\n" +
+ " onStart: function()\n" +
+ " {\n" +
+ " },\n" +
+ " onEnd: function()\n" +
+ " {\n" +
+ " var elt = Draggables.activeDraggable.element;\n" +
+ " var fromRegionId = elt['regionId'];\n" +
+ " var fromPos = elt['pos'];\n" +
+ " snapshot();\n" +
+ " var toRegionId = elt['regionId'];\n" +
+ " var toPos = elt['pos'];\n" +
+ " sendData('windowmove', elt.id, fromPos, fromRegionId, toPos, toRegionId);\n" +
+ " }\n" +
+ " };\n";
+ markup.append(s);
- markup.append("</script>\n");
- markup.append("\n\n\n");
- }
- else
- {
- markup.append(
- "<script>" +
- "regions_on_page[\"" + renderContext.getRegionID() + "\"]=\"" + region.getId() + "\";" +
- "</script>");
- }
+ String u = "function removeWindow(elementId)\n" +
+ "{\n" +
+ " var effectElement = document.getElementById(elementId)\n" +
+ " new Effect.BlindUp(effectElement);\n" +
+ "\n" +
+ " //removeElement(effectElement);\n" +
+ "\n" +
+ " sendData('windowremove', elementId);\n" +
+ "}";
+ markup.append(u);
- //
- delegate.render(renderContext, region, portletContexts, windowResults);
+ markup.append("</script>\n");
+ markup.append("\n\n\n");
+ } else {
+ markup.append(
+ "<script>" +
+ "regions_on_page[\"" + renderContext.getRegionID() + "\"]=\"" + region.getId() + "\";" +
+ "</script>");
+ }
- //
- if(portletPos.get(renderContext.getRegionID()) != null && ((Integer) portletPos.get(renderContext.getRegionID())).intValue() > 0)
- {
- portletPos.put(renderContext.getRegionID(), new Integer(0));
- }
- }
+ //
+ delegate.render(renderContext, region, portletContexts, windowResults);
- /**
- * @see org.jboss.portal.theme.render.Renderer#renderStart(org.jboss.portal.theme.render.RenderContext)
- */
- public void renderStart(RenderContext ctx)
- {
- delegate.renderStart(ctx);
- }
+ //
+ if (portletPos.get(renderContext.getRegionID()) != null && ((Integer) portletPos.get(renderContext.getRegionID())).intValue() > 0) {
+ portletPos.put(renderContext.getRegionID(), new Integer(0));
+ }
+ }
- /**
- * @see org.jboss.portal.theme.render.Renderer#renderEnd(org.jboss.portal.theme.render.RenderContext)
- */
- public void renderEnd(RenderContext ctx)
- {
- delegate.renderEnd(ctx);
- }
+ /**
+ * @see org.jboss.portal.theme.render.Renderer#renderStart(org.jboss.portal.theme.render.RenderContext)
+ */
+ public void renderStart(RenderContext ctx) {
+ delegate.renderStart(ctx);
+ }
- public int getPortletNumber(String regionId)
- {
- int number = 0;
- if(portletPos.get(regionId) != null)
- {
- number = ((Integer) portletPos.get(regionId)).intValue();
- }
+ /**
+ * @see org.jboss.portal.theme.render.Renderer#renderEnd(org.jboss.portal.theme.render.RenderContext)
+ */
+ public void renderEnd(RenderContext ctx) {
+ delegate.renderEnd(ctx);
+ }
- portletPos.put(regionId, new Integer(++number));
+ public int getPortletNumber(String regionId) {
+ int number = 0;
+ if (portletPos.get(regionId) != null) {
+ number = ((Integer) portletPos.get(regionId)).intValue();
+ }
- return number - 1;
- }
+ portletPos.put(regionId, new Integer(++number));
- public void setWindowId(String portletId, String windowId)
- {
- windowIds.put(portletId, windowId);
- }
+ return number - 1;
+ }
+
+ public void setWindowId(String portletId, String windowId) {
+ windowIds.put(portletId, windowId);
+ }
}
More information about the jboss-svn-commits
mailing list