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>
* UI/WebServerResources/SchedulerUI.js (initCalendarSelector): use
events delegation in the calendars list.
* UI/WebServerResources/HTMLElement.js (selectElement): if element
has no ID, keep track of it anyway. This fixes an issue when
deleting attachments in the mail composition window.

View file

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

View file

@ -2478,15 +2478,15 @@ function initCalendarSelector() {
selector.changeNotification = updateCalendarsList;
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");
for (var i = 0; i < items.length; i++) {
var input = items[i].childNodesWithTag("input")[0];
$(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");
@ -2496,6 +2496,14 @@ function initCalendarSelector() {
$(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) {
var folders = $("calendarList");
var selected = folders.getSelectedNodes()[0];
@ -2650,14 +2658,6 @@ function uploadCompleted(response) {
$("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) {
var owner;
@ -2707,8 +2707,8 @@ function appendCalendar(folderName, folderPath) {
// Check the checkbox (required for IE)
li.getElementsByTagName("input")[0].checked = true;
// Register events (doesn't work with Safari)
setEventsOnCalendar($(checkBox), $(li));
// Register event on checkbox
$(checkBox).on("click", updateCalendarStatus);
var url = URLForFolderID(folderPath) + "/canAccessContent";
triggerAjaxRequest(url, calendarEntryCallback, folderPath);
@ -2971,7 +2971,6 @@ function initScheduler() {
initCalendarSelector();
configureSearchField();
configureLists();
$("calendarList").attachMenu("calendarsMenu");
$(document.body).observe("click", onBodyClickHandler);
// Calendar import form
$("uploadCancel").observe("click", hideCalendarImport);

View file

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