diff --git a/UI/WebServerResources/UIxContactsUserFolders.js b/UI/WebServerResources/UIxContactsUserFolders.js index df897fb91..14914d4df 100644 --- a/UI/WebServerResources/UIxContactsUserFolders.js +++ b/UI/WebServerResources/UIxContactsUserFolders.js @@ -1,28 +1,28 @@ -/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* -*- Mode: java; tab-width: 2; c-label-minimum-indentation: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ var d; function onSearchFormSubmit() { startAnimation($("pageContent"), $("filterPanel")); - var searchValue = $("searchValue"); - var encodedValue = encodeURI(searchValue.value); - - if (encodedValue.blank()) { - checkAjaxRequestsState(); - } - else { - var url = (UserFolderURL - + "usersSearch?search=" + encodedValue); - if (document.userFoldersRequest) { - document.userFoldersRequest.aborted = true; - document.userFoldersRequest.abort(); + var searchValue = $("searchValue"); + var encodedValue = encodeURI(searchValue.value); + + if (encodedValue.blank()) { + checkAjaxRequestsState(); } - document.userFoldersRequest - = triggerAjaxRequest(url, usersSearchCallback); - } - - return false; + else { + var url = (UserFolderURL + + "usersSearch?search=" + encodedValue); + if (document.userFoldersRequest) { + document.userFoldersRequest.aborted = true; + document.userFoldersRequest.abort(); + } + document.userFoldersRequest + = triggerAjaxRequest(url, usersSearchCallback); + } + + return false; } function usersSearchCallback(http) { @@ -37,87 +37,87 @@ function usersSearchCallback(http) { } function addUserLineToTree(tree, parent, line) { - var icon = ResourcesURL + '/busy.gif'; + var icon = ResourcesURL + '/busy.gif'; - var userInfos = line.split(":"); - var email = userInfos[1] + " <" + userInfos[2] + ">"; - if (userInfos[3] && !userInfos[3].empty()) - email += ", " + userInfos[3]; // extra contact info - tree.add(parent, 0, email, 0, '#', userInfos[0], 'person', - '', '', - ResourcesURL + '/abcard.gif', - ResourcesURL + '/abcard.gif'); - if (window.opener.userFolderType != "user") { - tree.add(parent + 1, parent, getLabel("Please wait..."), 0, '#', null, - null, '', '', icon, icon); - } + var userInfos = line.split(":"); + var email = userInfos[1] + " <" + userInfos[2] + ">"; + if (userInfos[3] && !userInfos[3].empty()) + email += ", " + userInfos[3]; // extra contact info + tree.add(parent, 0, email, 0, '#', userInfos[0], 'person', + '', '', + ResourcesURL + '/abcard.gif', + ResourcesURL + '/abcard.gif'); + if (window.opener.userFolderType != "user") { + tree.add(parent + 1, parent, getLabel("Please wait..."), 0, '#', null, + null, '', '', icon, icon); + } } function buildUsersTree(treeDiv, response) { - d = new dTree("d"); - d.config.hideRoot = true; - d.icon.root = ResourcesURL + '/tbtv_account_17x17.gif'; - d.icon.folder = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; - d.icon.folderOpen = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; - d.icon.node = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; - d.icon.line = ResourcesURL + '/tbtv_line_17x17.gif'; - d.icon.join = ResourcesURL + '/tbtv_junction_17x17.gif'; - d.icon.joinBottom = ResourcesURL + '/tbtv_corner_17x17.gif'; - d.icon.plus = ResourcesURL + '/tbtv_plus_17x17.gif'; - d.icon.plusBottom = ResourcesURL + '/tbtv_corner_plus_17x17.gif'; - d.icon.minus = ResourcesURL + '/tbtv_minus_17x17.gif'; - d.icon.minusBottom = ResourcesURL + '/tbtv_corner_minus_17x17.gif'; - d.icon.nlPlus = ResourcesURL + '/tbtv_corner_plus_17x17.gif'; - d.icon.nlMinus = ResourcesURL + '/tbtv_corner_minus_17x17.gif'; - d.icon.empty = ResourcesURL + '/empty.gif'; - d.preload (); - d.add(0, -1, ''); + d = new dTree("d"); + d.config.hideRoot = true; + d.icon.root = ResourcesURL + '/tbtv_account_17x17.gif'; + d.icon.folder = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; + d.icon.folderOpen = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; + d.icon.node = ResourcesURL + '/tbtv_leaf_corner_17x17.png'; + d.icon.line = ResourcesURL + '/tbtv_line_17x17.gif'; + d.icon.join = ResourcesURL + '/tbtv_junction_17x17.gif'; + d.icon.joinBottom = ResourcesURL + '/tbtv_corner_17x17.gif'; + d.icon.plus = ResourcesURL + '/tbtv_plus_17x17.gif'; + d.icon.plusBottom = ResourcesURL + '/tbtv_corner_plus_17x17.gif'; + d.icon.minus = ResourcesURL + '/tbtv_minus_17x17.gif'; + d.icon.minusBottom = ResourcesURL + '/tbtv_corner_minus_17x17.gif'; + d.icon.nlPlus = ResourcesURL + '/tbtv_corner_plus_17x17.gif'; + d.icon.nlMinus = ResourcesURL + '/tbtv_corner_minus_17x17.gif'; + d.icon.empty = ResourcesURL + '/empty.gif'; + d.preload (); + d.add(0, -1, ''); - var isUserDialog = (window.opener.userFolderType == "user"); - var multiplier = ((isUserDialog) ? 1 : 2); + var isUserDialog = (window.opener.userFolderType == "user"); + var multiplier = ((isUserDialog) ? 1 : 2); - if (response.length) { - var lines = response.split("\n"); - for (var i = 0; i < lines.length; i++) { - if (lines[i].length > 0) - addUserLineToTree(d, 1 + i * multiplier, lines[i]); - } - treeDiv.appendChild(d.domObject ()); - treeDiv.clean = false; - for (var i = 0; i < lines.length - 1; i++) { - if (lines[i].length > 0) { - if (!isUserDialog) { - var toggle = $("tgd" + (1 + i * 2)); - toggle.observe ("click", onUserNodeToggle); - } - var sd = $("sd" + (1 + i * multiplier)); - sd.observe("click", onTreeItemClick); - } - } - } + if (response.length) { + var lines = response.split("\n"); + for (var i = 0; i < lines.length; i++) { + if (lines[i].length > 0) + addUserLineToTree(d, 1 + i * multiplier, lines[i]); + } + treeDiv.appendChild(d.domObject ()); + treeDiv.clean = false; + for (var i = 0; i < lines.length - 1; i++) { + if (lines[i].length > 0) { + if (!isUserDialog) { + var toggle = $("tgd" + (1 + i * 2)); + toggle.observe ("click", onUserNodeToggle); + } + var sd = $("sd" + (1 + i * multiplier)); + sd.observe("click", onTreeItemClick); + } + } + } } function onUserNodeToggle(event) { - this.stopObserving("click", onUserNodeToggle); + this.stopObserving("click", onUserNodeToggle); - var person = this.parentNode.getAttribute("dataname"); - - var url = (UserFolderURLForUser(person) + "foldersSearch" - + "?type=" + window.opener.userFolderType); - var nodeId = this.getAttribute("id").substr(3); - triggerAjaxRequest(url, foldersSearchCallback, - { nodeId: nodeId, user: person }); + var person = this.parentNode.getAttribute("dataname"); + + var url = (UserFolderURLForUser(person) + "foldersSearch" + + "?type=" + window.opener.userFolderType); + var nodeId = this.getAttribute("id").substr(3); + triggerAjaxRequest(url, foldersSearchCallback, + { nodeId: nodeId, user: person }); } function onTreeItemClick(event) { preventDefault(event); - + var topNode = $("d"); if (topNode.selectedEntry) topNode.selectedEntry.deselect(); this.selectElement(); topNode.selectedEntry = this; - + if (window.opener.userFolderType == "user") $("addButton").removeClassName("disabled"); else { @@ -132,67 +132,67 @@ function onTreeItemClick(event) { } function foldersSearchCallback(http) { - if (http.status == 200) { - var response = http.responseText; - var nodeId = parseInt(http.callbackData["nodeId"]); + if (http.status == 200) { + var response = http.responseText; + var nodeId = parseInt(http.callbackData["nodeId"]); - var dd = $("dd" + (nodeId + 2)); - var indentValue = (dd ? 1 : 0); - d.aIndent.push(indentValue); + var dd = $("dd" + (nodeId + 2)); + var indentValue = (dd ? 1 : 0); + d.aIndent.push(indentValue); - var dd = $("dd" + nodeId); - if (response.length) { - var folders = response.split(";"); - var user = http.callbackData["user"]; + var dd = $("dd" + nodeId); + if (response.length) { + var folders = response.split(";"); + var user = http.callbackData["user"]; - dd.innerHTML = ''; - for (var i = 1; i < folders.length - 1; i++) - dd.appendChild (addFolderBranchToTree (d, user, folders[i], nodeId, i, false)); - dd.appendChild (addFolderBranchToTree (d, user, folders[folders.length-1], nodeId, - (folders.length - 1), true)); - //dd.update(str); - for (var i = 1; i < folders.length; i++) { - var sd = $("sd" + (nodeId + i)); - sd.observe("click", onTreeItemClick); - } - } - else { - dd.innerHTML = ''; - dd.appendChild(addFolderNotFoundNode (d, nodeId, null)); - var sd = $("sd" + (nodeId + 1)); - sd.observe("click", onTreeItemClick); - } + dd.innerHTML = ''; + for (var i = 1; i < folders.length - 1; i++) + dd.appendChild (addFolderBranchToTree (d, user, folders[i], nodeId, i, false)); + dd.appendChild (addFolderBranchToTree (d, user, folders[folders.length-1], nodeId, + (folders.length - 1), true)); + //dd.update(str); + for (var i = 1; i < folders.length; i++) { + var sd = $("sd" + (nodeId + i)); + sd.observe("click", onTreeItemClick); + } + } + else { + dd.innerHTML = ''; + dd.appendChild(addFolderNotFoundNode (d, nodeId, null)); + var sd = $("sd" + (nodeId + 1)); + sd.observe("click", onTreeItemClick); + } - d.aIndent.pop(); - } + d.aIndent.pop(); + } } function addFolderBranchToTree(tree, user, folder, nodeId, subId, isLast) { - var folderInfos = folder.split(":"); - var icon = ResourcesURL + '/'; - if (folderInfos[2] == 'Contact') - icon += 'tb-mail-addressbook-flat-16x16.png'; - else - icon += 'calendar-folder-16x16.png'; - var folderId = user + ":" + folderInfos[1]; - var name = folderInfos[0]; // name has the format "Folername (Firstname Lastname )" - var pos = name.lastIndexOf(' ('); - if (pos > -1) - name = name.substring(0, pos); // strip the part with fullname and email - var node = new Node(subId, nodeId, name, 0, '#', folderId, - folderInfos[2] + '-folder', '', '', icon, icon); - node._ls = isLast; - var content = tree.node(node, (nodeId + subId), null); + var folderInfos = folder.split(":"); + var icon = ResourcesURL + '/'; + if (folderInfos[2] == 'Contact') + icon += 'tb-mail-addressbook-flat-16x16.png'; + else + icon += 'calendar-folder-16x16.png'; + var folderId = user + ":" + folderInfos[1]; + var name = folderInfos[0]; // name has the format "Folername (Firstname Lastname )" + var pos = name.lastIndexOf(' ('); + if (pos > -1) + name = name.substring(0, pos); // strip the part with fullname and email + var node = new Node(subId, nodeId, name, 0, '#', folderId, + folderInfos[2] + '-folder', '', '', icon, icon); + node._ls = isLast; + var content = tree.node(node, (nodeId + subId), null); - return content; + return content; } function addFolderNotFoundNode (tree, nodeId) { - var icon = ResourcesURL + '/icon_unread.gif'; - var node = new Node(1, nodeId, getLabel("No possible subscription"), 0, '#', - null, null, '', '', icon, icon); - node._ls = true; - return tree.node(node, (nodeId + 1)); + var icon = ResourcesURL + '/icon_unread.gif'; + var node = new Node(1, nodeId, getLabel("No possible subscription"), 0, '#', + null, null, '', '', icon, icon); + node._ls = true; + return tree.node(node, (nodeId + 1)); } function onConfirmFolderSelection(event) { @@ -201,7 +201,7 @@ function onConfirmFolderSelection(event) { if (topNode && topNode.selectedEntry) { var node = topNode.selectedEntry.parentNode; var folder = node.getAttribute("dataname"); - + var folderName; if (window.opener.userFolderType == "user") { var span = $(topNode.selectedEntry).down("SPAN.nodeName"); @@ -219,7 +219,7 @@ function onConfirmFolderSelection(event) { folderName = resource.innerHTML + ' (' + email + ')'; } folderName = folderName.replace(/>,.*(\))?$/, ">)$1", "g"); - + var data = { folderName: folderName, folder: folder, window: window }; if (parent$(accessToSubscribedFolder(folder))) window.alert(getLabel("You have already subscribed to that folder!")); @@ -248,11 +248,11 @@ function onFolderSearchKeyDown(event) { } function initUserFoldersWindow() { - var searchValue = $("searchValue"); - searchValue.observe("keydown", onFolderSearchKeyDown); - var addButton = $("addButton"); - addButton.observe("click", onConfirmFolderSelection); - searchValue.focus(); + var searchValue = $("searchValue"); + searchValue.observe("keydown", onFolderSearchKeyDown); + var addButton = $("addButton"); + addButton.observe("click", onConfirmFolderSelection); + searchValue.focus(); } document.observe("dom:loaded", initUserFoldersWindow);