sogo/UI/WebServerResources/UIxComponentEditor.js
Francis Lachapelle 8069fa646e Monotone-Parent: 90f26599c1d1dea2ba798615fd3a3e18223163e7
Monotone-Revision: 55d271fb80220cdbc9bd83cfc50ed13ca7239cb7

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2007-11-21T18:58:03
Monotone-Branch: ca.inverse.sogo
2007-11-21 18:58:03 +00:00

162 lines
4.8 KiB
JavaScript

function onPopupAttendeesWindow(event) {
if (event)
preventDefault(event);
window.open(ApplicationBaseURL + "/editAttendees", null,
"width=803,height=573");
return false;
}
function onSelectPrivacy(event) {
if (event.button == 0 || (isSafari() && event.button == 1)) {
var node = getTarget(event);
if (node.tagName != 'BUTTON')
node = $(node).up("button");
popupToolbarMenu(node, "privacy-menu");
Event.stop(event);
// preventDefault(event);
}
}
function onPopupUrlWindow(event) {
if (event)
preventDefault(event);
var urlInput = document.getElementById("url");
var newUrl = window.prompt(labels["Target:"], urlInput.value);
if (newUrl != null) {
var documentHref = $("documentHref");
var documentLabel = $("documentLabel");
if (documentHref.childNodes.length > 0) {
documentHref.childNodes[0].nodeValue = newUrl;
if (newUrl.length > 0)
documentLabel.setStyle({ display: "block" });
else
documentLabel.setStyle({ display: "none" });
}
else {
documentHref.appendChild(document.createTextNode(newUrl));
if (newUrl.length > 0)
documentLabel.setStyle({ display: "block" });
}
urlInput.value = newUrl;
}
return false;
}
function onPopupDocumentWindow(event) {
var documentUrl = $("url");
preventDefault(event);
window.open(documentUrl.value, "SOGo_Document");
return false;
}
function onMenuSetClassification(event) {
event.cancelBubble = true;
var classification = this.getAttribute("classification");
if (this.parentNode.chosenNode)
this.parentNode.chosenNode.removeClassName("_chosen");
this.addClassName("_chosen");
this.parentNode.chosenNode = this;
// log("classification: " + classification);
var privacyInput = document.getElementById("privacy");
privacyInput.value = classification;
}
function onChangeCalendar(event) {
var calendars = $("calendarFoldersList").value.split(",");
var form = document.forms["editform"];
var urlElems = form.getAttribute("action").split("/");
var choice = calendars[this.value];
urlElems[urlElems.length-3] = choice;
form.setAttribute("action", urlElems.join("/"));
}
function refreshAttendees() {
var attendeesLabel = $("attendeesLabel");
var attendeesNames = $("attendeesNames");
var attendeesHref = $("attendeesHref");
for (var i = 0; i < attendeesHref.childNodes.length; i++)
attendeesHref.removeChild(attendeesHref.childNodes[i]);
if (attendeesNames.value.length > 0) {
attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
attendeesLabel.setStyle({ display: "block" });
}
else {
attendeesLabel.setStyle({ display: "none" });
}
}
function initializeAttendeesHref() {
var attendeesHref = $("attendeesHref");
var attendeesLabel = $("attendeesLabel");
var attendeesNames = $("attendeesNames");
Event.observe(attendeesHref, "click", onPopupAttendeesWindow, false);
if (attendeesNames.value.length > 0) {
attendeesHref.setStyle({ textDecoration: "underline", color: "#00f" });
attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
attendeesLabel.setStyle({ display: "block" });
}
}
function initializeDocumentHref() {
var documentHref = $("documentHref");
var documentLabel = $("documentLabel");
var documentUrl = $("url");
Event.observe(documentHref, "click", onPopupDocumentWindow, false);
documentHref.setStyle({ textDecoration: "underline", color: "#00f" });
if (documentUrl.value.length > 0) {
documentHref.appendChild(document.createTextNode(documentUrl.value));
documentLabel.setStyle({ display: "block" });
}
var changeUrlButton = $("changeUrlButton");
Event.observe(changeUrlButton, "click", onPopupUrlWindow, false);
}
function initializePrivacyMenu() {
var privacy = $("privacy").value.toUpperCase();
if (privacy.length > 0) {
var privacyMenu = $("privacy-menu").childNodesWithTag("ul")[0];
var menuEntries = $(privacyMenu).childNodesWithTag("li");
var chosenNode;
if (privacy == "CONFIDENTIAL")
chosenNode = menuEntries[1];
else if (privacy == "PRIVATE")
chosenNode = menuEntries[2];
else
chosenNode = menuEntries[0];
privacyMenu.chosenNode = chosenNode;
$(chosenNode).addClassName("_chosen");
}
}
function onComponentEditorLoad(event) {
if (!$("statusPercent"))
initializeAttendeesHref();
initializeDocumentHref();
initializePrivacyMenu();
var list = $("calendarList");
Event.observe(list, "mousedown",
onChangeCalendar.bindAsEventListener(list),
false);
list.fire("mousedown");
var menuItems = $("itemPrivacyList").childNodesWithTag("li");
for (var i = 0; i < menuItems.length; i++)
Event.observe(menuItems[i], "mousedown",
onMenuSetClassification.bindAsEventListener(menuItems[i]),
false);
}
FastInit.addOnLoad(onComponentEditorLoad);