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:
parent
cf4de4c817
commit
d1ba8f6e06
|
@ -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.
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue