diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
index f504f9ff95..c5700576cd 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl
@@ -59,19 +59,19 @@
Upload
<#-- Url encode the path value, and encode any single quotes to generate valid string -->
-
-
+
+
<#-- Create Space action -->
Create Space
@@ -248,6 +248,21 @@ a.spaceBreadcrumbLink:link, a.spaceBreadcrumbLink:visited, a.spaceBreadcrumbLink
text-decoration: none;
}
+.spaceFormLabel
+{
+ font-family: Trebuchet MS, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #515D6B;
+}
+
+.spaceFormItem
+{
+ margin: 4px;
+ padding: 2px;
+ background-color: #F8FCFD;
+ border: 1px solid #CCD4DB;
+}
+
.spaceActions
{
background-color: #EEF7FB;
@@ -287,7 +302,7 @@ a.spaceBreadcrumbLink:link, a.spaceBreadcrumbLink:visited, a.spaceBreadcrumbLink
border: 1px solid #CCD4DB;
background-color: #EEF7FB;
width: 24em;
- height: 4em;
+ height: 5em;
padding: 8px;
margin: 8px;
display: none;
diff --git a/source/java/org/alfresco/web/bean/ajax/MySpacesBean.java b/source/java/org/alfresco/web/bean/ajax/MySpacesBean.java
index 91641c339b..c869bfd951 100644
--- a/source/java/org/alfresco/web/bean/ajax/MySpacesBean.java
+++ b/source/java/org/alfresco/web/bean/ajax/MySpacesBean.java
@@ -24,6 +24,8 @@
*/
package org.alfresco.web.bean.ajax;
+import java.io.Serializable;
+import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
@@ -31,15 +33,18 @@ import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.alfresco.filesys.server.filesys.FileExistsException;
+import org.alfresco.model.ApplicationModel;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
+import org.alfresco.service.namespace.QName;
import org.alfresco.web.app.servlet.BaseServlet;
import org.alfresco.web.app.servlet.ajax.InvokeCommand;
import org.alfresco.web.bean.repository.Repository;
+import org.alfresco.web.bean.spaces.CreateSpaceWizard;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -80,6 +85,14 @@ public class MySpacesBean
FileInfo folderInfo = ffService.create(containerRef, name, ContentModel.TYPE_FOLDER);
if (logger.isDebugEnabled())
logger.debug("Created new folder: " + folderInfo.getNodeRef().toString());
+
+ // apply the uifacets aspect - icon, title and description properties
+ Map uiFacetsProps = new HashMap(4, 1.0f);
+ uiFacetsProps.put(ApplicationModel.PROP_ICON, CreateSpaceWizard.DEFAULT_SPACE_ICON_NAME);
+ uiFacetsProps.put(ContentModel.PROP_TITLE, title);
+ uiFacetsProps.put(ContentModel.PROP_DESCRIPTION, description);
+ nodeService.addAspect(folderInfo.getNodeRef(), ApplicationModel.ASPECT_UIFACETS, uiFacetsProps);
+
out.write("OK: " + folderInfo.getNodeRef().toString());
}
}
diff --git a/source/web/scripts/ajax/myspaces.js b/source/web/scripts/ajax/myspaces.js
index f8c5a25c8c..04b14634d0 100644
--- a/source/web/scripts/ajax/myspaces.js
+++ b/source/web/scripts/ajax/myspaces.js
@@ -8,6 +8,7 @@ var MySpaces = {
Path: null,
Filter: null,
Home: null,
+ popupPanel: null,
start: function()
{
@@ -246,12 +247,26 @@ var MySpaces = {
*/
createSpace: function(actionEl)
{
+ if (this.popupPanel != null) return;
+
var panel = $E(".spaceCreateSpacePanel", $(actionEl).getParent());
panel.setStyle("opacity", 0);
panel.setStyle("display", "inline");
- panel.getElementById("space-name").focus();
- var anim = new Fx.Styles(panel, {duration: MySpaces.ANIM_LENGTH, transition: Fx.Transitions.linear});
+ var anim = new Fx.Styles(
+ panel,
+ {
+ duration: MySpaces.ANIM_LENGTH,
+ transition: Fx.Transitions.linear,
+ onComplete: function()
+ {
+ var nameInput = this.element.getElementById("space-name");
+ nameInput.focus();
+ nameInput.select();
+ }
+ });
anim.start({'opacity': 1});
+
+ this.popupPanel = panel;
},
/**
@@ -282,12 +297,12 @@ var MySpaces = {
{
alert("Error during creation of new space: " + response.responseText);
}
- MySpaces.closePanel(actionEl);
+ MySpaces.closePopupPanel();
},
failure: function(response)
{
alert("Error during creation of new space: " + response.responseText);
- MySpaces.closePanel(actionEl);
+ MySpaces.closePopupPanel();
}
},
"path=" + path.replace("_%_", "'") +
@@ -301,10 +316,13 @@ var MySpaces = {
/**
* Cancel button click handler for various pop-up panels
*/
- closePanel: function(actionEl)
+ closePopupPanel: function()
{
- var panel = $(actionEl).getParent();
- panel.setStyle("display", "none");
+ if (this.popupPanel != null)
+ {
+ this.popupPanel.setStyle("display", "none");
+ this.popupPanel = null;
+ }
},
/**
@@ -312,6 +330,8 @@ var MySpaces = {
*/
upload: function(actionEl)
{
+ if (this.popupPanel != null) return;
+
var panel = $E(".spaceUploadPanel", $(actionEl).getParent());
panel.setStyle("opacity", 0);
panel.setStyle("display", "inline");
@@ -328,12 +348,15 @@ var MySpaces = {
fileInput.name = "_upload";
fileInput.size = "35";
fileInput.setStyle("width", "100%");
+ fileInput.addClass("spaceFormItem");
fileInput.injectTop(panel);
this.fileInput = fileInput;
}
var anim = new Fx.Styles(panel, {duration: MySpaces.ANIM_LENGTH, transition: Fx.Transitions.linear});
anim.start({'opacity': 1});
+
+ this.popupPanel = panel;
},
/**
@@ -349,7 +372,7 @@ var MySpaces = {
"/ajax/invoke/FileUploadBean.uploadFile",
{currentPath: path.replace("_%_", "'")}); // decode path
this.fileInput = null;
- this.closePanel(actionEl);
+ this.closePopupPanel();
},
/**