sogo/UI/WebServerResources/UIxReminderEditor.js
Ludovic Marcotte 4f028a0613 Fix for http://sogo.nu/bugs/view.php?id=792
Monotone-Parent: 0abef259fbdc04825fd4d1f13c479488e65d54f5
Monotone-Revision: 2e385121b8070035aeacb75be839ee7daaec77ab

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2010-09-14T18:42:35
Monotone-Branch: ca.inverse.sogo
2010-09-14 18:42:35 +00:00

86 lines
2.8 KiB
JavaScript

function initializeWindowButtons() {
var okButton = $("okButton");
var cancelButton = $("cancelButton");
okButton.observe("click", onEditorOkClick, false);
cancelButton.observe("click", onEditorCancelClick, false);
}
function initializeFormValues() {
if (parent$("reminderUnit").value.length > 0) {
$("quantityField").value = parent$("reminderQuantity").value;
$("unitsList").value = parent$("reminderUnit").value;
$("relationsList").value = parent$("reminderRelation").value;
$("referencesList").value = parent$("reminderReference").value;
}
var actionList = $("actionList");
if (actionList) {
actionList.observe("change", onActionListChange);
var action = parent$("reminderAction").value;
if (!action)
action = "display";
actionList.value = action;
if (action == "email") {
$("emailOrganizer").checked = (parent$("reminderEmailOrganizer").value
== "true");
$("emailAttendees").checked = (parent$("reminderEmailAttendees").value
== "true");
}
updateActionCheckboxes(actionList);
}
}
function onActionListChange() {
updateActionCheckboxes(this);
}
function updateActionCheckboxes(list) {
var disabled = (list.value != "email");
$("emailOrganizer").disabled = disabled;
$("emailAttendees").disabled = disabled;
}
function onEditorOkClick(event) {
preventDefault(event);
if (parseInt($("quantityField").value) > 0) {
parent$("reminderQuantity").value = parseInt($("quantityField").value);
parent$("reminderUnit").value = $("unitsList").value;
parent$("reminderRelation").value = $("relationsList").value;
parent$("reminderReference").value = $("referencesList").value;
var actionList = $("actionList");
var action;
if (actionList) {
action = $("actionList").value;
parent$("reminderEmailOrganizer").value = ($("emailOrganizer").checked
? "true"
: "false");
parent$("reminderEmailAttendees").value = ($("emailAttendees").checked
? "true"
: "false");
}
else {
action = "display";
}
parent$("reminderAction").value = action;
window.close();
}
else
alert(_("Invalid number."));
}
function onEditorCancelClick(event) {
preventDefault(event);
window.close();
}
function onRecurrenceLoadHandler() {
initializeFormValues();
initializeWindowButtons();
}
document.observe("dom:loaded", onRecurrenceLoadHandler);