Author: woonsan
Date: Thu Mar 25 18:31:12 2010
New Revision: 927530

URL: http://svn.apache.org/viewvc?rev=927530&view=rev
Log:
JS2-1156, JS2-1155
- adding confirmation when deleting a space.
- removing edit link because users can select a space to edit on the title 
column.

Modified:
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpacesList.java
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources.properties
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_en.properties
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_ko.properties
    
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/spaces/spaces-list.jsp

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpacesList.java
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpacesList.java?rev=927530&r1=927529&r2=927530&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpacesList.java
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/java/org/apache/jetspeed/portlets/spaces/SpacesList.java
 Thu Mar 25 18:31:12 2010
@@ -20,6 +20,7 @@ import java.io.IOException;
 
 import javax.portlet.ActionRequest;
 import javax.portlet.ActionResponse;
+import javax.portlet.MimeResponse;
 import javax.portlet.PortletConfig;
 import javax.portlet.PortletContext;
 import javax.portlet.PortletException;
@@ -29,12 +30,15 @@ import javax.portlet.RenderResponse;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.jetspeed.CommonPortletServices;
+import org.apache.jetspeed.portlet.HeaderPhaseSupportConstants;
 import org.apache.jetspeed.portlets.toolbox.ThemeBean;
+import org.apache.jetspeed.request.RequestContext;
 import org.apache.jetspeed.spaces.Space;
 import org.apache.jetspeed.spaces.Spaces;
 import org.apache.jetspeed.spaces.SpacesException;
 import org.apache.portals.bridges.common.GenericServletPortlet;
 import org.apache.portals.messaging.PortletMessaging;
