Merged V2.1 to HEAD

6609: Portlet UI (doclist, myspaces, mytasks) updates following design review
   6610: AR-1270
   6611: debugging WCM-778.
   6612: Improved API documentation.
   6613: Added store lookup cache to EHCache config for default and extended cluster sample
   6614: AWC-1531 and AWC-1146. Link objects that have targets which the user does not have access to are now filtered from the view.
   6615: AR-1664: Bootstraping from full export fails if file names differs only with a space: my file, my file
   6616: Fixed AR-1519: Possible duplicate entries when moving nodes between stores
   6617: Removed deprecated aspects; Added emailed aspect to messages; Added OOo command line options
   6618: Fix for AWC-1350
   6619: Fix for AWC-1509
   6620: AWC-1179: Searching for users in Invite User Wizard is slow with large number of users
   6621: Changed shutdown logic to avoid classloader cleanup race.
   6622: Fix for AWC-1533 (can't save office docs to Company Home)
   6623: Fix for AR-1705
   6624: Better fix for AWC-1256 (links generated by tinyMCE editor)
   6625: Fixed AR-1713: Transformers that do nothing don't break full text indexing
   6626: Fixed AWC-1438: Added explcit TXT to PDF converter that wraps the PDFBox TextToPDF class
   6627: Portlet templates now handle missing description property on web form
   6628: Fix WCM-788
   6635: Make workflow available for users who cannot see company home
         Resolved conflicted state of 'root\projects\repository\source\java\org\alfresco\repo\workflow\jbpm\JBPMEngine.java'


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6748 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-09-11 03:39:41 +00:00
parent fd2ee9fde1
commit f279d99d80
36 changed files with 677 additions and 194 deletions

View File

@@ -517,7 +517,7 @@ function openWindowCallback(url, callback)
// Register our "well known" callback function
window.alfrescoCallback = openWindowOnCallback;
// Use a named window so that only one dialog is active at a time
window.open(url, 'alfrescoDialog', 'width=1024,height=768');
window.open(url, 'alfrescoDialog', 'width=1024,height=768,scrollbars=yes');
}
function openWindowOnCallback(fromTimeout)

View File

