mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-07-08 09:55:09 +00:00
merge of '36df3bcfd6c56f483f2676ceb6b6757a6506dbb7'
and 'f12c75a72aac13edc9728fe5a656c622487836dd' Monotone-Parent: 36df3bcfd6c56f483f2676ceb6b6757a6506dbb7 Monotone-Parent: f12c75a72aac13edc9728fe5a656c622487836dd Monotone-Revision: 0c622c14bea584c75539ec4bf9d8ca29899745ef Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-09-14T22:05:54 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -19,8 +19,8 @@ function validateEditorInput(sender) {
|
||||
errortext = errortext + labels.error_missingrecipients + "\n";
|
||||
|
||||
if (errortext.length > 0) {
|
||||
alert(labels.error_validationfailed.decodeEntities() + ":\n"
|
||||
+ errortext.decodeEntities());
|
||||
alert(labels.error_validationfailed + ":\n"
|
||||
+ errortext);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@@ -497,28 +497,24 @@ function refreshContacts(contactId) {
|
||||
}
|
||||
|
||||
function onAddressBookNew(event) {
|
||||
var name = window.prompt(labels["Name of the Address Book"].decodeEntities());
|
||||
if (name) {
|
||||
if (document.newAbAjaxRequest) {
|
||||
document.newAbAjaxRequest.aborted = true;
|
||||
document.newAbAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "/newAb?name=" + name;
|
||||
document.newAbAjaxRequest
|
||||
= triggerAjaxRequest(url, newAbCallback, name);
|
||||
}
|
||||
createFolder(window.prompt(labels["Name of the Address Book"]),
|
||||
appendAddressBook);
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
function appendAddressBook(name, folder) {
|
||||
var li = document.createElement("li");
|
||||
$("contactFolders").appendChild(li);
|
||||
li.setAttribute("id", folder);
|
||||
li.appendChild(document.createTextNode(name));
|
||||
setEventsOnContactFolder(li);
|
||||
if (folder)
|
||||
folder = accessToSubscribedFolder(folder);
|
||||
else
|
||||
folder = "/" + name;
|
||||
var li = document.createElement("li");
|
||||
$("contactFolders").appendChild(li);
|
||||
li.setAttribute("id", folder);
|
||||
li.appendChild(document.createTextNode(name));
|
||||
setEventsOnContactFolder(li);
|
||||
}
|
||||
|
||||
function newAbCallback(http) {
|
||||
function newFolderCallback(http) {
|
||||
if (http.readyState == 4
|
||||
&& http.status == 201) {
|
||||
var name = http.callbackData;
|
||||
@@ -552,60 +548,60 @@ function onAddressBookRemove(event) {
|
||||
var selector = $("contactFolders");
|
||||
var nodes = selector.getSelectedNodes();
|
||||
if (nodes.length > 0) {
|
||||
nodes[0].deselect();
|
||||
var folderId = nodes[0].getAttribute("id");
|
||||
var folderIdElements = folderId.split(":");
|
||||
if (folderIdElements.length > 1)
|
||||
unsubscribeFromFolder(folderId, onFolderUnsubscribeCB, folderId);
|
||||
else {
|
||||
var abId = folderIdElements[0].substr(1);
|
||||
deletePersonalAddressBook(abId);
|
||||
var personal = $("/personal");
|
||||
personal.select();
|
||||
onFolderSelectionChange();
|
||||
}
|
||||
nodes[0].deselect();
|
||||
var folderId = nodes[0].getAttribute("id");
|
||||
var folderIdElements = folderId.split("_");
|
||||
if (folderIdElements.length > 1)
|
||||
unsubscribeFromFolder(folderId, onFolderUnsubscribeCB, folderId);
|
||||
else {
|
||||
var abId = folderIdElements[0].substr(1);
|
||||
deletePersonalAddressBook(abId);
|
||||
var personal = $("/personal");
|
||||
personal.select();
|
||||
onFolderSelectionChange();
|
||||
}
|
||||
}
|
||||
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
function deletePersonalAddressBook(folderId) {
|
||||
var label
|
||||
= labels["Are you sure you want to delete the selected address book?"];
|
||||
if (window.confirm(label.decodeEntities())) {
|
||||
if (document.deletePersonalABAjaxRequest) {
|
||||
document.deletePersonalABAjaxRequest.aborted = true;
|
||||
document.deletePersonalABAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/delete";
|
||||
document.deletePersonalABAjaxRequest
|
||||
= triggerAjaxRequest(url, deletePersonalAddressBookCallback,
|
||||
folderId);
|
||||
}
|
||||
var label
|
||||
= labels["Are you sure you want to delete the selected address book?"];
|
||||
if (window.confirm(label)) {
|
||||
if (document.deletePersonalABAjaxRequest) {
|
||||
document.deletePersonalABAjaxRequest.aborted = true;
|
||||
document.deletePersonalABAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/deleteFolder";
|
||||
document.deletePersonalABAjaxRequest
|
||||
= triggerAjaxRequest(url, deletePersonalAddressBookCallback,
|
||||
folderId);
|
||||
}
|
||||
}
|
||||
|
||||
function deletePersonalAddressBookCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
if (http.status == 200) {
|
||||
var ul = $("contactFolders");
|
||||
if (isHttpStatus204(http.status)) {
|
||||
var ul = $("contactFolders");
|
||||
|
||||
var children = ul.childNodesWithTag("li");
|
||||
var i = 0;
|
||||
var done = false;
|
||||
while (!done && i < children.length) {
|
||||
var currentFolderId = children[i].getAttribute("id").substr(1);
|
||||
if (currentFolderId == http.callbackData) {
|
||||
ul.removeChild(children[i]);
|
||||
done = true;
|
||||
}
|
||||
else
|
||||
i++;
|
||||
var children = ul.childNodesWithTag("li");
|
||||
var i = 0;
|
||||
var done = false;
|
||||
while (!done && i < children.length) {
|
||||
var currentFolderId = children[i].getAttribute("id").substr(1);
|
||||
if (currentFolderId == http.callbackData) {
|
||||
ul.removeChild(children[i]);
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
document.deletePersonalABAjaxRequest = null;
|
||||
else
|
||||
i++;
|
||||
}
|
||||
}
|
||||
document.deletePersonalABAjaxRequest = null;
|
||||
}
|
||||
else
|
||||
log ("ajax problem 5: " + http.status);
|
||||
log ("ajax problem 5: " + http.status);
|
||||
}
|
||||
|
||||
function configureDragHandles() {
|
||||
@@ -677,6 +673,34 @@ function setEventsOnContactFolder(node) {
|
||||
onContactFoldersContextMenu.bindAsEventListener(node), false);
|
||||
}
|
||||
|
||||
function onMenuModify(event) {
|
||||
var folders = $("contactFolders");
|
||||
var selected = folders.getSelectedNodes()[0];
|
||||
|
||||
if (UserLogin == selected.getAttribute("owner")) {
|
||||
var currentName = selected.innerHTML;
|
||||
var newName = window.prompt(labels["Address Book Name"],
|
||||
currentName);
|
||||
if (newName && newName.length > 0
|
||||
&& newName != currentName) {
|
||||
var url = (URLForFolderID(selected.getAttribute("id"))
|
||||
+ "/renameFolder?name=" + escape(newName.utf8encode()));
|
||||
triggerAjaxRequest(url, folderRenameCallback,
|
||||
{node: selected, name: newName});
|
||||
}
|
||||
} else
|
||||
window.alert(clabels["Unable to rename that folder!"]);
|
||||
}
|
||||
|
||||
function folderRenameCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
if (isHttpStatus204(http.status)) {
|
||||
var dict = http.callbackData;
|
||||
dict["node"].innerHTML = dict["name"];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onMenuSharing(event) {
|
||||
var folders = $("contactFolders");
|
||||
var selected = folders.getSelectedNodes()[0];
|
||||
@@ -688,7 +712,7 @@ function onMenuSharing(event) {
|
||||
|
||||
function getMenus() {
|
||||
var menus = {};
|
||||
menus["contactFoldersMenu"] = new Array(null, "-", null,
|
||||
menus["contactFoldersMenu"] = new Array(onMenuModify, "-", null,
|
||||
null, "-", null, "-",
|
||||
onMenuSharing);
|
||||
menus["contactMenu"] = new Array(onMenuEditContact, "-",
|
||||
|
||||
@@ -207,7 +207,7 @@ function ctxFolderAdd(sender) {
|
||||
}
|
||||
|
||||
function ctxFolderDelete(sender) {
|
||||
if (!confirm("Delete current folder?").decodeEntities())
|
||||
if (!confirm("Delete current folder?"))
|
||||
return false;
|
||||
|
||||
// TODO: should use a form-POST or AJAX
|
||||
@@ -306,10 +306,10 @@ function onMenuDeleteMessage(event) {
|
||||
function onPrintCurrentMessage(event) {
|
||||
var rowIds = $("messageList").getSelectedRowsId();
|
||||
if (rowIds.length == 0) {
|
||||
window.alert(labels["Please select a message to print."].decodeEntities());
|
||||
window.alert(labels["Please select a message to print."]);
|
||||
}
|
||||
else if (rowIds.length > 1) {
|
||||
window.alert(labels["Please select only one message to print."].decodeEntities());
|
||||
window.alert(labels["Please select only one message to print."]);
|
||||
}
|
||||
else
|
||||
window.print();
|
||||
@@ -492,7 +492,7 @@ function quotasCallback(http) {
|
||||
var used = mbQuotas["usedSpace"];
|
||||
var max = mbQuotas["maxQuota"];
|
||||
var percents = (Math.round(used * 10000 / max) / 100);
|
||||
var format = labels["quotasFormat"].decodeEntities();
|
||||
var format = labels["quotasFormat"];
|
||||
var text = format.formatted(used, max, percents);
|
||||
window.status = text;
|
||||
}
|
||||
@@ -1265,7 +1265,7 @@ function buildMailboxes(accountName, encoded) {
|
||||
}
|
||||
|
||||
function onMenuCreateFolder(event) {
|
||||
var name = window.prompt(labels["Name :"].decodeEntities(), "");
|
||||
var name = window.prompt(labels["Name :"], "");
|
||||
if (name && name.length > 0) {
|
||||
var folderID = document.menuTarget.getAttribute("dataname");
|
||||
var urlstr = URLForFolderID(folderID) + "/createFolder?name=" + name;
|
||||
@@ -1275,7 +1275,7 @@ function onMenuCreateFolder(event) {
|
||||
|
||||
function onMenuRenameFolder(event) {
|
||||
var name = window.prompt(labels["Enter the new name of your folder :"]
|
||||
.decodeEntities(),
|
||||
,
|
||||
"");
|
||||
if (name && name.length > 0) {
|
||||
var folderID = document.menuTarget.getAttribute("dataname");
|
||||
@@ -1285,7 +1285,7 @@ function onMenuRenameFolder(event) {
|
||||
}
|
||||
|
||||
function onMenuDeleteFolder(event) {
|
||||
var answer = window.confirm(labels["Do you really want to move this folder into the trash ?"].decodeEntities());
|
||||
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";
|
||||
@@ -1320,7 +1320,7 @@ function folderOperationCallback(http) {
|
||||
&& http.status == 204)
|
||||
initMailboxTree();
|
||||
else
|
||||
window.alert(labels["Operation failed"].decodeEntities());
|
||||
window.alert(labels["Operation failed"]);
|
||||
}
|
||||
|
||||
function folderRefreshCallback(http) {
|
||||
@@ -1331,7 +1331,7 @@ function folderRefreshCallback(http) {
|
||||
refreshCurrentFolder();
|
||||
}
|
||||
else
|
||||
window.alert(labels["Operation failed"].decodeEntities());
|
||||
window.alert(labels["Operation failed"]);
|
||||
}
|
||||
|
||||
function getMenus() {
|
||||
|
||||
@@ -12,10 +12,10 @@ DIV#loginScreen
|
||||
background-color: #d4d0c8;
|
||||
margin: 0px auto;
|
||||
margin-top: 5em;
|
||||
padding: 10px;
|
||||
padding: 5px;
|
||||
border: 2px solid transparent;
|
||||
width: 197px;
|
||||
height: 300px;
|
||||
width: 200px;
|
||||
height: 315px;
|
||||
-moz-border-top-colors: #efebe7 #fff;
|
||||
-moz-border-left-colors: #efebe7 #fff;
|
||||
-moz-border-right-colors: #000 #9c9a94 transparent;
|
||||
@@ -26,8 +26,8 @@ DIV#loginScreen IMG
|
||||
{ border: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
height: 192px;
|
||||
width: 192px; }
|
||||
height: 200px;
|
||||
width: 200px; }
|
||||
|
||||
DIV#loginScreen INPUT.textField
|
||||
{ width: 187px; }
|
||||
|
||||
@@ -17,7 +17,7 @@ var cachedDateSelectors = new Array();
|
||||
var contactSelectorAction = 'calendars-contacts';
|
||||
|
||||
var eventsToDelete = new Array();
|
||||
var ownersOfEventsToDelete = new Array();
|
||||
var calendarsOfEventsToDelete = new Array();
|
||||
|
||||
var usersRightsWindowHeight = 250;
|
||||
var usersRightsWindowWidth = 502;
|
||||
@@ -27,15 +27,11 @@ function newEvent(sender, type) {
|
||||
if (!day)
|
||||
day = currentDay;
|
||||
|
||||
var user = UserLogin;
|
||||
if (sender.parentNode.getAttribute("id") != "toolbar"
|
||||
&& currentView == "multicolumndayview" && type == "event")
|
||||
user = sender.parentNode.parentNode.getAttribute("user");
|
||||
|
||||
var hour = sender.hour;
|
||||
if (!hour)
|
||||
hour = sender.getAttribute("hour");
|
||||
var urlstr = UserFolderURL + "../" + user + "/Calendar/new" + type;
|
||||
var folderID = getSelectedFolder();
|
||||
var urlstr = ApplicationBaseURL + folderID + "/new" + type;
|
||||
var params = new Array();
|
||||
if (day)
|
||||
params.push("day=" + day);
|
||||
@@ -49,6 +45,18 @@ function newEvent(sender, type) {
|
||||
return false; /* stop following the link */
|
||||
}
|
||||
|
||||
function getSelectedFolder() {
|
||||
var folder;
|
||||
|
||||
var nodes = $("calendarList").getSelectedRows();
|
||||
if (nodes.length > 0)
|
||||
folder = nodes[0].getAttribute("id");
|
||||
else
|
||||
folder = "/personal";
|
||||
|
||||
return folder;
|
||||
}
|
||||
|
||||
function onMenuNewEventClick(event) {
|
||||
newEvent(this, "event");
|
||||
}
|
||||
@@ -57,13 +65,8 @@ function onMenuNewTaskClick(event) {
|
||||
newEvent(this, "task");
|
||||
}
|
||||
|
||||
function _editEventId(id, owner) {
|
||||
var urlBase;
|
||||
if (owner)
|
||||
urlBase = UserFolderURL + "../" + owner + "/";
|
||||
urlBase += "Calendar/"
|
||||
|
||||
var urlstr = urlBase + id + "/edit";
|
||||
function _editEventId(id, calendar) {
|
||||
var urlstr = ApplicationBaseURL + "/" + calendar + "/" + id + "/edit";
|
||||
var targetname = "SOGo_edit_" + id;
|
||||
var win = window.open(urlstr, "_blank",
|
||||
"width=490,height=470,resizable=0");
|
||||
@@ -76,10 +79,10 @@ function editEvent() {
|
||||
|
||||
for (var i = 0; i < nodes.length; i++)
|
||||
_editEventId(nodes[i].getAttribute("id"),
|
||||
nodes[i].owner);
|
||||
nodes[i].calendar);
|
||||
} else if (selectedCalendarCell) {
|
||||
_editEventId(selectedCalendarCell[0].cname,
|
||||
selectedCalendarCell[0].owner);
|
||||
selectedCalendarCell[0].calendar);
|
||||
}
|
||||
|
||||
return false; /* stop following the link */
|
||||
@@ -87,9 +90,9 @@ function editEvent() {
|
||||
|
||||
function _batchDeleteEvents() {
|
||||
var events = eventsToDelete.shift();
|
||||
var owner = ownersOfEventsToDelete.shift();
|
||||
var urlstr = (UserFolderURL + "../" + owner + "/Calendar/batchDelete?ids="
|
||||
+ events.join('/'));
|
||||
var calendar = calendarsOfEventsToDelete.shift();
|
||||
var urlstr = (ApplicationBaseURL + "/" + calendar
|
||||
+ "/batchDelete?ids=" + events.join('/'));
|
||||
document.deleteEventAjaxRequest = triggerAjaxRequest(urlstr,
|
||||
deleteEventCallback,
|
||||
events);
|
||||
@@ -102,9 +105,9 @@ function deleteEvent() {
|
||||
if (nodes.length > 0) {
|
||||
var label = "";
|
||||
if (listOfSelection == $("tasksList"))
|
||||
label = labels["taskDeleteConfirmation"].decodeEntities();
|
||||
label = labels["taskDeleteConfirmation"];
|
||||
else
|
||||
label = labels["eventDeleteConfirmation"].decodeEntities();
|
||||
label = labels["eventDeleteConfirmation"];
|
||||
|
||||
if (confirm(label)) {
|
||||
if (document.deleteEventAjaxRequest) {
|
||||
@@ -112,33 +115,33 @@ function deleteEvent() {
|
||||
document.deleteEventAjaxRequest.abort();
|
||||
}
|
||||
var sortedNodes = new Array();
|
||||
var owners = new Array();
|
||||
var calendars = new Array();
|
||||
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
var owner = nodes[i].owner;
|
||||
if (!sortedNodes[owner]) {
|
||||
sortedNodes[owner] = new Array();
|
||||
owners.push(owner);
|
||||
var calendar = nodes[i].calendar;
|
||||
if (!sortedNodes[calendar]) {
|
||||
sortedNodes[calendar] = new Array();
|
||||
calendars.push(calendar);
|
||||
}
|
||||
sortedNodes[owner].push(nodes[i].cname);
|
||||
sortedNodes[calendar].push(nodes[i].cname);
|
||||
}
|
||||
for (var i = 0; i < owners.length; i++) {
|
||||
ownersOfEventsToDelete.push(owners[i]);
|
||||
eventsToDelete.push(sortedNodes[owners[i]]);
|
||||
for (var i = 0; i < calendars.length; i++) {
|
||||
calendarsOfEventsToDelete.push(calendars[i]);
|
||||
eventsToDelete.push(sortedNodes[calendars[i]]);
|
||||
}
|
||||
_batchDeleteEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (selectedCalendarCell) {
|
||||
var label = labels["eventDeleteConfirmation"].decodeEntities();
|
||||
var label = labels["eventDeleteConfirmation"];
|
||||
if (confirm(label)) {
|
||||
if (document.deleteEventAjaxRequest) {
|
||||
document.deleteEventAjaxRequest.aborted = true;
|
||||
document.deleteEventAjaxRequest.abort();
|
||||
}
|
||||
eventsToDelete.push([selectedCalendarCell[0].cname]);
|
||||
ownersOfEventsToDelete.push(selectedCalendarCell[0].owner);
|
||||
calendarsOfEventsToDelete.push(selectedCalendarCell[0].calendar);
|
||||
_batchDeleteEvents();
|
||||
}
|
||||
}
|
||||
@@ -168,7 +171,7 @@ function closeInvitationWindow() {
|
||||
closePseudoWin.style.top = "0px;";
|
||||
closePseudoWin.style.left = "0px;";
|
||||
closePseudoWin.style.right = "0px;";
|
||||
closePseudoWin.appendChild(document.createTextNode(labels["closeThisWindowMessage"].decodeEntities()));
|
||||
closePseudoWin.appendChild(document.createTextNode(labels["closeThisWindowMessage"]));
|
||||
document.body.appendChild(closeDiv);
|
||||
document.body.appendChild(closePseudoWin);
|
||||
}
|
||||
@@ -215,7 +218,7 @@ function deleteEventCallback(http) {
|
||||
}
|
||||
|
||||
function editDoubleClickedEvent(event) {
|
||||
_editEventId(this.cname, this.owner);
|
||||
_editEventId(this.cname, this.calendar);
|
||||
|
||||
preventDefault(event);
|
||||
event.cancelBubble = true;
|
||||
@@ -316,7 +319,7 @@ function eventsListCallback(http) {
|
||||
$(row).addClassName("eventRow");
|
||||
row.setAttribute("id", escape(data[i][0]));
|
||||
row.cname = escape(data[i][0]);
|
||||
row.owner = data[i][1];
|
||||
row.calendar = data[i][1];
|
||||
|
||||
var startDate = new Date();
|
||||
startDate.setTime(data[i][4] * 1000);
|
||||
@@ -372,9 +375,8 @@ function tasksListCallback(http) {
|
||||
Event.observe(listItem, "dblclick", editDoubleClickedEvent.bindAsEventListener(listItem));
|
||||
listItem.setAttribute("id", data[i][0]);
|
||||
$(listItem).addClassName(data[i][5]);
|
||||
var owner = data[i][1];
|
||||
listItem.owner = owner;
|
||||
$(listItem).addClassName("ownerIs" + owner.cssSafeString());
|
||||
listItem.calendar = data[i][1];
|
||||
$(listItem).addClassName("calendarFolder" + data[i][1]);
|
||||
listItem.cname = escape(data[i][0]);
|
||||
var input = document.createElement("input");
|
||||
input.setAttribute("type", "checkbox");
|
||||
@@ -429,7 +431,7 @@ function restoreCurrentDaySelection(div) {
|
||||
}
|
||||
|
||||
function changeDateSelectorDisplay(day, keepCurrentDay) {
|
||||
var url = ApplicationBaseURL + "dateselector";
|
||||
var url = ApplicationBaseURL + "/dateselector";
|
||||
if (day)
|
||||
url += "?day=" + day;
|
||||
|
||||
@@ -457,7 +459,7 @@ function changeDateSelectorDisplay(day, keepCurrentDay) {
|
||||
}
|
||||
|
||||
function changeCalendarDisplay(time, newView) {
|
||||
var url = ApplicationBaseURL + ((newView) ? newView : currentView);
|
||||
var url = ApplicationBaseURL + "/" + ((newView) ? newView : currentView);
|
||||
|
||||
selectedCalendarCell = null;
|
||||
|
||||
@@ -583,7 +585,7 @@ function refreshCalendarEvents() {
|
||||
document.refreshCalendarEventsAjaxRequest.aborted = true;
|
||||
document.refreshCalendarEventsAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "eventslist?sd=" + sd + "&ed=" + ed;
|
||||
var url = ApplicationBaseURL + "/eventslist?sd=" + sd + "&ed=" + ed;
|
||||
document.refreshCalendarEventsAjaxRequest
|
||||
= triggerAjaxRequest(url, refreshCalendarEventsCallback,
|
||||
{"startDate": sd, "endDate": ed});
|
||||
@@ -608,9 +610,9 @@ function drawCalendarEvent(eventData, sd, ed) {
|
||||
var viewEndDate = ed.asDate();
|
||||
|
||||
var startDate = new Date();
|
||||
startDate.setTime(eventData[4] * 1000);
|
||||
startDate.setTime(eventData[4] * 1000 + (1000 * UTCOffset));
|
||||
var endDate = new Date();
|
||||
endDate.setTime(eventData[5] * 1000);
|
||||
endDate.setTime(eventData[5] * 1000 + (1000 * UTCOffset));
|
||||
|
||||
var days = startDate.daysUpTo(endDate);
|
||||
|
||||
@@ -636,8 +638,8 @@ function drawCalendarEvent(eventData, sd, ed) {
|
||||
|
||||
// log("day: " + days[i]);
|
||||
if (i == 0) {
|
||||
var quarters = (startDate.getHours() * 4
|
||||
+ Math.floor(startDate.getMinutes() / 15));
|
||||
var quarters = (startDate.getUTCHours() * 4
|
||||
+ Math.floor(startDate.getUTCMinutes() / 15));
|
||||
starts = quarters;
|
||||
startHour = startDate.getDisplayHoursString();
|
||||
endHour = endDate.getDisplayHoursString();
|
||||
@@ -648,8 +650,8 @@ function drawCalendarEvent(eventData, sd, ed) {
|
||||
var ends;
|
||||
var lasts;
|
||||
if (i == days.length - 1) {
|
||||
var quarters = (endDate.getHours() * 4
|
||||
+ Math.ceil(endDate.getMinutes() / 15));
|
||||
var quarters = (endDate.getUTCHours() * 4
|
||||
+ Math.ceil(endDate.getUTCMinutes() / 15));
|
||||
ends = quarters;
|
||||
}
|
||||
else
|
||||
@@ -706,11 +708,11 @@ function drawCalendarEvent(eventData, sd, ed) {
|
||||
}
|
||||
}
|
||||
|
||||
function newEventDIV(cname, owner, starts, lasts,
|
||||
function newEventDIV(cname, calendar, starts, lasts,
|
||||
startHour, endHour, title) {
|
||||
var eventDiv = document.createElement("div");
|
||||
eventDiv.cname = escape(cname);
|
||||
eventDiv.owner = owner;
|
||||
eventDiv.calendar = calendar;
|
||||
$(eventDiv).addClassName("event");
|
||||
$(eventDiv).addClassName("starts" + starts);
|
||||
$(eventDiv).addClassName("lasts" + lasts);
|
||||
@@ -723,7 +725,7 @@ function newEventDIV(cname, owner, starts, lasts,
|
||||
var innerDiv = document.createElement("div");
|
||||
eventDiv.appendChild(innerDiv);
|
||||
$(innerDiv).addClassName("eventInside");
|
||||
$(innerDiv).addClassName("ownerIs" + owner.cssSafeString());
|
||||
$(innerDiv).addClassName("calendarFolder" + calendar);
|
||||
|
||||
var gradientDiv = document.createElement("div");
|
||||
innerDiv.appendChild(gradientDiv);
|
||||
@@ -881,7 +883,7 @@ function _loadEventHref(href) {
|
||||
document.eventsListAjaxRequest.aborted = true;
|
||||
document.eventsListAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + href;
|
||||
var url = ApplicationBaseURL + "/" + href;
|
||||
document.eventsListAjaxRequest
|
||||
= triggerAjaxRequest(url, eventsListCallback, href);
|
||||
|
||||
@@ -897,7 +899,7 @@ function _loadTasksHref(href) {
|
||||
document.tasksListAjaxRequest.aborted = true;
|
||||
document.tasksListAjaxRequest.abort();
|
||||
}
|
||||
url = ApplicationBaseURL + href;
|
||||
url = ApplicationBaseURL + "/" + href;
|
||||
|
||||
var tasksList = $("tasksList");
|
||||
var selectedIds;
|
||||
@@ -1119,7 +1121,6 @@ function onShowCompletedTasks(event) {
|
||||
|
||||
function updateTaskStatus(event) {
|
||||
var taskId = this.parentNode.getAttribute("id");
|
||||
var taskOwner = this.parentNode.owner;
|
||||
var newStatus = (this.checked ? 1 : 0);
|
||||
var http = createHTTPClient();
|
||||
|
||||
@@ -1128,9 +1129,8 @@ function updateTaskStatus(event) {
|
||||
//log("update task status: " + taskId + " to " + this.checked);
|
||||
event.cancelBubble = true;
|
||||
|
||||
url = (UserFolderURL + "../" + taskOwner
|
||||
+ "/Calendar/" + taskId
|
||||
+ "/changeStatus?status=" + newStatus);
|
||||
url = (ApplicationBaseURL + "/" + this.parentNode.calendar
|
||||
+ "/" + taskId + "/changeStatus?status=" + newStatus);
|
||||
|
||||
if (http) {
|
||||
// log ("url: " + url);
|
||||
@@ -1162,10 +1162,11 @@ function updateCalendarStatus(event) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!list.length) {
|
||||
list.push(UserLogin);
|
||||
nodes[0].childNodesWithTag("input")[0].checked = true;
|
||||
}
|
||||
// if (!list.length) {
|
||||
// list.push(UserLogin);
|
||||
// nodes[0].childNodesWithTag("input")[0].checked = true;
|
||||
// }
|
||||
|
||||
// ApplicationBaseURL = (UserFolderURL + "Groups/_custom_"
|
||||
// + list.join(",") + "/Calendar/");
|
||||
|
||||
@@ -1207,7 +1208,7 @@ function calendarStatusCallback(http) {
|
||||
}
|
||||
|
||||
function calendarEntryCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
if (http.readyState == 4) {
|
||||
var denied = !isHttpStatus204(http.status);
|
||||
var entry = $(http.callbackData);
|
||||
if (denied)
|
||||
@@ -1339,79 +1340,94 @@ function initCalendarSelector() {
|
||||
}
|
||||
|
||||
var links = $("calendarSelectorButtons").childNodesWithTag("a");
|
||||
Event.observe(links[0], "click", onCalendarAdd);
|
||||
Event.observe(links[1], "click", onCalendarRemove);
|
||||
Event.observe(links[0], "click", onCalendarNew);
|
||||
Event.observe(links[1], "click", onCalendarAdd);
|
||||
Event.observe(links[2], "click", onCalendarRemove);
|
||||
}
|
||||
|
||||
function onCalendarNew(event) {
|
||||
createFolder(window.prompt(labels["Name of the Calendar"]),
|
||||
appendCalendar);
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
function onCalendarAdd(event) {
|
||||
openUserFolderSelector(onFolderSubscribeCB, "calendar");
|
||||
|
||||
preventDefault(event);
|
||||
openUserFolderSelector(onFolderSubscribeCB, "calendar");
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
function appendCalendar(folderName, folder) {
|
||||
var calendarList = $("calendarList");
|
||||
var lis = calendarList.childNodesWithTag("li");
|
||||
var color = indexColor(lis.length);
|
||||
//log ("color: " + color);
|
||||
if (folder)
|
||||
folder = accessToSubscribedFolder(folder);
|
||||
else
|
||||
folder = "/" + folderName;
|
||||
|
||||
var li = document.createElement("li");
|
||||
calendarList.appendChild(li);
|
||||
// log ("append: " + folderName + "; folder: " + folder);
|
||||
|
||||
var checkBox = document.createElement("input");
|
||||
checkBox.setAttribute("type", "checkbox");
|
||||
li.appendChild(checkBox);
|
||||
var calendarList = $("calendarList");
|
||||
var lis = calendarList.childNodesWithTag("li");
|
||||
var color = indexColor(lis.length + 100);
|
||||
//log ("color: " + color);
|
||||
|
||||
var li = document.createElement("li");
|
||||
calendarList.appendChild(li);
|
||||
|
||||
var checkBox = document.createElement("input");
|
||||
checkBox.setAttribute("type", "checkbox");
|
||||
li.appendChild(checkBox);
|
||||
|
||||
li.appendChild(document.createTextNode(" "));
|
||||
li.appendChild(document.createTextNode(" "));
|
||||
|
||||
var colorBox = document.createElement("div");
|
||||
li.appendChild(colorBox);
|
||||
li.appendChild(document.createTextNode(" " + folderName));
|
||||
colorBox.appendChild(document.createTextNode("OO"));
|
||||
var colorBox = document.createElement("div");
|
||||
li.appendChild(colorBox);
|
||||
li.appendChild(document.createTextNode(" " + folderName));
|
||||
colorBox.appendChild(document.createTextNode("OO"));
|
||||
|
||||
li.setAttribute("id", folder);
|
||||
Event.observe(li, "mousedown", listRowMouseDownHandler);
|
||||
Event.observe(li, "click", onRowClick);
|
||||
$(checkBox).addClassName("checkBox");
|
||||
li.setAttribute("id", folder);
|
||||
Event.observe(li, "mousedown", listRowMouseDownHandler);
|
||||
Event.observe(li, "click", onRowClick);
|
||||
$(checkBox).addClassName("checkBox");
|
||||
|
||||
Event.observe(checkBox, "click", updateCalendarStatus.bindAsEventListener(checkBox));
|
||||
Event.observe(checkBox, "click",
|
||||
updateCalendarStatus.bindAsEventListener(checkBox));
|
||||
|
||||
$(colorBox).addClassName("colorBox");
|
||||
if (color) {
|
||||
$(colorBox).setStyle({ color: color,
|
||||
backgroundColor: color });
|
||||
}
|
||||
$(colorBox).addClassName("colorBox");
|
||||
if (color)
|
||||
$(colorBox).setStyle({color: color,
|
||||
backgroundColor: color});
|
||||
|
||||
var contactId = folder.split(":")[0];
|
||||
var url = URLForFolderID(folder) + "/canAccessContent";
|
||||
triggerAjaxRequest(url, calendarEntryCallback, folder);
|
||||
var url = URLForFolderID(folder) + "/canAccessContent";
|
||||
triggerAjaxRequest(url, calendarEntryCallback, folder);
|
||||
|
||||
if (!document.styleSheets) return;
|
||||
var theRules = new Array();
|
||||
var lastSheet = document.styleSheets[document.styleSheets.length - 1];
|
||||
if (lastSheet.insertRule) { // Mozilla
|
||||
lastSheet.insertRule('.ownerIs' + contactId.cssSafeString() + ' {'
|
||||
+ ' background-color: '
|
||||
+ color
|
||||
+ ' !important; }', 0);
|
||||
}
|
||||
else { // IE
|
||||
lastSheet.addRule('.ownerIs' + contactId.cssSafeString(),
|
||||
' background-color: '
|
||||
+ color
|
||||
+ ' !important; }');
|
||||
}
|
||||
if (!document.styleSheets) return;
|
||||
var theRules = new Array();
|
||||
var lastSheet = document.styleSheets[document.styleSheets.length - 1];
|
||||
if (lastSheet.insertRule) { // Mozilla
|
||||
lastSheet.insertRule('.calendarFolder' + folder.substr(1) + ' {'
|
||||
+ ' background-color: '
|
||||
+ color
|
||||
+ ' !important; }', 0);
|
||||
}
|
||||
else { // IE
|
||||
lastSheet.addRule('.calendarFolder' + folder.substr(1),
|
||||
' background-color: '
|
||||
+ color
|
||||
+ ' !important; }');
|
||||
}
|
||||
}
|
||||
|
||||
function onFolderSubscribeCB(folderData) {
|
||||
var folder = $(folderData["folder"]);
|
||||
if (!folder)
|
||||
appendCalendar(folderData["folderName"], folderData["folder"]);
|
||||
appendCalendar(folderData["folderName"], folderData["folder"]);
|
||||
}
|
||||
|
||||
function onFolderUnsubscribeCB(folderId) {
|
||||
var node = $(folderId);
|
||||
node.parentNode.removeChild(node);
|
||||
var node = $(folderId);
|
||||
node.parentNode.removeChild(node);
|
||||
refreshEvents();
|
||||
refreshTasks();
|
||||
changeCalendarDisplay();
|
||||
}
|
||||
|
||||
function onCalendarRemove(event) {
|
||||
@@ -1419,15 +1435,59 @@ function onCalendarRemove(event) {
|
||||
if (nodes.length > 0) {
|
||||
nodes[0].deselect();
|
||||
var folderId = nodes[0].getAttribute("id");
|
||||
var folderIdElements = folderId.split(":");
|
||||
var folderIdElements = folderId.split("_");
|
||||
if (folderIdElements.length > 1) {
|
||||
unsubscribeFromFolder(folderId, onFolderUnsubscribeCB, folderId);
|
||||
unsubscribeFromFolder(folderId, onFolderUnsubscribeCB, folderId);
|
||||
}
|
||||
else {
|
||||
var calId = folderIdElements[0].substr(1);
|
||||
deletePersonalCalendar(calId);
|
||||
}
|
||||
}
|
||||
|
||||
preventDefault(event);
|
||||
}
|
||||
|
||||
function deletePersonalCalendar(folderId) {
|
||||
var label
|
||||
= labels["Are you sure you want to delete the selected calendar?"];
|
||||
if (window.confirm(label)) {
|
||||
if (document.deletePersonalCalendarAjaxRequest) {
|
||||
document.deletePersonalCalendarAjaxRequest.aborted = true;
|
||||
document.deletePersonalCalendarAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "/" + folderId + "/deleteFolder";
|
||||
document.deletePersonalCalendarAjaxRequest
|
||||
= triggerAjaxRequest(url, deletePersonalCalendarCallback, folderId);
|
||||
}
|
||||
}
|
||||
|
||||
function deletePersonalCalendarCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
if (isHttpStatus204(http.status)) {
|
||||
var ul = $("calendarList");
|
||||
var children = ul.childNodesWithTag("li");
|
||||
var i = 0;
|
||||
var done = false;
|
||||
while (!done && i < children.length) {
|
||||
var currentFolderId = children[i].getAttribute("id").substr(1);
|
||||
if (currentFolderId == http.callbackData) {
|
||||
ul.removeChild(children[i]);
|
||||
done = true;
|
||||
}
|
||||
else
|
||||
i++;
|
||||
}
|
||||
refreshEvents();
|
||||
refreshTasks();
|
||||
changeCalendarDisplay();
|
||||
}
|
||||
document.deletePersonalCalendarAjaxRequest = null;
|
||||
}
|
||||
else
|
||||
log ("ajax problem 5: " + http.status);
|
||||
}
|
||||
|
||||
function configureLists() {
|
||||
var list = $("tasksList");
|
||||
list.multiselect = true;
|
||||
|
||||
@@ -88,8 +88,7 @@ function subscribeToFolder(refreshCallback, refreshCallbackData) {
|
||||
refreshCallbackData["folder"]);
|
||||
}
|
||||
else
|
||||
refreshCallbackData["window"].alert(clabels["You cannot subscribe to a folder that you own!"]
|
||||
.decodeEntities());
|
||||
refreshCallbackData["window"].alert(clabels["You cannot subscribe to a folder that you own!"]);
|
||||
}
|
||||
|
||||
function openRightsForUserID(userID) {
|
||||
|
||||
@@ -43,36 +43,36 @@ function validateAptEditor() {
|
||||
|
||||
e = $('summary');
|
||||
if (e.value.length == 0) {
|
||||
if (!confirm(labels.validate_notitle.decodeEntities()))
|
||||
if (!confirm(labels.validate_notitle))
|
||||
return false;
|
||||
}
|
||||
|
||||
e = $('startTime_date');
|
||||
if (e.value.length != 10) {
|
||||
alert(labels.validate_invalid_startdate.decodeEntities());
|
||||
alert(labels.validate_invalid_startdate);
|
||||
return false;
|
||||
}
|
||||
startdate = e.calendar.prs_date(e.value);
|
||||
if (startdate == null) {
|
||||
alert(labels.validate_invalid_startdate.decodeEntities());
|
||||
alert(labels.validate_invalid_startdate);
|
||||
return false;
|
||||
}
|
||||
|
||||
e = $('endTime_date');
|
||||
if (e.value.length != 10) {
|
||||
alert(labels.validate_invalid_enddate.decodeEntities());
|
||||
alert(labels.validate_invalid_enddate);
|
||||
return false;
|
||||
}
|
||||
enddate = e.calendar.prs_date(e.value);
|
||||
if (enddate == null) {
|
||||
alert(labels.validate_invalid_enddate.decodeEntities());
|
||||
alert(labels.validate_invalid_enddate);
|
||||
return false;
|
||||
}
|
||||
// cuicui = '';
|
||||
tmpdate = uixEarlierDate(startdate, enddate);
|
||||
if (tmpdate == enddate) {
|
||||
// window.alert(cuicui);
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (tmpdate == null /* means: same date */) {
|
||||
@@ -83,14 +83,14 @@ function validateAptEditor() {
|
||||
end = parseInt(document.forms[0]['endTime_time_hour'].value);
|
||||
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (start == end) {
|
||||
start = parseInt(document.forms[0]['startTime_time_minute'].value);
|
||||
end = parseInt(document.forms[0]['endTime_time_minute'].value);
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ function onPopupUrlWindow(event) {
|
||||
preventDefault(event);
|
||||
|
||||
var urlInput = document.getElementById("url");
|
||||
var newUrl = window.prompt(labels["Target:"].decodeEntities(), urlInput.value);
|
||||
var newUrl = window.prompt(labels["Target:"], urlInput.value);
|
||||
if (newUrl != null) {
|
||||
var documentHref = $("documentHref");
|
||||
var documentLabel = $("documentLabel");
|
||||
|
||||
@@ -84,13 +84,13 @@ function validateContactEditor() {
|
||||
if (e.value.length == 0)
|
||||
return true;
|
||||
if (uixEmailRegex.test(e.value) != true)
|
||||
return confirm(labels.invalidemailwarn.decodeEntities());
|
||||
return confirm(labels.invalidemailwarn);
|
||||
|
||||
e = $('homeMail');
|
||||
if (e.value.length == 0)
|
||||
return true;
|
||||
if (uixEmailRegex.test(e.value) != true)
|
||||
return confirm(labels.invalidemailwarn.decodeEntities());
|
||||
return confirm(labels.invalidemailwarn);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ function addLineToTree(tree, parent, line) {
|
||||
for (var i = 1; i < nodes.length; i++) {
|
||||
var folderInfos = nodes[i].split(":");
|
||||
var icon = ResourcesURL + '/';
|
||||
if (folderInfos[2] == 'contact')
|
||||
if (folderInfos[2] == 'Contacts')
|
||||
icon += 'tb-mail-addressbook-flat-16x16.png';
|
||||
else
|
||||
icon += 'calendar-folder-16x16.png';
|
||||
|
||||
@@ -133,8 +133,7 @@ function validateEditorInput(sender) {
|
||||
errortext = errortext + labels.error_missingrecipients + "\n";
|
||||
|
||||
if (errortext.length > 0) {
|
||||
alert(labels.error_validationfailed.decodeEntities() + ":\n"
|
||||
+ errortext.decodeEntities());
|
||||
alert(labels.error_validationfailed + ":\n" + errortext);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -24,7 +24,7 @@ function validateDate(date, label) {
|
||||
|
||||
dateValue = date.calendar.prs_date(date.value);
|
||||
if (date.value.length != 10 || !dateValue) {
|
||||
alert(label.decodeEntities());
|
||||
alert(label);
|
||||
result = false;
|
||||
} else
|
||||
result = dateValue;
|
||||
@@ -37,7 +37,7 @@ function validateTaskEditor() {
|
||||
|
||||
e = document.getElementById('summary');
|
||||
if (e.value.length == 0
|
||||
&& !confirm(labels.validate_notitle.decodeEntities()))
|
||||
&& !confirm(labels.validate_notitle))
|
||||
return false;
|
||||
|
||||
e = document.getElementById('startTime_date');
|
||||
@@ -58,7 +58,7 @@ function validateTaskEditor() {
|
||||
tmpdate = uixEarlierDate(startdate, enddate);
|
||||
if (tmpdate == enddate) {
|
||||
// window.alert(cuicui);
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (tmpdate == null /* means: same date */) {
|
||||
@@ -69,14 +69,14 @@ function validateTaskEditor() {
|
||||
end = parseInt(document.forms[0]['dueTime_time_hour'].value);
|
||||
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
else if (start == end) {
|
||||
start = parseInt(document.forms[0]['startTime_time_minute'].value);
|
||||
end = parseInt(document.forms[0]['dueTime_time_minute'].value);
|
||||
if (start > end) {
|
||||
alert(labels.validate_endbeforestart.decodeEntities());
|
||||
alert(labels.validate_endbeforestart);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
@@ -983,6 +983,7 @@ function subscribeToFolder(refreshCallback, refreshCallbackData) {
|
||||
document.subscriptionAjaxRequest.aborted = true;
|
||||
document.subscriptionAjaxRequest.abort();
|
||||
}
|
||||
|
||||
var rfCbData = { method: refreshCallback, data: refreshCallbackData };
|
||||
document.subscriptionAjaxRequest = triggerAjaxRequest(url,
|
||||
folderSubscriptionCallback,
|
||||
@@ -1006,29 +1007,42 @@ function folderUnsubscriptionCallback(http) {
|
||||
}
|
||||
|
||||
function unsubscribeFromFolder(folder, refreshCallback, refreshCallbackData) {
|
||||
if (document.body.hasClassName("popup")) {
|
||||
window.opener.unsubscribeFromFolder(folder, refreshCallback,
|
||||
refreshCallbackData);
|
||||
}
|
||||
else {
|
||||
var folderData = folder.split(":");
|
||||
var username = folderData[0];
|
||||
var folderPath = folderData[1];
|
||||
if (username != UserLogin) {
|
||||
var url = (UserFolderURL + "../" + username
|
||||
+ "/" + folderPath + "/unsubscribe");
|
||||
if (document.unsubscriptionAjaxRequest) {
|
||||
document.unsubscriptionAjaxRequest.aborted = true;
|
||||
document.unsubscriptionAjaxRequest.abort();
|
||||
}
|
||||
var rfCbData = { method: refreshCallback, data: refreshCallbackData };
|
||||
document.unsubscriptionAjaxRequest
|
||||
= triggerAjaxRequest(url, folderUnsubscriptionCallback,
|
||||
rfCbData);
|
||||
if (document.body.hasClassName("popup")) {
|
||||
window.opener.unsubscribeFromFolder(folder, refreshCallback,
|
||||
refreshCallbackData);
|
||||
}
|
||||
else {
|
||||
var folderData = folder.split("+");
|
||||
var username = folderData[0];
|
||||
var folderPath = folderData[1];
|
||||
if (username != UserLogin) {
|
||||
var url = (ApplicationBaseURL + folder + "/unsubscribe");
|
||||
if (document.unsubscriptionAjaxRequest) {
|
||||
document.unsubscriptionAjaxRequest.aborted = true;
|
||||
document.unsubscriptionAjaxRequest.abort();
|
||||
}
|
||||
else
|
||||
window.alert(clabels["You cannot unsubscribe from a folder that you own!"].decodeEntities());
|
||||
}
|
||||
var rfCbData = { method: refreshCallback, data: refreshCallbackData };
|
||||
document.unsubscriptionAjaxRequest
|
||||
= triggerAjaxRequest(url, folderUnsubscriptionCallback,
|
||||
rfCbData);
|
||||
}
|
||||
else
|
||||
window.alert(clabels["You cannot unsubscribe from a folder that you own!"].decodeEntities());
|
||||
}
|
||||
}
|
||||
|
||||
function accessToSubscribedFolder(serverFolder) {
|
||||
var folder;
|
||||
|
||||
var parts = serverFolder.split(":");
|
||||
if (parts.length > 1) {
|
||||
var paths = parts[1].split("/");
|
||||
folder = "/" + parts[0] + "_" + paths[2];
|
||||
}
|
||||
else
|
||||
folder = serverFolder;
|
||||
|
||||
return folder;
|
||||
}
|
||||
|
||||
function listRowMouseDownHandler(event) {
|
||||
@@ -1289,12 +1303,25 @@ function onLoadHandler(event) {
|
||||
configureDragHandles();
|
||||
configureSortableTableHeaders();
|
||||
configureLinkBanner();
|
||||
translateLabels();
|
||||
var progressImage = $("progressIndicator");
|
||||
if (progressImage)
|
||||
progressImage.parentNode.removeChild(progressImage);
|
||||
Event.observe(document.body, "contextmenu", onBodyClickContextMenu);
|
||||
}
|
||||
|
||||
function translateLabels() {
|
||||
if (typeof labels != "undefined") {
|
||||
for (var key in labels)
|
||||
labels[key] = labels[key].decodeEntities();
|
||||
}
|
||||
|
||||
if (typeof clabels != "undefined") {
|
||||
for (var key in clabels)
|
||||
clabels[key] = clabels[key].decodeEntities();
|
||||
}
|
||||
}
|
||||
|
||||
function onBodyClickContextMenu(event) {
|
||||
preventDefault(event);
|
||||
}
|
||||
@@ -1340,6 +1367,38 @@ function configureLinkBanner() {
|
||||
}
|
||||
}
|
||||
|
||||
/* folder creation */
|
||||
function createFolder(name, okCB, notOkCB) {
|
||||
if (name) {
|
||||
if (document.newFolderAjaxRequest) {
|
||||
document.newFolderAjaxRequest.aborted = true;
|
||||
document.newFolderAjaxRequest.abort();
|
||||
}
|
||||
var url = ApplicationBaseURL + "/createFolder?name=" + name;
|
||||
document.newFolderAjaxRequest
|
||||
= triggerAjaxRequest(url, createFolderCallback,
|
||||
{name: name,
|
||||
okCB: okCB,
|
||||
notOkCB: notOkCB});
|
||||
}
|
||||
}
|
||||
|
||||
function createFolderCallback(http) {
|
||||
if (http.readyState == 4) {
|
||||
var data = http.callbackData;
|
||||
if (http.status == 201) {
|
||||
if (data.okCB)
|
||||
data.okCB(data.name, "/" + http.responseText);
|
||||
}
|
||||
else {
|
||||
if (data.notOkCB)
|
||||
data.notOkCB(name);
|
||||
else
|
||||
log("ajax problem:" + http.status);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addEvent(window, 'load', onLoadHandler);
|
||||
|
||||
function parent$(element) {
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 7.7 KiB |
Reference in New Issue
Block a user