mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Split of MyWebForms portlet into MyWebForms and MyWebFiles portlets
- Improvements from UI review from Linton - High and click action in MyWebFiles (as per UI review) - Lock icon for locked items - Hide Edit action if item is in workflow or user does not have access to the lock Scrollbar CSS colours added to portlets Added new portlet to portlet.xml defs and as a new dashlet JSP+config Updates to MyTasks portlet git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6208 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
133
source/web/scripts/ajax/mywebfiles.js
Normal file
133
source/web/scripts/ajax/mywebfiles.js
Normal file
@@ -0,0 +1,133 @@
|
||||
var MyWebFiles = {
|
||||
ANIM_LENGTH: 300,
|
||||
FILE_PANEL_HEIGHT: 128,
|
||||
|
||||
start: function()
|
||||
{
|
||||
if ($('webFilesPanel'))
|
||||
{
|
||||
MyWebFiles.parseFilesPanels();
|
||||
$('webFilesPanel').setStyle('visibility', 'visible');
|
||||
}
|
||||
},
|
||||
|
||||
parseFilesPanels: function()
|
||||
{
|
||||
var projects = $$('#webFilesPanel .webProjectRow');
|
||||
var files = $$('#webFilesPanel .webProjectFiles');
|
||||
var fxFile = new Fx.Elements(files, {wait: false, duration: MyWebFiles.ANIM_LENGTH, transition: Fx.Transitions.sineInOut,
|
||||
onComplete: function()
|
||||
{
|
||||
// event handler to ensure scrollable area style is set
|
||||
this.elements.each(function(file, i)
|
||||
{
|
||||
if (file.parentNode.isOpen == true)
|
||||
{
|
||||
$E('.fileResources', file).setStyle('overflow', 'auto');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
projects.each(function(project, i)
|
||||
{
|
||||
var file = files[i];
|
||||
|
||||
// animated elements defaults
|
||||
file.maxHeight = file.getStyle('height').toInt();
|
||||
file.defHeight = 1;
|
||||
file.setStyle('height', file.defHeight);
|
||||
file.setStyle('display', 'block');
|
||||
file.setStyle('opacity', 0);
|
||||
|
||||
// register 'mouseenter' event for each project
|
||||
project.addEvent('mouseenter', function(e)
|
||||
{
|
||||
if (projects.isOpen)
|
||||
return;
|
||||
|
||||
// highlight the item title
|
||||
projects.addClass('webProjectRowSelected');
|
||||
|
||||
// reset styles on all closed projects
|
||||
projects.each(function(otherProject, j)
|
||||
{
|
||||
if ((otherProject != project) && (!otherProject.isOpen))
|
||||
{
|
||||
// reset selected class
|
||||
otherProject.removeClass('webProjectRowSelected');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// register 'mouseleave' event for each project
|
||||
project.addEvent('mouseleave', function(e)
|
||||
{
|
||||
if (project.isOpen)
|
||||
return;
|
||||
|
||||
// unhighlight the item title
|
||||
project.removeClass('webProjectRowSelected');
|
||||
});
|
||||
|
||||
// register 'click' event for each project
|
||||
project.addEvent('click', function(e)
|
||||
{
|
||||
var animFile = {},
|
||||
fileHeight = file.getStyle('height').toInt();
|
||||
|
||||
if (!project.isOpen)
|
||||
{
|
||||
// open up this project
|
||||
project.isOpen = true;
|
||||
|
||||
// slide and fade in the file panel
|
||||
animFile[i] = {
|
||||
'height': [fileHeight, file.defHeight + MyWebFiles.FILE_PANEL_HEIGHT],
|
||||
'opacity': [file.getStyle('opacity'), 1]};
|
||||
|
||||
// close other open projects and toggle this one if it's already open
|
||||
projects.each(function(otherProject, j)
|
||||
{
|
||||
var otherFile = files[j];
|
||||
|
||||
if (otherProject != project)
|
||||
{
|
||||
// close any other open projects
|
||||
otherProject.isOpen = false;
|
||||
|
||||
// unhighlight the item title
|
||||
otherProject.removeClass('webProjectRowSelected');
|
||||
|
||||
// does this file panel need resetting back to it's default height?
|
||||
var otherHeight = otherFile.getStyle('height').toInt();
|
||||
if (otherHeight != otherFile.defHeight)
|
||||
{
|
||||
animFile[j] = {
|
||||
'height': [otherHeight, otherFile.defHeight],
|
||||
'opacity': [otherFile.getStyle('opacity'), 0]};
|
||||
}
|
||||
|
||||
$E('.fileResources', otherFile).setStyle('overflow', 'hidden');
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
// close this project
|
||||
project.isOpen = false;
|
||||
|
||||
// reset project back to it's default height
|
||||
animFile[i] = {
|
||||
'height': [fileHeight, file.defHeight],
|
||||
'opacity': [file.getStyle('opacity'), 0]};
|
||||
|
||||
$E('.fileResources', file).setStyle('overflow', 'hidden');
|
||||
}
|
||||
fxFile.start(animFile);
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
window.addEvent('load', MyWebFiles.start);
|
Reference in New Issue
Block a user