diff --git a/config/alfresco/templates/client/portlet_node_summary_panel.ftl b/config/alfresco/templates/client/portlet_node_summary_panel.ftl index 016a2a8c24..7eeb9afec5 100644 --- a/config/alfresco/templates/client/portlet_node_summary_panel.ftl +++ b/config/alfresco/templates/client/portlet_node_summary_panel.ftl @@ -36,13 +36,13 @@ - +
-
+
diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl index 9752668eea..c7b0fefa8f 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl @@ -1,3 +1,4 @@ + @@ -60,7 +61,7 @@ <#assign count=count+1>
- ${d.name} +
${d.name?html} @@ -189,9 +190,9 @@ a.docfilterLinkSelected:link, a.docfilterLinkSelected:visited font-family: Trebuchet MS, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; - margin: 0px 0px 0px 48px; display: none; overflow: hidden; + padding-left: 48px; } .docItemSelected diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_desc.xml new file mode 100644 index 0000000000..40c61baec2 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_desc.xml @@ -0,0 +1,7 @@ + + My Spaces + Generate the My Spaces portlet page + + user + required + \ No newline at end of file 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 new file mode 100644 index 0000000000..1ac8198d53 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/myspaces_get_html.ftl @@ -0,0 +1,292 @@ + + + + + + + + + + + + + +<#-- get the filter mode from the passed in args --> +<#-- filters: 0=all, 1=spaces, 2=docs, 3=mine --> +<#if args.f?exists && args.f?length!=0><#assign filter=args.f?number><#else><#assign filter=0> + +<#-- get the path location from the passed in args, remove trailing slash --> +<#if args.p?exists><#assign path=args.p><#else><#assign path=""> +<#if path?ends_with("/")><#assign path=path[0..path?length-2]> +<#-- resolve the path (from Company Home) into a node or fall back to userhome--> +<#if path?starts_with("/Company Home")> + <#if path?length=13> + <#assign home=companyhome> + <#elseif companyhome.childByNamePath[args.p[14..]]?exists> + <#assign home=companyhome.childByNamePath[args.p[14..]]> + <#else> + <#assign home=userhome> + +<#else> + <#assign home=userhome> + +<#assign path=home.displayPath + "/" + home.name> + +
+
+ <#-- construct breadcrumb elements as links --> + <#assign bcpath="/"> + <#assign crumbs=path?split("/")> + <#list crumbs as c> + <#if c?length != 0> + <#assign bcpath=bcpath+c+"/"> + ${c} + <#if c_index >  + + +
+
+ ${home.name?html} +
+
+
Upload
+
Create Space
+
+
+
+ + + + + + + +
All ItemsSpacesDocumentsMy Items
+
+
+
+ <#assign user=person.properties.userName> + <#assign count=0> + <#list home.children?sort_by('name') as d> + <#if (filter=0) || + (filter=1 && d.isContainer) || + (filter=2 && d.isDocument) || + (filter=3 && (d.properties.creator == user || d.properties.modifier == user))> + <#assign count=count+1> +
+
+ <#if d.isDocument> + + <#else> + + +
+
+ ${d.name?html} + + + +
+
+ + + + + + +
+ Description: 
+ Modified: 
+ Modified By:  +
  + Created: 
