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%>"> </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%>"> </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}"> </td>
+ <td class="${styleClass}"> </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]