@@ -2,7 +2,7 @@ var MyDocs = {
IMG_SMALL: 16,
IMG_LARGE: 64,
ANIM_LENGTH: 300,
DETAIL_MARGIN: 56,
DETAIL_MARGIN: 8,
TITLE_FONT_SIZE: 18,
RESOURCE_PANEL_HEIGHT: 150,
OVERLAY_OPACITY: 0.8,
@@ -20,6 +20,11 @@ var MyDocs = {
// show AJAX loading overlay
$('docPanelOverlayAjax').setStyle('visibility', 'visible');
$('docPanel').setStyle('visibility', 'hidden');
var messagePanel = $('docMessagePanel');
messagePanel.setStyle('opacity', 0);
messagePanel.setStyle('display', 'block');
// fire off the ajax request to populate the doc list - the 'doclistpanel' webscript
// is responsible for rendering just the contents of the main panel div
YAHOO.util.Connect.asyncRequest(
@@ -252,6 +257,8 @@ var MyDocs = {
if (!doc.isOpen)
{
doc.addClass("docItemSelectedOpen");
if (!resource.isLoaded)
{
// fire off the ajax request to get the resources for this task
@@ -333,6 +340,8 @@ var MyDocs = {
// reset selected class?
otherDoc.removeClass('docItemSelected');
otherDoc.removeClass("docItemSelectedOpen");
// move the title back to the left?
var ml = otherItem.getStyle('margin-left').toInt();
if (ml != otherItem.defMarginLeft)
@@ -388,6 +397,8 @@ var MyDocs = {
// close this document panel
// flag this document as closed
doc.isOpen = false;
doc.removeClass("docItemSelectedOpen");
// reset resource panel back to it's default height
animResource[i] = {
@@ -523,6 +534,7 @@ var MyDocs = {
if (response.responseText.indexOf("OK:") == 0)
{
MyDocs.refreshList();
MyDocs.displayMessage("A working copy for the checked out item 'Working Copy of " + name + "' has been created.");
}
else
{
@@ -557,6 +569,7 @@ var MyDocs = {
if (response.responseText.indexOf("OK:") == 0)
{
MyDocs.refreshList();
MyDocs.displayMessage("Item 'Working Copy of " + name + "' has been checked in.");
}
else
{
@@ -764,6 +777,71 @@ var MyDocs = {
{
// Refresh the inner panel
MyDocs.refreshList(true);
},
/**
* Display a message bubble of helpful info to the user. Calling this function in quick
* succession will cause previous message to be lost as the new ones are displayed.
*
* @param message Message text to display
*/
displayMessage: function(message)
{
var panel = $("docMessagePanel");
if ($defined(panel.timeout))
{
clearTimeout(panel.timeout);
panel.timeout = null;
}
panel.setStyle("opacity", 0);
panel.setStyle("margin-top", -60);
panel.getChildren()[1].setHTML(message);
// reset the close box animation by refreshing the image source
$("docMessagePanelCloseImage").src = getContextPath() + "/images/icons/close_portlet_animation.gif";
panel.fxMessage = new Fx.Styles(panel,
{
duration: 1000,
transition: Fx.Transitions.sineInOut
});
panel.fxMessage.start({'margin-top': -40, 'opacity': [0, 0.75]});
panel.timeout = window.setTimeout(this.fadeOutMessage, 9000);
},
/**
* Timer callback function to fade out the message panel
*/
fadeOutMessage: function()
{
var panel = $("docMessagePanel");
panel.timeout = null;
var fxMessage = new Fx.Styles(panel,
{
duration: 1000,
transition: Fx.Transitions.sineInOut
});
fxMessage.start({'margin-top': -60, 'opacity': [0]});
},
/**
* Close the message panel immediately when the user clicks the close icon
*/
closeMessage: function()
{
var panel = $("docMessagePanel");
if ($defined(panel.timeout))
{
clearTimeout(panel.timeout);
panel.timeout = null;
}
panel.fxMessage.stop();
panel.setStyle("opacity", 0);
}
};

View File

@@ -1,6 +1,6 @@
var MyTasks = {
ANIM_LENGTH: 300,
DETAIL_PANEL_HEIGHT: 132,
DETAIL_PANEL_HEIGHT: 137,
Filter: null,
ServiceContext: null,
@@ -8,6 +8,10 @@ var MyTasks = {
{
if ($('taskPanel'))
{
var messagePanel = $("taskMessagePanel");
messagePanel.setStyle('opacity', 0);
messagePanel.setStyle('display', 'block');
// fire off the ajax request to populate the task panel - the 'mytaskspanel' webscript
// is responsible for rendering just the contents of the main panel div
YAHOO.util.Connect.asyncRequest(
@@ -45,6 +49,12 @@ var MyTasks = {
// hide the ajax wait panel and show the main task panel
$('taskPanelOverlay').setStyle('visibility', 'hidden');
$('taskPanel').setStyle('visibility', 'visible');
if (MyTasks.postInit)
{
MyTasks.postInit();
MyTasks.postInit = null;
}
},
parseTaskPanels: function()
@@ -170,6 +180,8 @@ var MyTasks = {
// open up this task
// flag this task as open
task.isOpen = true;
task.addClass("taskItemSelected");
task.addClass("taskItemSelectedOpen");
if (task.loadingResources == false)
{
@@ -212,6 +224,7 @@ var MyTasks = {
// unhighlight the item title
otherTask.removeClass('taskItemSelected');
otherTask.removeClass("taskItemSelectedOpen");
// does this task detail panel need resetting back to it's default height?
var otherHeight = otherDetail.getStyle('height').toInt();
@@ -237,6 +250,7 @@ var MyTasks = {
// close this task
// flag this task as closed
task.isOpen = false;
task.removeClass("taskItemSelectedOpen");
// fade in info button
animInfo[i] = {'opacity': [infoOpacity, 1]};
@@ -292,21 +306,39 @@ var MyTasks = {
);
},
displayMessage: function(message)
{
var footer = $('taskFooter');
if (footer.oldMessage == undefined)
{
footer.oldMessage = footer.innerHTML;
}
footer.innerHTML = message + ' ' + footer.oldMessage;
},
/**
* Refresh the main data list contents within the taskPanel container
*/
refreshList: function()
refreshList: function(reopenActive)
{
// do we want to remember which panel was open?
if (reopenActive)
{
// do we have an open panel?
var openPanel = $E('#taskPanel .taskItemSelected');
var openPanelId = null;
if (openPanel != null)
{
openPanelId = openPanel.id;
// Re-open the panel if the id still exists
MyTasks.postInit = function()
{
if ($(openPanelId))
{
$(openPanelId).fireEvent("click");
// scroll the open panel into view
var fxScroll = new Fx.Scroll($('taskPanel'),
{
duration: MyTasks.ANIM_LENGTH,
transition: Fx.Transitions.linear
});
fxScroll.toElement($(openPanelId));
}
}
}
}
// empty the main panel div and restart by reloading the panel contents
var taskPanel = $('taskPanel');
taskPanel.setStyle('visibility', 'hidden');
@@ -322,15 +354,15 @@ var MyTasks = {
*/
filter: function(filter)
{
$$('.taskfilterLink').each(function(filterLink, i)
$$('#taskFilterBar li').each(function(filterLink, i)
{
if (i == filter)
{
filterLink.addClass("taskfilterLinkSelected");
filterLink.addClass("taskCurrent");
}
else
{
filterLink.removeClass("taskfilterLinkSelected");
filterLink.removeClass("taskCurrent");
}
});
MyTasks.Filter = filter;
@@ -361,8 +393,81 @@ var MyTasks = {
var x = a.dueDate;
var y = b.dueDate;
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}
},
/**
* Called when the Manage Task dialog returns
*/
manageTaskCallback: function()
{
// The manage task dialog window has closed
MyTasks.refreshList(true);
},
/**
* Display a message bubble of helpful info to the user. Calling this function in quick
* succession will cause previous message to be lost as the new ones are displayed.
*
* @param message Message text to display
*/
displayMessage: function(message)
{
var panel = $("taskMessagePanel");
if ($defined(panel.timeout))
{
clearTimeout(panel.timeout);
panel.timeout = null;
}
panel.setStyle("opacity", 0);
panel.setStyle("margin-top", -90);
panel.getChildren()[1].setHTML(message);
// reset the close box animation by refreshing the image source
$("taskMessagePanelCloseImage").src = getContextPath() + "/images/icons/close_portlet_animation.gif";
panel.fxMessage = new Fx.Styles(panel,
{
duration: 1000,
transition: Fx.Transitions.sineInOut
});
panel.fxMessage.start({'margin-top': -70, 'opacity': [0, 0.75]});
panel.timeout = window.setTimeout(this.fadeOutMessage, 9000);
},
/**
* Timer callback function to fade out the message panel
*/
fadeOutMessage: function()
{
var panel = $("taskMessagePanel");
panel.timeout = null;
var fxMessage = new Fx.Styles(panel,
{
duration: 1000,
transition: Fx.Transitions.sineInOut
});
fxMessage.start({'margin-top': -90, 'opacity': [0]});
},
/**
* Close the message panel immediately when the user clicks the close icon
*/
closeMessage: function()
{
var panel = $("taskMessagePanel");
if ($defined(panel.timeout))
{
clearTimeout(panel.timeout);
panel.timeout = null;
}
panel.fxMessage.stop();
panel.setStyle("opacity", 0);
}
};
window.addEvent('load', MyTasks.start);

View File

@@ -34,7 +34,7 @@ var MyWebFiles = {
var file = files[i];
// animated elements defaults
file.maxHeight = file.getStyle('height').toInt();
file.maxHeight = Math.max(file.getStyle('height').toInt(), 1);
file.defHeight = 1;
file.setStyle('height', file.defHeight);
file.setStyle('display', 'block');

View File

@@ -21,7 +21,7 @@ var MyWebForms = {
var frm = frms[i];
// animated elements defaults
frm.maxHeight = frm.getStyle('height').toInt();
frm.maxHeight = Math.max(frm.getStyle('height').toInt(), 1);
frm.defHeight = 1;
frm.setStyle('height', frm.defHeight);
frm.setStyle('opacity', 0);