+ Created By: 
+ Size:  +
+
+
+ + +
+
+ Showing ${count} items(s) +
+
+ + \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl index 579c6dc67c..c7faf2829d 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get_html.ftl @@ -232,10 +232,7 @@ a.taskfilterLinkSelected:link, a.taskfilterLinkSelected:visited .taskResources { - border-left: 1px solid #0092DD; - border-top: 1px solid #0092DD; - border-bottom: 1px solid #CCD4DB; - border-right: 1px solid #CCD4DB; + border: 1px solid #FFE500; background-color: #FEF8BC; margin: 4px 0px 0px 16px; width: 400px; diff --git a/source/web/images/icons/doclist_action_createspace.png b/source/web/images/icons/doclist_action_createspace.png new file mode 100644 index 0000000000..fff40ce8b0 Binary files /dev/null and b/source/web/images/icons/doclist_action_createspace.png differ diff --git a/source/web/images/icons/doclist_action_upload.png b/source/web/images/icons/doclist_action_upload.png new file mode 100644 index 0000000000..3b06568bbd Binary files /dev/null and b/source/web/images/icons/doclist_action_upload.png differ diff --git a/source/web/images/icons/space-icon-cd-16.png b/source/web/images/icons/space-icon-cd-16.png new file mode 100644 index 0000000000..58f5e278b6 Binary files /dev/null and b/source/web/images/icons/space-icon-cd-16.png differ diff --git a/source/web/images/icons/space-icon-cd-64.png b/source/web/images/icons/space-icon-cd-64.png new file mode 100644 index 0000000000..1d0d922376 Binary files /dev/null and b/source/web/images/icons/space-icon-cd-64.png differ diff --git a/source/web/images/icons/space-icon-default-16.png b/source/web/images/icons/space-icon-default-16.png new file mode 100644 index 0000000000..d336c705ca Binary files /dev/null and b/source/web/images/icons/space-icon-default-16.png differ diff --git a/source/web/images/icons/space-icon-default-64.png b/source/web/images/icons/space-icon-default-64.png new file mode 100644 index 0000000000..dfa2cedad7 Binary files /dev/null and b/source/web/images/icons/space-icon-default-64.png differ diff --git a/source/web/images/icons/space-icon-doc-16.png b/source/web/images/icons/space-icon-doc-16.png new file mode 100644 index 0000000000..2a741d3940 Binary files /dev/null and b/source/web/images/icons/space-icon-doc-16.png differ diff --git a/source/web/images/icons/space-icon-doc-64.png b/source/web/images/icons/space-icon-doc-64.png new file mode 100644 index 0000000000..adcfb30fc2 Binary files /dev/null and b/source/web/images/icons/space-icon-doc-64.png differ diff --git a/source/web/images/icons/space-icon-image-16.png b/source/web/images/icons/space-icon-image-16.png new file mode 100644 index 0000000000..0fdf161d01 Binary files /dev/null and b/source/web/images/icons/space-icon-image-16.png differ diff --git a/source/web/images/icons/space-icon-image-64.png b/source/web/images/icons/space-icon-image-64.png new file mode 100644 index 0000000000..6216641902 Binary files /dev/null and b/source/web/images/icons/space-icon-image-64.png differ diff --git a/source/web/images/icons/space-icon-pen-16.png b/source/web/images/icons/space-icon-pen-16.png new file mode 100644 index 0000000000..77101b12eb Binary files /dev/null and b/source/web/images/icons/space-icon-pen-16.png differ diff --git a/source/web/images/icons/space-icon-pen-64.png b/source/web/images/icons/space-icon-pen-64.png new file mode 100644 index 0000000000..cecf78c50d Binary files /dev/null and b/source/web/images/icons/space-icon-pen-64.png differ diff --git a/source/web/images/icons/space-icon-star-16.png b/source/web/images/icons/space-icon-star-16.png new file mode 100644 index 0000000000..bc39f4ce83 Binary files /dev/null and b/source/web/images/icons/space-icon-star-16.png differ diff --git a/source/web/images/icons/space-icon-star-64.png b/source/web/images/icons/space-icon-star-64.png new file mode 100644 index 0000000000..e002f888d3 Binary files /dev/null and b/source/web/images/icons/space-icon-star-64.png differ diff --git a/source/web/scripts/ajax/myspaces.js b/source/web/scripts/ajax/myspaces.js new file mode 100644 index 0000000000..46f0a48f7a --- /dev/null +++ b/source/web/scripts/ajax/myspaces.js @@ -0,0 +1,206 @@ +var MySpaces = { + + start: function() + { + if ($('spacePanel')) + { + MySpaces.parseSpacePanels(); + $('spacePanel').setStyle('visibility', 'visible'); + } + }, + + parseSpacePanels: function() + { + var spaces = $$('#spacePanel .spaceRow'); + var items = $$('#spacePanel .spaceItem'); + var infos = $$('#spacePanel .spaceInfo'); + var details = $$('#spacePanel .spaceDetail'); + var icons = $$('#spacePanel .spaceIcon'); + var imgs = $$('#spacePanel .spaceIconImage'); + var fxItem = new Fx.Elements(items, {wait: false, duration: 300, transition: Fx.Transitions.linear}); + var fxDetail = new Fx.Elements(details, {wait: false, duration: 300, transition: Fx.Transitions.linear}); + var fxInfo = new Fx.Elements(infos, {wait: false, duration: 300, transition: Fx.Transitions.linear}); + var fxIcon = new Fx.Elements(icons, {wait: false, duration: 300, transition: Fx.Transitions.linear}); + var fxImage = new Fx.Elements(imgs, + { + wait: false, + duration: 300, + transition: Fx.Transitions.linear, + onComplete: function() + { + this.elements.each(function(img, i) + { + img.src = (img.getStyle('height').toInt() == 16) ? img.defSrc : img.bigSrc; + }); + } + }); + + spaces.each(function(space, i) + { + var item = items[i], + info = infos[i], + detail = details[i], + img = imgs[i]; + + // animated elements defaults + item.defMarginLeft = item.getStyle('margin-left').toInt(); + item.defFontSize = item.getStyle('font-size').toInt(); + item.defBColor = (item.getStyle('background-color') == 'transparent') ? '' : item.getStyle('background-color'); + detail.defHeight = 1; + detail.setStyle('opacity', 0); + detail.setStyle('display', 'block'); + detail.setStyle('height', detail.defHeight); + info.setStyle('opacity', 0); + img.defSrc = img.src; + if (img.src.indexOf("/filetypes/") != -1) + { + img.bigSrc = img.src.replace(/filetypes\//, 'filetypes64/'); + } + else + { + img.bigSrc = img.src.replace(/16.png$/, '64.png'); + } + + // register 'mouseenter' (subclassed mouseover) event for each space + space.addEvent('mouseenter', function(e) + { + var animItem = {}, + animDetail = {}, + animInfo = {}; + animImage = {}; + // highlight the item title + space.addClass('spaceItemSelected'); + // move the item title to the right + animItem[i] = { + 'margin-left': [item.getStyle('margin-left').toInt(), 89], + 'font-size': [item.getStyle('font-size').toInt(), 18] + }; + // fade in the info button + animInfo[i] = {'opacity': [info.getStyle('opacity'), 1]}; + // slide and fade in the details panel + animDetail[i] = { + 'height': [detail.getStyle('height').toInt(), detail.defHeight + 64], + 'opacity': [detail.getStyle('opacity'), 1] + }; + // grow the spacetype image + animImage[i] = { + 'height': [img.getStyle('height').toInt(), 64], + 'width': [img.getStyle('width').toInt(), 64] + }; + img.src = img.bigSrc; + + // reset styles on all other space + spaces.each(function(otherSpace, j) + { + var otherItem = items[j]; + var otherInfo = infos[j]; + var otherDetail = details[j]; + var otherImg = imgs[j]; + if ((otherSpace != space) && (!otherSpace.isOpen)) + { + // reset selected class? + otherSpace.removeClass('spaceItemSelected'); + // move the title back to the left? + var ml = otherItem.getStyle('margin-left').toInt(); + if (ml != otherItem.defMarginLeft) + { + animItem[j] = { + 'margin-left': [ml, otherItem.defMarginLeft], + 'font-size': [otherItem.getStyle('font-size').toInt(), otherItem.defFontSize] + }; + } + // does this space detail panel need resetting back to it's default height? + var h = otherDetail.getStyle('height').toInt(); + if (h != otherDetail.defHeight) + { + animDetail[j] = { + 'height': [h, otherDetail.defHeight], + 'opacity': [otherDetail.getStyle('opacity'), 0]}; + } + // does the info button need fading out + var o = otherInfo.getStyle('opacity'); + if (o != 0) + { + animInfo[j] = {'opacity': [o, 0]}; + } + // does the image need shrinking? + var ih = otherImg.getStyle('height').toInt(); + if (ih != 16) + { + animImage[j] = { + 'height': [ih, 16], + 'width': [ih, 16] + }; + } + } + }); + fxItem.start(animItem); + fxDetail.start(animDetail); + fxInfo.start(animInfo); + fxImage.start(animImage); + }); + }); + + $('spacePanel').addEvent('mouseleave', function(e) + { + // handler for mouse leaving the entire space panel + var animItem = {}, + animDetail = {}, + animInfo = {}, + animImage = {}; + + spaces.each(function(space, i) + { + var item = items[i], + detail = details[i], + info = infos[i], + img = imgs[i]; + + if (space.isOpen) + { + // continue animations that may have been going on before the click + // move the item title to the right + animItem[i] = { + 'margin-left': [item.getStyle('margin-left').toInt(), 89], + 'font-size': [item.getStyle('font-size').toInt(), 18] + }; + // fade in the info button + animInfo[i] = {'opacity': [info.getStyle('opacity'), 1]}; + // slide and fade in the details panel + animDetail[i] = { + 'height': [detail.getStyle('height').toInt(), detail.defHeight + 64], + 'opacity': [detail.getStyle('opacity'), 1] + }; + // grow the spacetype image + animImage[i] = { + 'height': [img.getStyle('height').toInt(), 64], + 'width': [img.getStyle('width').toInt(), 64] + }; + } + else + { + space.removeClass('spaceItemSelected'); + animItem[i] = { + 'margin-left': [item.getStyle('margin-left').toInt(), item.defMarginLeft], + 'font-size': [item.getStyle('font-size').toInt(), item.defFontSize] + }; + animDetail[i] = { + 'height': [detail.getStyle('height').toInt(), detail.defHeight], + 'opacity': [detail.getStyle('opacity'), 0] + }; + animInfo[i] = {'opacity': [infos[i].getStyle('opacity'), 0]}; + animImage[i] = { + 'height': [img.getStyle('height').toInt(), 16], + 'width': [img.getStyle('width').toInt(), 16] + }; + } + }); + fxItem.start(animItem); + fxDetail.start(animDetail); + fxInfo.start(animInfo); + fxImage.start(animImage); + }); + } +}; + +window.addEvent('load', MySpaces.start); \ No newline at end of file