See ChangeLog

Monotone-Parent: 4126acd8a39c70e133baeb54d6b5122aac7b5b8a
Monotone-Revision: 3678cc0ded3649869eacde348ab4532dac822b2b

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2011-05-31T20:16:43
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle 2011-05-31 20:16:43 +00:00
parent cf4de4c817
commit d1ba8f6e06
4 changed files with 22 additions and 17 deletions

View file

@ -1,5 +1,8 @@
2011-05-31 Francis Lachapelle <flachapelle@inverse.ca> 2011-05-31 Francis Lachapelle <flachapelle@inverse.ca>
* UI/WebServerResources/SchedulerUI.js (initCalendarSelector): use
events delegation in the calendars list.
* UI/WebServerResources/HTMLElement.js (selectElement): if element * UI/WebServerResources/HTMLElement.js (selectElement): if element
has no ID, keep track of it anyway. This fixes an issue when has no ID, keep track of it anyway. This fixes an issue when
deleting attachments in the mail composition window. deleting attachments in the mail composition window.

View file

@ -936,6 +936,7 @@ function configureAddressBooks() {
if (contactFolders) { if (contactFolders) {
contactFolders.on("mousedown", onFolderSelectionChange); contactFolders.on("mousedown", onFolderSelectionChange);
contactFolders.on("dblclick", onAddressBookModify); contactFolders.on("dblclick", onAddressBookModify);
contactFolders.on("selectstart", listRowMouseDownHandler);
contactFolders.attachMenu("contactFoldersMenu"); contactFolders.attachMenu("contactFoldersMenu");
lookupDeniedFolders(); lookupDeniedFolders();

View file

@ -2478,15 +2478,15 @@ function initCalendarSelector() {
selector.changeNotification = updateCalendarsList; selector.changeNotification = updateCalendarsList;
var list = $("calendarList"); var list = $("calendarList");
list.multiselect = true; list.on("mousedown", onCalendarSelectionChange);
list.on("dblclick", onCalendarModify);
list.on("selectstart", listRowMouseDownHandler);
list.attachMenu("calendarsMenu");
var items = list.childNodesWithTag("li"); var items = list.childNodesWithTag("li");
for (var i = 0; i < items.length; i++) { for (var i = 0; i < items.length; i++) {
var input = items[i].childNodesWithTag("input")[0]; var input = items[i].childNodesWithTag("input")[0];
$(input).observe("click", updateCalendarStatus); $(input).observe("click", updateCalendarStatus);
items[i].observe("mousedown", listRowMouseDownHandler);
items[i].observe("selectstart", listRowMouseDownHandler);
items[i].observe("click", onRowClick);
items[i].observe("dblclick", onCalendarModify);
} }
var links = $("calendarSelectorButtons").childNodesWithTag("a"); var links = $("calendarSelectorButtons").childNodesWithTag("a");
@ -2496,6 +2496,14 @@ function initCalendarSelector() {
$(links[3]).observe("click", onCalendarRemove); $(links[3]).observe("click", onCalendarRemove);
} }
function onCalendarSelectionChange(event) {
var target = Event.element(event);
if (target.tagName == 'SPAN')
target = target.parentNode;
onRowClick(event, target);
}
function onCalendarModify(event) { function onCalendarModify(event) {
var folders = $("calendarList"); var folders = $("calendarList");
var selected = folders.getSelectedNodes()[0]; var selected = folders.getSelectedNodes()[0];
@ -2650,14 +2658,6 @@ function uploadCompleted(response) {
$("uploadResults").show(); $("uploadResults").show();
} }
function setEventsOnCalendar(checkBox, li) {
li.observe("mousedown", listRowMouseDownHandler);
li.observe("selectstart", listRowMouseDownHandler);
li.observe("click", onRowClick);
li.observe("dblclick", onCalendarModify);
checkBox.observe("click", updateCalendarStatus);
}
function appendCalendar(folderName, folderPath) { function appendCalendar(folderName, folderPath) {
var owner; var owner;
@ -2707,8 +2707,8 @@ function appendCalendar(folderName, folderPath) {
// Check the checkbox (required for IE) // Check the checkbox (required for IE)
li.getElementsByTagName("input")[0].checked = true; li.getElementsByTagName("input")[0].checked = true;
// Register events (doesn't work with Safari) // Register event on checkbox
setEventsOnCalendar($(checkBox), $(li)); $(checkBox).on("click", updateCalendarStatus);
var url = URLForFolderID(folderPath) + "/canAccessContent"; var url = URLForFolderID(folderPath) + "/canAccessContent";
triggerAjaxRequest(url, calendarEntryCallback, folderPath); triggerAjaxRequest(url, calendarEntryCallback, folderPath);
@ -2971,7 +2971,6 @@ function initScheduler() {
initCalendarSelector(); initCalendarSelector();
configureSearchField(); configureSearchField();
configureLists(); configureLists();
$("calendarList").attachMenu("calendarsMenu");
$(document.body).observe("click", onBodyClickHandler); $(document.body).observe("click", onBodyClickHandler);
// Calendar import form // Calendar import form
$("uploadCancel").observe("click", hideCalendarImport); $("uploadCancel").observe("click", hideCalendarImport);

View file

@ -781,7 +781,9 @@ SPAN.caption
DIV.tabsContainer DIV.tabsContainer
{ overflow: hidden; { overflow: hidden;
padding: 0px 5px; } padding: 0px 5px;
-moz-user-select: none;
-khtml-user-select: none; }
DIV.tabsContainer > DIV.scrollToolbar DIV.tabsContainer > DIV.scrollToolbar
{ position: absolute; { position: absolute;