+import org.w3c.dom.Element;
 
 /**
  * Spaces List 
@@ -46,6 +50,8 @@ public class SpacesList extends GenericS
 {
     private Spaces spacesService;
     
+    protected String yuiScriptPath = "/javascript/yui/build/yui/yui-min.js";
+    
     public void init(PortletConfig config) throws PortletException
     {
         super.init(config);
@@ -56,8 +62,29 @@ public class SpacesList extends GenericS
                 throw new PortletException(
                         "Could not get instance of portal spaces service 
component");
         }
+        
+        String param = config.getInitParameter("yuiScriptPath");
+        
+        if (param != null) 
+        {
+            yuiScriptPath = param;
+        }
     }
-
+    
+    @Override
+    protected void doHeaders(RenderRequest request, RenderResponse response) 
+    {
+        super.doHeaders(request, response);
+        RequestContext rc = (RequestContext) 
request.getAttribute(RequestContext.REQUEST_PORTALENV);
+        Element headElem = response.createElement("script");
+        headElem.setAttribute("language", "javascript");
+        String scriptPath = rc.getRequest().getContextPath() + yuiScriptPath;
+        headElem.setAttribute("id", 
HeaderPhaseSupportConstants.HEAD_ELEMENT_CONTRIBUTION_ELEMENT_ID_YUI_LIBRARY_INCLUDE);
+        headElem.setAttribute("src", scriptPath);
+        headElem.setAttribute("type", "text/javascript");
+        response.addProperty(MimeResponse.MARKUP_HEAD_ELEMENT, headElem);
+    }
+    
     @SuppressWarnings("unchecked")
     public void doView(RenderRequest request, RenderResponse response)
             throws PortletException, IOException
@@ -79,7 +106,7 @@ public class SpacesList extends GenericS
             
request.getPortletSession().setAttribute(SpaceNavigator.ATTRIBUTE_SPACES, 
spaces);        
         }       
         request.setAttribute(SpaceNavigator.ATTRIBUTE_SPACES, spaces);
-        String space = 
(String)request.getPortletSession().getAttribute(SpaceNavigator.ATTRIBUTE_SPACE,
 PortletSession.APPLICATION_SCOPE);        
+        SpaceBean space = (SpaceBean) 
request.getPortletSession().getAttribute(SpaceNavigator.ATTRIBUTE_SPACE, 
PortletSession.APPLICATION_SCOPE);        
         request.setAttribute(SpaceNavigator.ATTRIBUTE_SPACE, space);
         try
         {

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources.properties
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources.properties?rev=927530&r1=927529&r2=927530&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources.properties
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources.properties
 Thu Mar 25 18:31:12 2010
@@ -30,6 +30,7 @@ spaces.label.edit.current = Edit Current
 spaces.label.save = Save
 spaces.label.cancel = Cancel
 spaces.message.forbidden = You are not allowed to edit the current space.
+spaces.message.confirm.delete = Are you sure to delete this item?
 
 spaces.pages.label.nodeType.folder = Folder
 spaces.pages.label.nodeType..psml = Page

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_en.properties
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_en.properties?rev=927530&r1=927529&r2=927530&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_en.properties
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_en.properties
 Thu Mar 25 18:31:12 2010
@@ -30,6 +30,7 @@ spaces.label.edit.current = Edit Current
 spaces.label.save = Save
 spaces.label.cancel = Cancel
 spaces.message.forbidden = You are not allowed to edit the current space.
+spaces.message.confirm.delete = Are you sure to delete this item?
 
 spaces.pages.label.nodeType.folder = Folder
 spaces.pages.label.nodeType..psml = Page

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_ko.properties
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_ko.properties?rev=927530&r1=927529&r2=927530&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_ko.properties
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/resources/org/apache/jetspeed/portlets/spaces/resources/SpacesResources_ko.properties
 Thu Mar 25 18:31:12 2010
@@ -30,6 +30,7 @@ spaces.label.edit.current = \uc2a4\ud398
 spaces.label.save = \uc800\uc7a5
 spaces.label.cancel = \ucde8\uc18c
 spaces.message.forbidden = \ud574\ub2f9 \uc2a4\ud398\uc774\uc2a4\ub97c 
\ud3b8\uc9d1\ud560 \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
+spaces.message.confirm.delete = \uc774 \ud56d\ubaa9\uc744 
\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
 
 spaces.pages.label.nodeType.folder = \ud3f4\ub354
 spaces.pages.label.nodeType..psml = \ud398\uc774\uc9c0

Modified: 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/spaces/spaces-list.jsp
URL: 
http://svn.apache.org/viewvc/portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/spaces/spaces-list.jsp?rev=927530&r1=927529&r2=927530&view=diff
==============================================================================
--- 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/spaces/spaces-list.jsp
 (original)
+++ 
portals/jetspeed-2/applications/j2-admin/trunk/src/main/webapp/WEB-INF/view/spaces/spaces-list.jsp
 Thu Mar 25 18:31:12 2010
@@ -23,45 +23,63 @@ limitations under the License.
 <%@ taglib uri="http://java.sun.com/portlet"; prefix="portlet"%>
 <portlet:defineObjects/>
 <fmt:setBundle 
basename="org.apache.jetspeed.portlets.spaces.resources.SpacesResources" />
-<%
-       String current = ((String)renderRequest.getAttribute("space"));
-       List<SpaceBean> spaces = 
(List<SpaceBean>)renderRequest.getAttribute("spaces");
-%>
+
 <form id='jsSpacesList' method="POST" action='<portlet:actionURL/>'>
 <table width='100%'>
-     <tr>
-      <th class="portlet-section-subheader"><fmt:message 
key="spaces.label.title"/></th>
-      <th class="portlet-section-subheader"><fmt:message 
key="spaces.label.owner"/></th>
-         <th class="portlet-section-subheader" colspan="4"></th>
-     </tr>
-<%
-for (SpaceBean space : spaces)
-{
-    String style = (current != null && current.equals(space.getName())) ? 
"portlet-section-alternate" : "portlet-section-body";           
-%>             
-     <tr>
-       <td class="<%=style%>"><a href="<portlet:actionURL><portlet:param 
name='edit' 
value='<%=space.getName()%>'/></portlet:actionURL>"><%=space.getTitle()%></a></td>
-       <td class="<%=style%>"><%=space.getOwner()%></td>
-       <td class="<%=style%>">&nbsp;</td>
-          <td class="<%=style%>"><a href="<portlet:actionURL><portlet:param 
name='edit' value='<%=space.getName()%>'/></portlet:actionURL>"><fmt:message 
key="spaces.label.edit"/></a></td>
-       <td class="<%=style%>">&nbsp;</td>
-<% 
-if (space.getPath().equals("/") || space.getPath().equals("/Administrative")) {
-%>
-          <td class="<%=style%>"></td>
-<% } else {  %>
-          <td class="<%=style%>"><a href="<portlet:actionURL><portlet:param 
name='delete' value='<%=space.getName()%>'/></portlet:actionURL>"><fmt:message 
key="spaces.label.delete"/></a></td>
-<% } %>
-     </tr>
-<%
-}
-%>
-       <tr>
-               <th class="portlet-section-header" colspan="6"></th>
-       </tr>
-       <tr>
-       <td><input name='addspace' type='submit' value='<fmt:message 
key="spaces.label.add"/>'/></td>
-       </tr>
+  <tr>
+    <th class="portlet-section-subheader"><fmt:message 
key="spaces.label.title"/></th>
+    <th class="portlet-section-subheader"><fmt:message 
key="spaces.label.owner"/></th>
+    <th class="portlet-section-subheader" colspan="3"></th>
+  </tr>
+  <c:forEach var="spaceItem" items="${spaces}">
+    <c:choose>
+      <c:when test="${spaceItem.name == space.name}">
+        <c:set var="styleClass" value="'portlet-section-alternate'" />
+      </c:when>
+      <c:otherwise>
+        <c:set var="styleClass" value="'portlet-section-body'" />
+      </c:otherwise>
+    </c:choose>
+    <tr>
+      <td class="${styleClass}">
+        <a href="<portlet:actionURL><portlet:param name='edit' 
value='${spaceItem.name}'/></portlet:actionURL>">${spaceItem.title}</a>
+      </td>
+      <td class="${styleClass}">${spaceItem.owner}</td>
+      <td class="${styleClass}">&nbsp;</td>
+      <td class="${styleClass}">&nbsp;</td>
+      <c:choose>
+        <c:when test="${spaceItem.path == '/' or spaceItem.path == 
'/Administrative'}">
+          <td class="${styleClass}"></td>
+        </c:when>
+        <c:otherwise>
+          <td class="${styleClass}">
+            <a class="delete" href0="<portlet:actionURL><portlet:param 
name='delete' value='${spaceItem.name}'/></portlet:actionURL>"><fmt:message 
key="spaces.label.delete"/></a>
+          </td>
+        </c:otherwise>
+      </c:choose>
+    </tr>
+  </c:forEach>
+  <tr>
+    <th class="portlet-section-header" colspan="5"></th>
+  </tr>
+  <tr>
+    <td colspan="5"><input name='addspace' type='submit' value='<fmt:message 
key="spaces.label.add"/>'/></td>
+  </tr>
 </table>
 </form>
+
+<script language="javascript">
+YUI().use('jetui-portal', 'node', function(Y) {
+    var onDeleteClick = function(e) {
+        var cf = confirm('<fmt:message key="spaces.message.confirm.delete"/>');
+        if (!cf) {
+            e.halt();
+        }
+    };
     
+    Y.Node.all("A.delete").each(function(v, k) {
+        v.on("click", onDeleteClick);
+        v.set("href", v.getAttribute("href0"));
+    });
+});
+</script>



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

Reply via email to