Monotone-Parent: 25301be77706f7c3801e36031343c4b9a772df83

Monotone-Revision: f38c815e39c0a20ce1e0bc26bf4422feb3f85888

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-05-28T13:18:31
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau 2007-05-28 13:18:31 +00:00
parent f69376cc82
commit 7a2ebb1315
6 changed files with 127 additions and 83 deletions

View file

@ -28,7 +28,7 @@
/></var:if>
</head>
<body oncontextmenu="return false;" var:class="bodyClasses">
<body var:class="bodyClasses">
<script type="text/javascript">
var UserFolderURL = '<var:string value="userFolderPath" />';
var ApplicationBaseURL = '<var:string value="applicationPath" />';

View file

@ -209,14 +209,13 @@ HTMLElement.prototype.onContextMenu = function(event) {
popup.style.left = menuLeft + "px;";
popup.style.visibility = "visible;";
bodyOnClick = "" + document.body.getAttribute("onclick");
document.body.setAttribute("onclick", "onBodyClick(event);");
document.currentPopupMenu = popup;
Event.observe(document.body, "click", onBodyClickMenuHandler);
}
HTMLElement.prototype.attachMenu = function(menuName) {
this.sogoContextMenu = $(menuName);
Event.observe(this, "contextmenu", this.onContextMenu);
Event.observe(this, "contextmenu", this.onContextMenu.bindAsEventListener(this));
}
HTMLElement.prototype.select = function() {

View file

@ -493,7 +493,7 @@ function messageListCallback(http) {
configureSortableTableHeaders();
}
else
log("ajax fuckage");
log("problem during ajax request");
}
function onMessageContextMenu(event) {
@ -705,7 +705,7 @@ function messageCallback(http) {
}
}
else
log ("ajax fuckage");
log("problem during ajax request");
}
function processMailboxMenuAction(mailbox) {
@ -847,7 +847,7 @@ function onHeaderClick(event) {
}
function onSearchFormSubmit() {
log ("search not implemented");
log("search not implemented");
return false;
}
@ -984,7 +984,7 @@ function configureDragHandles() {
/* dnd */
function initDnd() {
// log ("MailerUI initDnd");
// log("MailerUI initDnd");
var tree = $("mailboxTree");
if (tree) {
@ -1186,6 +1186,7 @@ function onLoadMailboxesCallback(http) {
updateMailboxTreeInPage();
updateMailboxMenus();
}
}
// var tree = $("mailboxTree");
// var treeNodes = document.getElementsByClassName("dTreeNode", tree);
@ -1194,7 +1195,7 @@ function onLoadMailboxesCallback(http) {
// && treeNodes[i].getAttribute("dataname") != currentMailbox)
// i++;
// if (i < treeNodes.length) {
// // log ("found mailbox");
// // log("found mailbox");
// var links = document.getElementsByClassName("node", treeNodes[i]);
// if (tree.selectedEntry)
// tree.selectedEntry.deselect();
@ -1202,7 +1203,6 @@ function onLoadMailboxesCallback(http) {
// tree.selectedEntry = links[0];
// expandUpperTree(links[0]);
// }
}
}
function buildMailboxes(accountName, encoded) {
@ -1232,20 +1232,61 @@ function buildMailboxes(accountName, encoded) {
return account;
}
function onMenuCreateFolder(event) {
var name = window.prompt(labels["Name :"], "");
if (name && name.length > 0) {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/createFolder?name=" + name;
triggerAjaxRequest(urlstr, folderOperationCallback);
}
}
function onMenuRenameFolder(event) {
var name = window.prompt(labels["Enter the new name of your folder :"],
"");
if (name && name.length > 0) {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/renameFolder?name=" + name;
triggerAjaxRequest(urlstr, folderOperationCallback);
}
}
function onMenuDeleteFolder(event) {
var answer = window.confirm(labels["Do you really want to move this folder into the trash ?"]);
if (answer) {
var folderID = document.menuTarget.getAttribute("dataname");
var urlstr = URLForFolderID(folderID) + "/deleteFolder";
triggerAjaxRequest(urlstr, folderOperationCallback);
}
}
function folderOperationCallback(http) {
if (http.readyState == 4
&& http.status == 204) {
initMailboxTree();
}
else
window.alert(labels["Operation failed"]);
}
function initializeMenus() {
menus["menuIds"] = new Array("accountIconMenu", "inboxIconMenu",
"trashIconMenu", "mailboxIconMenu",
"addressMenu", "messageListMenu",
"messageContentMenu", "label-menu",
"mark-menu");
menus["accountIconMenu"] = new Array(null, null, null, null, null, null,
null, null, null, onMenuSharing);
menus["inboxIconMenu"] = new Array(null, null, null, "-", null, null,
menus["accountIconMenu"] = new Array(null, null, onMenuCreateFolder, null,
null, null);
menus["inboxIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder, null, "-", null,
onMenuSharing);
menus["trashIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder, null,
null, "-", null, onMenuSharing);
menus["trashIconMenu"] = new Array(null, null, null, "-", null, null, null,
null, "-", null, onMenuSharing);
menus["mailboxIconMenu"] = new Array(null, null, null, "-", null, null,
null, null, null, "-", null,
menus["mailboxIconMenu"] = new Array(null, null, null, "-", null,
onMenuCreateFolder,
onMenuRenameFolder,
null, onMenuDeleteFolder, "-", null,
onMenuSharing);
menus["addressMenu"] = new Array(newContactFromEmail, newEmailTo, null);
menus["messageListMenu"] = new Array(onMenuOpenMessage, "-",

View file

@ -17,7 +17,6 @@ var SOGoDragHandlesInterface = {
bind: function () {
this.startHandleDraggingBound = this.startHandleDragging.bindAsEventListener(this);
Event.observe(this, "mousedown", this.startHandleDraggingBound, false);
this.onmousedown = function() { return false }
},
_determineType: function () {
if (this.leftBlock && this.rightBlock)

View file

@ -367,6 +367,9 @@ DIV#logConsole
right: 0px;
height: 15em; }
DIV#logConsole > DIV.highlighted
{ background-color: #333; }
/* content lists */
td.tbtv_actcell
{ border-width: 1px;

View file

@ -429,17 +429,15 @@ function onRowClick(event) {
/* popup menus */
var bodyOnClick = "";
// var acceptClick = false;
function popupMenu(event, menuId, target) {
document.menuTarget = target;
if (document.currentPopupMenu)
hideMenu(event, document.currentPopupMenu);
var popup = document.getElementById(menuId);
hideMenu(event, document.currentPopupMenu);
var popup = $(menuId);
var menuTop = event.pageY;
var menuLeft = event.pageX;
var heightDiff = (window.innerHeight
@ -456,12 +454,9 @@ function popupMenu(event, menuId, target) {
left: menuLeft + "px",
visibility: "visible" });
bodyOnClick = "" + document.body.getAttribute("onclick");
document.body.setAttribute("onclick", "onBodyClick(event);");
document.currentPopupMenu = popup;
Event.observe(document.body, "click", onBodyClickMenuHandler);
event.cancelBubble = true;
event.returnValue = false;
event.preventDefault();
}
@ -482,12 +477,12 @@ function getParentMenu(node) {
return menuNode;
}
function onBodyClick(event) {
function onBodyClickMenuHandler(event) {
document.body.menuTarget = null;
hideMenu(event, document.currentPopupMenu);
document.body.setAttribute("onclick", bodyOnClick);
return false;
Event.stopObserving(document.body, "click", onBodyClickMenuHandler);
event.preventDefault();
}
function hideMenu(event, menuNode) {
@ -499,8 +494,8 @@ function hideMenu(event, menuNode) {
menuNode.submenu = null;
}
//menuNode.setStyle({ visibility: "hidden" });
$(menuNode).hide();
menuNode.setStyle({ visibility: "hidden" });
// menuNode.hide();
if (menuNode.parentMenuItem) {
menuNode.parentMenuItem.setAttribute('class', 'submenu');
menuNode.parentMenuItem = null;
@ -545,21 +540,20 @@ function parseQueryParameters(url) {
}
function initLogConsole() {
var logConsole = $("logConsole");
if (logConsole) {
Event.observe(logConsole, "dblclick", onLogDblClick, false);
logConsole.innerHTML = "";
node = document.getElementsByTagName('body')[0];
Event.observe(node, "keydown", onBodyKeyDown, true);
}
var logConsole = $("logConsole");
if (logConsole) {
logConsole.highlighted = false;
Event.observe(logConsole, "dblclick", onLogDblClick, false);
logConsole.innerHTML = "";
Event.observe(window, "keydown", onBodyKeyDown);
}
}
function onBodyKeyDown(event) {
if (event.keyCode == 27) {
toggleLogConsole();
event.cancelBubble = true;
event.returnValue = false;
}
if (event.keyCode == 27) {
toggleLogConsole();
event.preventDefault();
}
}
function onLogDblClick(event) {
@ -575,9 +569,8 @@ function toggleLogConsole(event) {
} else {
logConsole.setStyle({ display: '' });
}
event.cancelBubble = true;
event.returnValue = false;
event.preventDefault();
if (event)
event.preventDefault();
}
function log(message) {
@ -588,18 +581,21 @@ function log(message) {
}
var logConsole = logWindow.document.getElementById("logConsole");
if (logConsole) {
var logMessage = message.replace("<", "&lt;", "g");
logMessage = logMessage.replace("\r\n", "<br />\n", "g");
logMessage = logMessage.replace("\n", "<br />\n", "g");
logMessage = logMessage.replace(" ", "&nbsp;", "g");
logMessage += '<br />' + "\n";
logConsole.innerHTML += logMessage;
logConsole.highlighted = !logConsole.highlighted;
var logMessage = message.replace("<", "&lt;", "g");
logMessage = logMessage.replace(" ", "&nbsp;", "g");
logMessage = logMessage.replace("\r\n", "<br />\n", "g");
logMessage = logMessage.replace("\n", "<br />\n", "g");
logMessage += '<br />' + "\n";
if (logConsole.highlighted)
logMessage = '<div class="highlighted">' + logMessage + '</div>';
logConsole.innerHTML += logMessage;
}
}
function backtrace() {
var func = backtrace.caller;
var str = "backtrace:<br/>";
var str = "backtrace:\n";
while (func)
{
@ -612,7 +608,7 @@ function backtrace() {
else
str += "[anonymous]\n";
str += "<br/>";
str += "\n";
func = func.caller;
}
str += "--\n";
@ -696,9 +692,8 @@ function popupSearchMenu(event) {
left: (node.offsetLeft + 3) + "px",
visibility: "visible" });
bodyOnClick = "" + document.body.getAttribute("onclick");
document.body.setAttribute("onclick", "onBodyClick('" + menuId + "');");
document.currentPopupMenu = popup;
Event.observe(document.body, "click", onBodyClickMenuHandler);
}
}
@ -812,10 +807,9 @@ function popupToolbarMenu(event, menuId) {
popup.setStyle({ top: top + "px",
left: node.cascadeLeftOffset() + "px",
visibility: "visible" });
bodyOnClick = "" + document.body.getAttribute("onclick");
document.body.setAttribute("onclick", "onBodyClick('" + menuId + "');");
document.currentPopupMenu = popup;
Event.observe(document.body, "click", onBodyClickMenuHandler);
}
}
@ -914,12 +908,15 @@ function initTabs() {
firstTab = null;
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].tagName == 'LI') {
if (!firstTab)
firstTab = i;
Event.observe(nodes[i], "mousedown", onTabMouseDown, true);
Event.observe(nodes[i], "click", onTabClick, true);
}
var currentNode = nodes[i];
if (currentNode.tagName == 'LI') {
if (!firstTab)
firstTab = i;
Event.observe(currentNode, "mousedown",
onTabMouseDown.bindAsEventListener(currentNode));
Event.observe(currentNode, "click",
onTabClick.bindAsEventListener(currentNode));
}
}
nodes[firstTab].addClassName("first");
@ -942,7 +939,7 @@ function initMenus() {
}
function initMenu(menuDIV, callbacks) {
var lis = $(menuDIV.childNodesWithTag("ul")[0]).childNodesWithTag("li");
var lis = menuDIV.childNodesWithTag("ul")[0].childNodesWithTag("li");
for (var j = 0; j < lis.length; j++) {
var node = lis[j];
Event.observe(node, "mousedown", listRowMouseDownHandler, false);
@ -1103,20 +1100,25 @@ function indexColor(number) {
return color;
}
var onLoadHandler = function (event) {
queryParameters = parseQueryParameters('' + window.location);
if (!document.body.hasClassName("popup")) {
initLogConsole();
initCriteria();
}
initializeMenus();
initTabs();
configureDragHandles();
configureSortableTableHeaders();
configureLinkBanner();
var progressImage = $("progressIndicator");
if (progressImage)
progressImage.parentNode.removeChild(progressImage);
function onLoadHandler(event) {
queryParameters = parseQueryParameters('' + window.location);
if (!document.body.hasClassName("popup")) {
initLogConsole();
initCriteria();
}
initializeMenus();
initTabs();
configureDragHandles();
configureSortableTableHeaders();
configureLinkBanner();
var progressImage = $("progressIndicator");
if (progressImage)
progressImage.parentNode.removeChild(progressImage);
Event.observe(document.body, "contextmenu", onBodyClickContextMenu);
}
function onBodyClickContextMenu(event) {
event.preventDefault();
}
function configureSortableTableHeaders() {
@ -1159,9 +1161,9 @@ function initializeMenus() {
}
function onHeaderClick(event) {
window.alert("generic headerClick");
window.alert("generic headerClick");
}
function parent$(element) {
return window.opener.document.getElementById(element);
return this.opener.document.getElementById(element);
}