diff --git a/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl b/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl
index f6eb51f48e..76bc9d9734 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/portlets/mywebforms_get_html.ftl
@@ -2,6 +2,7 @@
+
<#-- List the available web form objects in all web projects the user is assigned to -->
@@ -81,6 +82,11 @@ a.webProjectLink:link, a.webProjectLink:visited, a.webProjectLink:hover
border-bottom: 1px solid #CCD4DB;
}
+.webProjectForms
+{
+ overflow: hidden;
+}
+
.webprojectDesc
{
color: #5A5741;
diff --git a/source/web/scripts/ajax/doclist.js b/source/web/scripts/ajax/doclist.js
index 8a127f0bb8..a0df8f8db6 100644
--- a/source/web/scripts/ajax/doclist.js
+++ b/source/web/scripts/ajax/doclist.js
@@ -77,15 +77,15 @@ var MyDocs = {
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 = 0;
+ detail.defHeight = 1;
detail.setStyle('opacity', 0);
detail.setStyle('display', 'block');
- detail.setStyle('height', 0);
+ detail.setStyle('height', detail.defHeight);
info.setStyle('opacity', 0);
img.defSrc = img.src;
img.bigSrc = img.src.replace(/filetypes\//, 'filetypes64/').replace(/.gif/, '.png');
- resource.defHeight = 0;
- resource.setStyle('height', 0);
+ resource.defHeight = 1;
+ resource.setStyle('height', resource.defHeight);
// register 'mouseenter' (subclassed mouseover) event for each doc
doc.addEvent('mouseenter', function(e)
diff --git a/source/web/scripts/ajax/myforms.js b/source/web/scripts/ajax/myforms.js
new file mode 100644
index 0000000000..0d31b308af
--- /dev/null
+++ b/source/web/scripts/ajax/myforms.js
@@ -0,0 +1,82 @@
+var MyWebForms = {
+
+ start: function()
+ {
+ if ($('formsPanel'))
+ {
+ MyWebForms.parseFormsPanels();
+ $('formsPanel').setStyle('visibility', 'visible');
+ }
+ },
+
+ parseFormsPanels: function()
+ {
+ var projects = $$('#formsPanel .webProjectRow');
+ var frms = $$('#formsPanel .webProjectForms');
+ var fxForm = new Fx.Elements(frms, {wait: false, duration: 300, transition: Fx.Transitions.linear});
+
+ projects.each(function(project, i)
+ {
+ var frm = frms[i];
+
+ // animated elements defaults
+ frm.maxHeight = frm.getStyle('height').toInt();
+ frm.defHeight = 1;
+ frm.setStyle('height', 0);
+ frm.setStyle('opacity', 0);
+
+ // register 'mouseenter' (subclassed mouseover) event for each project
+ project.addEvent('mouseenter', function(e)
+ {
+ var animForm = {};
+
+ // slide and fade in the frms panel
+ animForm[i] =
+ {
+ 'height': [frm.getStyle('height').toInt(), frm.maxHeight],
+ 'opacity': [frm.getStyle('opacity'), 1]
+ };
+
+ // reset styles on all other frms
+ projects.each(function(otherProject, j)
+ {
+ var otherfrm = frms[j];
+
+ if (otherProject != project)
+ {
+ // does this frm panel need resetting back to it's default height?
+ var h = otherfrm.getStyle('height').toInt();
+ if (h != otherfrm.defHeight)
+ {
+ animForm[j] =
+ {
+ 'height': [h, otherfrm.defHeight],
+ 'opacity': [otherfrm.getStyle('opacity'), 0]};
+ }
+ }
+ });
+ fxForm.start(animForm);
+ });
+ });
+
+ $('formsPanel').addEvent('mouseleave', function(e)
+ {
+ // handler for mouse leaving the entire panel
+ var animForm = {};
+
+ projects.each(function(project, i)
+ {
+ var frm = frms[i];
+
+ animForm[i] =
+ {
+ 'height': [frm.getStyle('height').toInt(), frm.defHeight],
+ 'opacity': [frm.getStyle('opacity'), 0]
+ };
+ });
+ fxForm.start(animForm);
+ });
+ }
+};
+
+window.addEvent('load', MyWebForms.start);
\ No newline at end of file
diff --git a/source/web/scripts/ajax/mytasks.js b/source/web/scripts/ajax/mytasks.js
index a74c41bf89..fae68eec9b 100644
--- a/source/web/scripts/ajax/mytasks.js
+++ b/source/web/scripts/ajax/mytasks.js
@@ -40,10 +40,10 @@ var MyTasks = {
task.isOpen = false;
task.loadingResources = false;
item.defBColor = (item.getStyle('background-color') == 'transparent') ? '' : item.getStyle('background-color');
- detail.defHeight = 0;
+ detail.defHeight = 1;
detail.setStyle('opacity', 0);
detail.setStyle('display', 'block');
- detail.setStyle('height', 0);
+ detail.setStyle('height', detail.defHeight);
info.setStyle('opacity', 0);
// register 'mouseenter' event for each task