Project subSpaces ordered by name. Also layout bug fix to presence for IE

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7588 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield
2007-12-07 14:47:16 +00:00
parent 356cb0930b
commit 2a50c69896
4 changed files with 114 additions and 103 deletions

View File

@@ -5,6 +5,8 @@
</div> </div>
<div class="colleagueList" rel="${colleaguePresence.colleagues?size}"> <div class="colleagueList" rel="${colleaguePresence.colleagues?size}">
<div id="colleaguesOnline"> <div id="colleaguesOnline">
</div>
<div id="colleaguesNotOnline">
<#list colleaguePresence.colleagues?keys as key> <#list colleaguePresence.colleagues?keys as key>
<#assign c = colleaguePresence.colleagues[key]> <#assign c = colleaguePresence.colleagues[key]>
<div class="colleagueRow"> <div class="colleagueRow">
@@ -26,8 +28,6 @@
</div> </div>
</#list> </#list>
</div> </div>
<div id="colleaguesNotOnline">
</div>
</div> </div>
<div class="collabFooter"> <div class="collabFooter">
<span>&nbsp;</span> <span>&nbsp;</span>
@@ -41,21 +41,24 @@
.colleagueList { .colleagueList {
border-left: 1px solid #B9BEC4; border-left: 1px solid #B9BEC4;
border-right: 1px solid #B9BEC4; border-right: 1px solid #B9BEC4;
min-height: 290px; height: 400px;
overflow-x: hidden; overflow-x: hidden;
overflow-y: scroll; overflow-y: scroll;
} }
#colleaguesOnline { #colleaguesOnline {
float: left;
} }
#colleaguesNotOnline { #colleaguesNotOnline {
float: left;
} }
.colleagueRow { .colleagueRow {
clear: both; clear: both;
float: left;
min-height: 56px; min-height: 56px;
padding: 8px 8px 0px; padding: 8px 8px 0px;
width: 208px;
} }
.colleagueAvatar { .colleagueAvatar {

View File

@@ -8,7 +8,7 @@
<table width="100%" cellpadding="16" cellspacing="0"> <table width="100%" cellpadding="16" cellspacing="0">
<tr valign="top"> <tr valign="top">
<td> <td>
<#list projectSpace.subSpaces?keys as key> <#list projectSpace.subSpaces?keys?sort as key>
<#assign node = projectSpace.subSpaces[key]> <#assign node = projectSpace.subSpaces[key]>
<#assign summary = node.properties["cm:summaryWebscript"]!""> <#assign summary = node.properties["cm:summaryWebscript"]!"">
<div class="projectSpace"> <div class="projectSpace">

View File

@@ -22,7 +22,7 @@ function main(nodeRef)
{ {
if (node.hasAspect("{http://www.alfresco.org/model/content/1.0}projectsummary")) if (node.hasAspect("{http://www.alfresco.org/model/content/1.0}projectsummary"))
{ {
subSpaces[node.nodeRef] = node; subSpaces[node.name] = node;
} }
} }
} }

View File

@@ -12,11 +12,11 @@ var ProjectPresence =
var statuses = $$("#projectColleagues .colleaguePresence"); var statuses = $$("#projectColleagues .colleaguePresence");
var rows = $$("#projectColleagues .colleagueRow"); var rows = $$("#projectColleagues .colleagueRow");
$('colleaguesNotOnline').setStyle("opacity", ProjectPresence.OFFLINE_OPACITY); $("colleaguesNotOnline").setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);
statuses.each(function(status, i) statuses.each(function(stat, i)
{ {
var userDetails = status.attributes["rel"].value.split("|"); var userDetails = stat.attributes["rel"].value.split("|");
var proxyURL = window.contextPath + "/ajax/invoke/PresenceProxyBean.proxyRequest"; var proxyURL = window.contextPath + "/ajax/invoke/PresenceProxyBean.proxyRequest";
var statusURL = ProjectPresence.getStatusURL(userDetails); var statusURL = ProjectPresence.getStatusURL(userDetails);
@@ -29,31 +29,39 @@ var ProjectPresence =
onComplete: function(textResponse, xmlResponse) onComplete: function(textResponse, xmlResponse)
{ {
var statusType = ProjectPresence.getStatusType(userDetails[0], textResponse); var statusType = ProjectPresence.getStatusType(userDetails[0], textResponse);
status.addClass(userDetails[0] + "-" + statusType); stat.addClass(userDetails[0] + "-" + statusType);
if (statusType == "unknown") if (statusType == "unknown")
{ {
status.title = "User's status is unknown, possibly due to client privacy settings"; stat.title = "User's status is unknown, possibly due to client privacy settings";
} }
else else
{ {
status.title = "User's status is " + statusType; stat.title = "User's status is " + statusType;
} }
if (statusType == "online") if (statusType == "online")
{ {
$('colleaguesOnline').adopt(rows[i]); $("colleaguesOnline").adopt(rows[i]);
} }
else else
{ {
$('colleaguesNotOnline').adopt(rows[i]); $("colleaguesNotOnline").adopt(rows[i]);
if (window.ie)
{
stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);
}
} }
} }
}).request("url=" + escape(statusURL)); }).request("url=" + escape(statusURL));
} }
else else
{ {
status.addClass("none"); stat.addClass("none");
status.title = "User's presence provider has not been configured by Alfresco admin"; stat.title = "User's presence provider has not been configured by Alfresco admin";
$('colleaguesNotOnline').adopt(rows[i]); $("colleaguesNotOnline").adopt(rows[i]);
if (window.ie)
{
stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);
}
} }
}); });
}, },