Monotone-Parent: 9e675b65a7a8a7cf12aaef1f620d53f96f36f6f1

Monotone-Revision: f24f77cd426b9ffe6784a6045e5c34654d00e9b0

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-02-07T21:51:20
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau 2008-02-07 21:51:20 +00:00
parent a208b3821c
commit 5cdcf5c649
2 changed files with 53 additions and 42 deletions

View file

@ -88,56 +88,61 @@ function onFolderTreeItemClick(event) {
topNode.selectedEntry.deselect(); topNode.selectedEntry.deselect();
this.selectElement(); this.selectElement();
topNode.selectedEntry = this; topNode.selectedEntry = this;
if (window.opener.userFolderType == "user")
$("addButton").disabled = false;
else {
var dataname = this.parentNode.getAttribute("dataname");
$("addButton").disabled = (dataname.indexOf(":") == -1);
};
} }
function userFoldersCallback(http) { function userFoldersCallback(http) {
if (http.readyState == 4) { document.userFoldersRequest = null;
document.userFoldersRequest = null; var div = $("folders");
var div = $("folders"); if (http.status == 200) {
if (http.status == 200) { var response = http.responseText;
var response = http.responseText; div.innerHTML = buildTree(http.responseText);
div.innerHTML = buildTree(http.responseText); div.clean = false;
div.clean = false; var nodes = document.getElementsByClassName("node", $("d"));
var nodes = document.getElementsByClassName("node", $("d")); for (i = 0; i < nodes.length; i++)
for (i = 0; i < nodes.length; i++) $(nodes[i]).observe("click", onFolderTreeItemClick);
Event.observe(nodes[i], "click", onFolderTreeItemClick.bindAsEventListener(nodes[i])); }
} else if (http.status == 404)
else if (http.status == 404) { div.innerHTML = "";
div.innerHTML = "";
}
}
} }
function onConfirmFolderSelection(event) { function onConfirmFolderSelection(event) {
var topNode = $("d"); var topNode = $("d");
if (topNode && topNode.selectedEntry) { if (topNode && topNode.selectedEntry) {
var node = topNode.selectedEntry.parentNode; var node = topNode.selectedEntry.parentNode;
var folder = node.getAttribute("dataname"); var folder = node.getAttribute("dataname");
var folderName;
if (window.opener.userFolderType == "user") { var folderName;
var spans = document.getElementsByClassName("nodeName", if (window.opener.userFolderType == "user") {
topNode.selectedEntry); var spans = document.getElementsByClassName("nodeName",
var email = spans[0].innerHTML; topNode.selectedEntry);
email = email.replace("&lt;", "<"); var email = spans[0].innerHTML;
email = email.replace("&gt;", ">"); email = email.replace("&lt;", "<");
folderName = email; email = email.replace("&gt;", ">");
} folderName = email;
else { }
var spans1 = document.getElementsByClassName("nodeName", else {
var spans1 = document.getElementsByClassName("nodeName",
node); node);
var spans2 = document.getElementsByClassName("nodeName", var spans2 = document.getElementsByClassName("nodeName",
node.parentNode.previousSibling); node.parentNode.previousSibling);
var email = spans2[0].innerHTML; var email = spans2[0].innerHTML;
email = email.replace("&lt;", "<"); email = email.replace("&lt;", "<");
email = email.replace("&gt;", ">"); email = email.replace("&gt;", ">");
folderName = spans1[0].innerHTML + ' (' + email + ')'; folderName = spans1[0].innerHTML + ' (' + email + ')';
} }
var data = { folderName: folderName, folder: folder, window: window }; var data = { folderName: folderName, folder: folder, window: window };
if (parent$(accessToSubscribedFolder(folder))) if (parent$(accessToSubscribedFolder(folder)))
window.alert(clabels["You have already subscribed to that folder!"]); window.alert(clabels["You have already subscribed to that folder!"]);
else else
window.opener.subscribeToFolder(window.opener.userFolderCallback, data); window.opener.subscribeToFolder(window.opener.userFolderCallback, data);
} }
} }
function onFolderSearchKeyDown(event) { function onFolderSearchKeyDown(event) {
@ -150,7 +155,9 @@ function onFolderSearchKeyDown(event) {
function initUserFoldersWindow() { function initUserFoldersWindow() {
$("searchValue").observe("keydown", onFolderSearchKeyDown); $("searchValue").observe("keydown", onFolderSearchKeyDown);
$("addButton").observe("click", onConfirmFolderSelection); var addButton = $("addButton");
addButton.observe("click", onConfirmFolderSelection);
addButton.disabled = true;
} }
FastInit.addOnLoad(initUserFoldersWindow); FastInit.addOnLoad(initUserFoldersWindow);

View file

@ -585,6 +585,7 @@ A.button:active
-moz-border-left-colors: #9c9a94 #000; } -moz-border-left-colors: #9c9a94 #000; }
INPUT.button, INPUT.button,
INPUT.button:disabled,
A.button, A.button,
A[class~="_disabled"].button:active A[class~="_disabled"].button:active
{ cursor: default; { cursor: default;
@ -601,6 +602,9 @@ A[class~="_disabled"].button:active
text-decoration: none; text-decoration: none;
color: inherit; } color: inherit; }
INPUT.button:disabled
{ color: #999; }
A.button A.button
{ padding: 4px; } { padding: 4px; }