From 215a4638477da66fd064708ef6933d86a2235396 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 20 Dec 2006 22:55:54 +0000 Subject: [PATCH] Monotone-Parent: 3f4219a57994d48948bd4148cb90b8d4c2c820df Monotone-Revision: 21947601e8d55a07243cb36a9943a7ddc4148e06 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2006-12-20T22:55:54 Monotone-Branch: ca.inverse.sogo --- UI/WebServerResources/HTMLTableElement.js | 10 ++++---- UI/WebServerResources/MailerUI.js | 28 +++++++++++------------ UI/WebServerResources/SchedulerUI.js | 20 ++++++++-------- UI/WebServerResources/generic.js | 17 ++++---------- 4 files changed, 32 insertions(+), 43 deletions(-) diff --git a/UI/WebServerResources/HTMLTableElement.js b/UI/WebServerResources/HTMLTableElement.js index b83a42d66..0390497ae 100644 --- a/UI/WebServerResources/HTMLTableElement.js +++ b/UI/WebServerResources/HTMLTableElement.js @@ -15,16 +15,14 @@ HTMLTableElement.prototype.selectRowsMatchingClass = function(className) { var nodes = tbody.childNodes; for (var i = 0; i < nodes.length; i++) { var node = nodes.item(i); - if (node instanceof HTMLElement) { - var classStr = '' + node.getAttribute("class"); - if (classStr.indexOf(className, 0) >= 0) - selectNode(node); - } + if (node instanceof HTMLElement + && node.hasClassName(className)) + node.select(); } } HTMLTableElement.prototype.deselectAll = function() { var nodes = this.getSelectedRows(); for (var i = 0; i < nodes.length; i++) - deselectNode(nodes[i]); + nodes[i].deselect(); } diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index d4fb3fe03..04270052c 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -394,8 +394,8 @@ function onMailboxTreeItemClick(element) var mailbox = element.parentNode.getAttribute("dataname"); if (topNode.selectedEntry) - deselectNode(topNode.selectedEntry); - selectNode(element); + topNode.selectedEntry.deselect(); + element.select(); topNode.selectedEntry = element; openMailbox(mailbox); @@ -478,7 +478,7 @@ function messageListCallback(http) var selected = http.callbackData; if (selected) { var row = $('row_' + selected); - selectNode(row); + row.select(); } configureMessageListEvents(); configureSortableTableHeaders(); @@ -496,10 +496,10 @@ function onMessageContextMenu(event) var topNode = $('messageList'); var selectedNodes = topNode.getSelectedRows(); for (var i = 0; i < selectedNodes.length; i++) - deselectNode (selectedNodes[i]); + selectedNodes[i].deselect(); topNode.menuSelectedRows = selectedNodes; topNode.menuSelectedEntry = this; - selectNode(this); + this.select(); } function onMessageContextMenuHide(event) @@ -507,13 +507,13 @@ function onMessageContextMenuHide(event) var topNode = $('messageList'); if (topNode.menuSelectedEntry) { - deselectNode(topNode.menuSelectedEntry); + topNode.menuSelectedEntry.deselect(); topNode.menuSelectedEntry = null; } if (topNode.menuSelectedRows) { var nodes = topNode.menuSelectedRows; for (var i = 0; i < nodes.length; i++) - selectNode(nodes[i]); + nodes[i].select(); topNode.menuSelectedRows = null; } } @@ -538,11 +538,11 @@ function onFolderMenuClick(event, element, menutype) var topNode = $('d'); if (topNode.selectedEntry) - deselectNode(topNode.selectedEntry); + topNode.selectedEntry.deselect(); if (topNode.menuSelectedEntry) - deselectNode(topNode.menuSelectedEntry); + topNode.menuSelectedEntry.deselect(); topNode.menuSelectedEntry = element; - selectNode(element); + element.select(); } function onFolderMenuHide(event) @@ -550,11 +550,11 @@ function onFolderMenuHide(event) var topNode = $('d'); if (topNode.menuSelectedEntry) { - deselectNode(topNode.menuSelectedEntry); + topNode.menuSelectedEntry.deselect(); topNode.menuSelectedEntry = null; } if (topNode.selectedEntry) - selectNode(topNode.selectedEntry); + topNode.selectedEntry.select(); } function deleteCachedMessage(messageId) { @@ -807,8 +807,8 @@ function initMailboxSelection(mailboxName) if (i < treeNodes.length) { var links = document.getElementsByClassName("node", treeNodes[i]); if (tree.selectedEntry) - deselectNode(tree.selectedEntry); - selectNode(links[0]); + tree.selectedEntry.deselect(); + links[0].select(); tree.selectedEntry = links[0]; expandUpperTree(links[0]); } diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 836f2ca04..f6fc7a5b3 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -199,9 +199,9 @@ function onDaySelect(node) // log ("table.selected: " + table.selected); if (document.selectedDate) - deselectNode(document.selectedDate); + document.selectedDate.deselect(); - selectNode(td); + td.select(); document.selectedDate = td; changeCalendarDisplay( { "day": day } ); @@ -297,7 +297,7 @@ function tasksListCallback(http) if (http.callbackData) { var selectedNodesId = http.callbackData; for (var i = 0; i < selectedNodesId.length; i++) - selectNode($(selectedNodesId[i])); + $(selectedNodesId[i]).select(); } } else @@ -322,8 +322,8 @@ function restoreCurrentDaySelection(div) if (day && day == currentDay) { var td = elements[i].getParentWithTagName("td"); if (document.selectedDate) - deselectNode(document.selectedDate); - selectNode(td); + document.selectedDate.deselect(); + td.select(); document.selectedDate = td; } } @@ -531,10 +531,10 @@ function onAppointmentContextMenu(event, element) var selectedNodes = topNode.getSelectedRows(); topNode.menuSelectedRows = selectedNodes; for (var i = 0; i < selectedNodes.length; i++) - deselectNode (selectedNodes[i]); + selectedNodes[i].deselect(); topNode.menuSelectedEntry = element; - selectNode(element); + element.select(); } function onAppointmentContextMenuHide(event) @@ -542,14 +542,14 @@ function onAppointmentContextMenuHide(event) var topNode = $("appointmentsList"); if (topNode.menuSelectedEntry) { - deselectNode(topNode.menuSelectedEntry); + topNode.menuSelectedEntry.deselect(); topNode.menuSelectedEntry = null; } if (topNode.menuSelectedRows) { var nodeIds = topNode.menuSelectedRows; for (var i = 0; i < nodeIds.length; i++) { var node = $(nodeIds[i]); - selectNode (node); + node.select(); } topNode.menuSelectedRows = null; } @@ -730,7 +730,7 @@ function onCalendarSelectAppointment() { if (row) { var div = row.parentNode.parentNode.parentNode; div.scrollTop = row.offsetTop - (div.offsetHeight / 2); - selectNode(row); + row.select(); } } diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 03ffb46cc..727cb7ba8 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -335,20 +335,11 @@ function triggerOpenerCallback() { /* selection mechanism */ -function selectNode(node) { - node.addClassName('_selected'); -} - -function deselectNode(node) { -// log ("deselecting a node: '" + node.tagName + "'"); - node.removeClassName('_selected'); -} - function deselectAll(parent) { for (var i = 0; i < parent.childNodes.length; i++) { var node = parent.childNodes.item(i); if (node.nodeType == 1) - deselectNode(node); + node.deselect(); } } @@ -376,13 +367,13 @@ function onRowClick(event) { && (acceptMultiSelect(node.parentNode) || acceptMultiSelect(node.parentNode.parentNode))) { if (isNodeSelected(node) == true) { - deselectNode(node); + node.deselect(); } else { - selectNode(node); + node.select(); } } else { deselectAll(node.parentNode); - selectNode(node); + node.select(); } if (startSelection != node.parentNode.getSelectedNodes()) {