diff --git a/config/alfresco/templates/client/task_summary_panel.ftl b/config/alfresco/templates/client/task_summary_panel.ftl index f78ed72db0..7016927c6e 100644 --- a/config/alfresco/templates/client/task_summary_panel.ftl +++ b/config/alfresco/templates/client/task_summary_panel.ftl @@ -13,7 +13,7 @@ - +
@@ -45,4 +45,9 @@ max-width: 700px; margin: 0px 0px 0px 0px; } + + .taskPopupData td + { + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + } \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_desc.xml b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_desc.xml new file mode 100644 index 0000000000..c11a1c1b36 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_desc.xml @@ -0,0 +1,7 @@ + + Document List + Generate the Document list portlet page + + user + required + \ No newline at end of file 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 new file mode 100644 index 0000000000..8f46d5f686 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/doclist_get_html.ftl @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + +<#-- get the filter mode from the passed in args --> +<#-- filters: 0=all, 1=word, 2=html, 3=pdf, 4=recent --> +<#if args.f?exists><#assign filter=args.f?number><#else><#assign filter=0> + +<#-- get the path location from the passed in args --> +<#if args.p?exists> + <#-- TODO: resolve the path (from Company Home) into a node or fall back to userhome--> + <#assign home=userhome> +<#else> + <#assign home=userhome> + + +
Type:${task.type?html}
Name:${task.name?html}
Start Date:${task.startDate?date}
+ + + + + + + + +
+ + + + + + + + +
All ItemsWord DocumentsHTML DocumentsPDF DocumentsRecently Modified
+
+
+ <#assign weekms=1000*60*60*24*7> + <#assign count=0> + <#list home.children?sort_by('name') as d> + <#if d.isDocument> + <#if (filter=0) || + (filter=1 && d.mimetype="application/msword") || + (filter=2 && d.mimetype="text/html") || + (filter=3 && d.mimetype="application/pdf") || + (filter=4 && (dateCompare(d.properties["cm:modified"],date,weekms) == 1 || dateCompare(d.properties["cm:created"], date, weekms) == 1))> + <#assign count=count+1> +
+
+ +
+
+
+ ${d.name?html} + + + +
+
+
+ + + + + + + + + + + + + +
Description:Created:
Modified:Created By:
Modified By:Size:
+
+
+ + + +
+
+
+ Showing ${count} items(s) +
+
+ + \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get.js b/config/alfresco/templates/webscripts/org/alfresco/portlets/mytasks_get.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/source/web/images/parts/doclist_footerbg.png b/source/web/images/parts/doclist_footerbg.png new file mode 100644 index 0000000000..dd29663ab1 Binary files /dev/null and b/source/web/images/parts/doclist_footerbg.png differ diff --git a/source/web/scripts/ajax/doclist.js b/source/web/scripts/ajax/doclist.js new file mode 100644 index 0000000000..d1dfc38b13 --- /dev/null +++ b/source/web/scripts/ajax/doclist.js @@ -0,0 +1,101 @@ +var MyDocs = { + + start: function() + { + if ($('docPanel')) + { + MyDocs.parseDocPanels(); + } + }, + + parseDocPanels: function() + { + var docs = $$('#docPanel .docRow'); + var items = $$('#docPanel .docItem'); + var infos = $$('#docPanel .docInfo'); + var details = $$('#docPanel .docDetail'); + var fxDetail = new Fx.Elements(details, {wait: false, duration: 500, transition: Fx.Transitions.linear}); + var fxInfo = new Fx.Elements(infos, {wait: false, duration: 500, transition: Fx.Transitions.linear}); + docs.each(function(doc, i) + { + var item = items[i]; + var info = infos[i]; + var detail = details[i]; + + // animated elements defaults + item.defBColor = (item.getStyle('background-color') == 'transparent') ? '' : item.getStyle('background-color'); + detail.defHeight = 0; + detail.setStyle('opacity', 0); + detail.setStyle('display', 'block'); + detail.setStyle('height', 0); + info.setStyle('opacity', 0); + + // register 'mouseenter' (subclassed mouseover) event for each doc + doc.addEvent('mouseenter', function(e) + { + var animInfo = {}, + animDetail = {}; + // highlight the item title + doc.addClass('docItemSelected'); + // fade in the info button + animInfo[i] = {'opacity': [0, 1]}; + // slide and fade in the details panel + animDetail[i] = { + 'height': [detail.getStyle('height').toInt(), detail.defHeight + 100], + 'opacity': [detail.getStyle('opacity'), 1]}; + + // reset styles on all other docs + docs.each(function(otherDoc, j) + { + var otherItem = items[j]; + var otherInfo = infos[j]; + var otherDetail = details[j]; + if (otherDoc != doc) + { + // reset selected class? + otherDoc.removeClass('docItemSelected'); + // does this doc 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]}; + } + } + }); + fxInfo.start(animInfo); + fxDetail.start(animDetail); + }); + }); + + $('docPanel').addEvent('mouseleave', function(e) + { + // handler for mouse leaving the entire doc panel + var animInfo = {}, + animDetail = {}; + + docs.each(function(doc, i) + { + var item = items[i]; + var detail = details[i]; + + doc.removeClass('docItemSelected'); + animDetail[i] = { + 'height': [detail.getStyle('height').toInt(), detail.defHeight], + 'opacity': [detail.getStyle('opacity'), 0]}; + animInfo[i] = {'opacity': [infos[i].getStyle('opacity'), 0]}; + }); + fxInfo.start(animInfo); + fxDetail.start(animDetail); + }); + } +}; + +window.addEvent('load', MyDocs.start); \ No newline at end of file