Project Space presence added click to chat for Skype contacts. Also fix to opacity overlay for IE

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@7596 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield
2007-12-07 18:18:43 +00:00
parent a7ace4ec64
commit 8ca3d50789
3 changed files with 18 additions and 9 deletions

View File

@@ -9,7 +9,7 @@
<div id="colleaguesNotOnline"> <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"<#if c.nodeRef = colleaguePresence.self.nodeRef>rel="self"</#if>>
<div class="colleagueAvatar"> <div class="colleagueAvatar">
<#if (c.assocs["cm:avatar"]?exists)> <#if (c.assocs["cm:avatar"]?exists)>
<#assign avatarURL = c.assocs["cm:avatar"][0].url> <#assign avatarURL = c.assocs["cm:avatar"][0].url>

View File

@@ -18,14 +18,10 @@ function main(nodeRef)
colleagues = parsePermissions(space); colleagues = parsePermissions(space);
} }
if (person.assocs["cm:avatar"] != null)
{
model.img = person.assocs["cm:avatar"][0].url;
}
var colleaguePresence = var colleaguePresence =
{ {
"colleagues": colleagues "colleagues": colleagues,
"self": person
}; };
return colleaguePresence; return colleaguePresence;
} }

View File

@@ -16,9 +16,12 @@ var ProjectPresence =
statuses.each(function(stat, i) statuses.each(function(stat, i)
{ {
var row = rows[i];
var userDetails = stat.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);
row.removeEvent("click");
row.setStyle("cursor", "auto");
if (statusURL != "") if (statusURL != "")
{ {
@@ -40,11 +43,20 @@ var ProjectPresence =
} }
if (statusType == "online") if (statusType == "online")
{ {
$("colleaguesOnline").adopt(rows[i]); $("colleaguesOnline").adopt(row);
if ((userDetails[0] == "skype") && (row.attributes["rel"] == null))
{
row.addEvent("click", function()
{
window.location = "skype:" + userDetails[1] + "?chat";
});
row.setStyle("cursor", "pointer");
}
} }
else else
{ {
$("colleaguesNotOnline").adopt(rows[i]); $("colleaguesNotOnline").adopt(rows[i]);
// Fix-up IE overlay for images
if (window.ie) if (window.ie)
{ {
stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY); stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);
@@ -57,7 +69,8 @@ var ProjectPresence =
{ {
stat.addClass("none"); stat.addClass("none");
stat.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(row);
// Fix-up IE overlay for images
if (window.ie) if (window.ie)
{ {
stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY); stat.getParent().setStyle("opacity", ProjectPresence.OFFLINE_OPACITY);