Author: taylor
Date: Fri Oct 30 18:29:47 2009
New Revision: 831415

URL: http://svn.apache.org/viewvc?rev=831415&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-1057
implementation of Close action (remove portlet api called over Jetspeed Ajax 
api)

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

Modified: 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui-portlet.jsp
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui-portlet.jsp?rev=831415&r1=831414&r2=831415&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui-portlet.jsp
 (original)
+++ 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/WEB-INF/jetui/yui/jetui-portlet.jsp
 Fri Oct 30 18:29:47 2009
@@ -38,7 +38,7 @@
        <div class="portal-layout-cell" id="<%=fragment.getId()%>" 
name="<%=fragment.getName()%>">
                <div class="portlet <%=pageDec%>">
                    <div class="PTitle" >
-                 <div class="PTitleContent"><%=title%></div>
+                 <div class="PTitleContent"><%=title%></div>               
                            <div class="PActionBar">
 <%
                                    for(DecoratorAction action : 
(List<DecoratorAction>)fragment.getDecoration().getActions())
@@ -48,6 +48,11 @@
                                            target = "";
  %>                        
                             <a href="<%=action.getAction()%>" 
title="<%=action.getName()%>" class="action portlet-action" <%=target%>><img 
src="<%=request.getContextPath()%>/<%=action.getLink()%>" 
alt="<%=action.getAlt()%>" border="0" /></a>
+<% } 
+if (request.getUserPrincipal() != null)
+{
+%>
+                                <span style='cursor: pointer; z-index: 1000;' 
id='jetspeed-close-<%=fragment.getId()%>' title="close" 
class="portlet-action-close"><img 
src="<%=request.getContextPath()%>/decorations/portlet/jetspeed/images/close.gif"
 alt="Close" border="0" /></span>                              
 <% } %>
                            </div>
                      </div>

Modified: 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js?rev=831415&r1=831414&r2=831415&view=diff
==============================================================================
--- 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
 (original)
+++ 
portals/jetspeed-2/portal/trunk/applications/jetspeed/src/main/webapp/jetui/engine/portal.js
 Fri Oct 30 18:29:47 2009
@@ -1,5 +1,5 @@
 //Use loader to grab the modules needed
-YUI(yuiConfig).use('console', 'dd', 'anim', 'io', 'cookie', 'json', 'widget', 
function(Y) {
+YUI(yuiConfig).use('console', 'dd', 'anim', 'io', 'cookie', 'json', 
'node-base', function(Y) {
        //new Y.Console().render(); 
     //Make this an Event Target so we can bubble to it
     var Portal = function() {
@@ -207,7 +207,45 @@
                });
         }
     });
+
+    var onComplete = function(id, o, args) { 
+       var id = id; // Transaction ID. 
+       var data = o.responseText; // Response data. 
+       var widgetId = args[0];
+       Y.log("widget removed = " + widgetId);
+       // now remove it from the dom
+       var widget = Y.one("#" + widgetId);
+       if (widget)
+       {
+               var parent = widget.get('parentNode');
+               widget.remove();
+               if (parent.get('children').size() == 0)
+               {
+                       //node.plug(Y.Plugin.Drag);
+                       var drop = new Y.DD.Drop({
+                       node: parent,
+                       groups: ['portlets']            
+                       });
+               }
+       }
+    };     
     
+    var onClickWindow = function(e) {
+       var uri = document.location.href;
+       uri = uri.replace("/ui", "/ajaxapi");
+       var windowId =  e.currentTarget.getAttribute('id');
+       windowId = windowId.replace("jetspeed-close-", "");
+       var uri = uri + "?action=remove&id=" + windowId;
+       Y.log("delete uri = " + uri);           
+        Y.on('io:complete', onComplete, this, [windowId]); 
+        var request = Y.io(uri); 
+    };
+    
+    var closeWindows = Y.Node.all('.portlet-action-close');    
+    closeWindows.each(function(v, k) {
+        v.on('click', onClickWindow);
+    });
+        
     Portal.prototype.toggleToolbar = function(toolbar, toggler, compareStyle) {
         toggler.toggleClass('jstbToggle1');
         toggler.toggleClass('jstbToggle2');
@@ -281,6 +319,7 @@
                }
                i++;
         }
+        // I don't think this is working
         e.drop.unplug(Y.Plugin.Drop);
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to