Fixed issues, ajaxified import process

Monotone-Parent: 80ad9ff70fe3d4130d99bbd2590349b71c85b9f3
Monotone-Revision: 33b6c38a250d6ae49e26dd7de548708c132d5c34

Monotone-Author: crobert@inverse.ca
Monotone-Date: 2009-09-03T17:53:38
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
C Robert
2009-09-03 17:53:38 +00:00
parent 110bfdcb4e
commit 45420d434c
34 changed files with 292 additions and 27 deletions
+21
View File
@@ -670,19 +670,40 @@ function onAddressBookImport(event) {
var top = cellPosition[1];
var div = $("uploadDialog");
var res = $("uploadResults");
div.style.top = top + "px";
res.style.top = top + "px";
div.style.left = left + "px";
res.style.left = left + "px";
div.style.display = "block";
}
function hideContactsImport () {
$("uploadDialog").style.display = "none";
}
function hideImportResults () {
$("uploadResults").style.display = "none";
}
function validateUploadForm () {
rc = false;
if ($("contactsFile").value.length)
rc = true;
return rc;
}
function uploadCompleted (response) {
response = response.replace (/<pre>/, "");
response = response.replace (/<\/pre>/, "");
data = response.evalJSON (true);
var div = $("uploadResults");
$("uploadOK").onclick = hideImportResults;
$("uploadResultsContent").update (data.message);
if (data.imported > 0)
refreshCurrentFolder ();
hideContactsImport ();
$("uploadResults").style.display = "block";
}
function onAddressBookRemove(event) {
var selector = $("contactFolders");
+21
View File
@@ -1904,19 +1904,40 @@ function onCalendarImport(event) {
var top = cellPosition[1];
var div = $("uploadDialog");
var res = $("uploadResults");
div.style.top = top + "px";
res.style.top = top + "px";
div.style.left = left + "px";
res.style.left = left + "px";
div.style.display = "block";
}
function hideCalendarImport () {
$("uploadDialog").style.display = "none";
}
function hideImportResults () {
$("uploadResults").style.display = "none";
}
function validateUploadForm () {
rc = false;
if ($("calendarFile").value.length)
rc = true;
return rc;
}
function uploadCompleted (response) {
response = response.replace (/<pre>/, "");
response = response.replace (/<\/pre>/, "");
data = response.evalJSON (true);
var div = $("uploadResults");
$("uploadOK").onclick = hideImportResults;
$("uploadResultsContent").update (data.message);
if (data.imported > 0)
refreshCurrentFolder ();
hideCalendarImport ();
$("uploadResults").style.display = "block";
}
function setEventsOnCalendar(checkBox, li) {
li.observe("mousedown", listRowMouseDownHandler);
+5 -3
View File
@@ -783,11 +783,13 @@ DIV.resize-handle
color: #000000 !important;
}
DIV#uploadDialog
DIV#uploadDialog,DIV#uploadResults
{ border-width: 1px;
width: 260px;
height: 118px;
}
height: 127px; }
DIV#uploadDialog DIV,DIV#uploadResults DIV
{ width: 260px;
height: 115px; }
DIV.dialog
{ position: absolute;
+50
View File
@@ -1672,4 +1672,54 @@ function onHeaderClick(event) {
window.alert("generic headerClick");
}
/**
*
* AJAX IFRAME METHOD (AIM)
* http://www.webtoolkit.info/
*
**/
AIM = {
frame : function(c) {
var d = new Element ('div');
var n = d.identify ();
d.innerHTML = '<iframe style="display:none" src="about:blank" id="'
+ n + '" name="' + n + '" onload="AIM.loaded(\'' + n + '\')"></iframe>';
document.body.appendChild(d);
var i = $(n); // TODO: useful?
if (c && typeof(c.onComplete) == 'function')
i.onComplete = c.onComplete;
return n;
},
form : function(f, name) {
f.writeAttribute('target', name);
},
submit : function(f, c) {
AIM.form(f, AIM.frame(c));
if (c && typeof(c.onStart) == 'function')
return c.onStart();
else
return true;
},
loaded : function(id) {
var i = $(id);
if (i.contentDocument)
var d = i.contentDocument;
else if (i.contentWindow)
var d = i.contentWindow.document;
else
var d = window.frames[id].document;
if (d.location.href == "about:blank")
return;
if (typeof(i.onComplete) == 'function')
i.onComplete(d.body.innerHTML);
}
}
document.observe("dom:loaded", onLoadHandler);