diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js
index b3553e0ec..7783d5594 100644
--- a/UI/WebServerResources/SchedulerUI.js
+++ b/UI/WebServerResources/SchedulerUI.js
@@ -37,29 +37,29 @@ var eventsToCopy = [];
// This should probably go in the generic.js
function printView() {
- var flag = false;
- var calendarsList = $("calendarList").children;
- for (var i = 0; i < calendarsList.length; i++) {
- if (calendarsList[i].down("input").checked) {
- flag = true;
- break;
+ var flag = false;
+ var calendarsList = $("calendarList").children;
+ for (var i = 0; i < calendarsList.length; i++) {
+ if (calendarsList[i].down("input").checked) {
+ flag = true;
+ break;
+ }
}
- }
- if (flag)
- window.open("printView","","width=660,height=470");
-
- else
- showAlertDialog("Please select at least one calendar");
-
-
- return false;
+ if (flag)
+ window.open("printView","","width=660,height=470");
+
+ else
+ showAlertDialog("Please select at least one calendar");
+
+
+ return false;
}
function newEvent(type, day, hour, duration) {
var folder = null;
- /* if (currentView == "multicolumndayview") {
- Need to find where the click register is saved
- }*/
+ /* if (currentView == "multicolumndayview") {
+ Need to find where the click register is saved
+ }*/
if (UserDefaults['SOGoDefaultCalendar'] == 'personal')
folder = $("calendarList").down("li");
else if (UserDefaults['SOGoDefaultCalendar'] == 'first') {
@@ -89,16 +89,16 @@ function newEvent(type, day, hour, duration) {
params.push("duration=" + duration);
if (params.length > 0)
urlstr += "?" + params.join("&");
-
+
window.open(urlstr, "", "width=490,height=470,resizable=0");
-
+
return false; /* stop following the link */
}
function newEventFromWidget(sender, type) {
var day = $(sender).readAttribute("day");
var hour = sender.readAttribute("hour");
-
+
newEvent.delay(0.1, type, day, hour);
}
@@ -109,7 +109,7 @@ function minutesToHM(minutes) {
var mins = minutes % 60;
if (mins < 10)
mins = "0" + mins;
-
+
return "" + hours + mins;
}
@@ -124,33 +124,33 @@ function newEventFromDragging(controller, day, coordinates) {
}
function updateEventFromDragging(controller, eventCells, eventDelta, calendarID) {
- if (eventDelta.dayNumber || eventDelta.start || eventDelta.duration) {
- if (calendarID != 0)
- var params = ("calendarID=" + calendarID
- + "&days=" + 0
- + "&start=" + eventDelta.start * 15
- + "&duration=" + eventDelta.duration * 15);
- else
- var params = ("calendarID=" + calendarID
- + "&days=" + eventDelta.dayNumber
- + "&start=" + eventDelta.start * 15
- + "&duration=" + eventDelta.duration * 15);
- // log("eventCells: " + eventCells.length);
- var eventCell = eventCells[0];
- // log(" time: " + eventCell.recurrenceTime);
- // log(" exception: " + eventCell.isException);
-
- if (eventCell.recurrenceTime && !eventCell.isException)
- _editRecurrenceDialog(eventCell, "confirmAdjustment", params);
- else {
- var urlstr = (ApplicationBaseURL + "/" + eventCell.calendar + "/" + eventCell.cname);
- if (eventCell.recurrenceTime && (calendarID[0] == calendarID[1]))
- urlstr += "/occurence" + eventCell.recurrenceTime;
- urlstr += ("/adjust?" + params);
- // log(" urlstr: " + urlstr);
- triggerAjaxRequest(urlstr, updateEventFromDraggingCallback);
+ if (eventDelta.dayNumber || eventDelta.start || eventDelta.duration) {
+ if (calendarID != 0)
+ var params = ("calendarID=" + calendarID
+ + "&days=" + 0
+ + "&start=" + eventDelta.start * 15
+ + "&duration=" + eventDelta.duration * 15);
+ else
+ var params = ("calendarID=" + calendarID
+ + "&days=" + eventDelta.dayNumber
+ + "&start=" + eventDelta.start * 15
+ + "&duration=" + eventDelta.duration * 15);
+ // log("eventCells: " + eventCells.length);
+ var eventCell = eventCells[0];
+ // log(" time: " + eventCell.recurrenceTime);
+ // log(" exception: " + eventCell.isException);
+
+ if (eventCell.recurrenceTime && !eventCell.isException)
+ _editRecurrenceDialog(eventCell, "confirmAdjustment", params);
+ else {
+ var urlstr = (ApplicationBaseURL + "/" + eventCell.calendar + "/" + eventCell.cname);
+ if (eventCell.recurrenceTime && (calendarID[0] == calendarID[1]))
+ urlstr += "/occurence" + eventCell.recurrenceTime;
+ urlstr += ("/adjust?" + params);
+ // log(" urlstr: " + urlstr);
+ triggerAjaxRequest(urlstr, updateEventFromDraggingCallback);
+ }
}
- }
}
function performEventAdjustment(folder, event, recurrence, params) {
@@ -181,7 +181,7 @@ function getSelectedFolder() {
folder = nodes[0];
else
folder = list.down("li"); // personal calendar
-
+
return folder;
}
@@ -226,12 +226,12 @@ function _editEventId(id, calendar, recurrence) {
function editEvent() {
if (listOfSelection) {
var nodes = listOfSelection.getSelectedRows();
-
+
if (nodes.length == 0) {
showAlertDialog(_("Please select an event or a task."));
return false;
}
-
+
for (var i = 0; i < nodes.length; i++)
_editEventId.delay(0.1,
nodes[i].cname,
@@ -248,7 +248,7 @@ function editEvent() {
} else {
showAlertDialog(_("Please select an event or a task."));
}
-
+
return false; /* stop following the link */
}
@@ -273,7 +273,7 @@ function deleteEvent() {
label = _("taskDeleteConfirmation");
else
label = _("eventDeleteConfirmation");
-
+
if (nodes.length == 1
&& nodes[0].recurrenceTime) {
if (nodes[0].erasable)
@@ -405,7 +405,7 @@ function deleteEvent() {
}
else
showAlertDialog(_("Please select an event or a task."));
-
+
if (events.length > 0) {
// Show confirmation dialog
var p = new Element('p');
@@ -418,19 +418,19 @@ function deleteEvent() {
p.appendChild(document.createTextNode(_("Would you like to continue?")));
showConfirmDialog(_("Warning"), p, deleteEventFromListConfirm, deleteEventCancel);
}
-
+
return false;
}
function deleteEventFromListConfirm() {
- if (document.deleteEventAjaxRequest) {
- document.deleteEventAjaxRequest.aborted = true;
- document.deleteEventAjaxRequest.abort();
- }
-
- _batchDeleteEvents();
- refreshTasks();
- disposeDialog();
+ if (document.deleteEventAjaxRequest) {
+ document.deleteEventAjaxRequest.aborted = true;
+ document.deleteEventAjaxRequest.abort();
+ }
+
+ _batchDeleteEvents();
+ refreshTasks();
+ disposeDialog();
}
function deleteEventFromViewConfirm() {
@@ -438,7 +438,7 @@ function deleteEventFromViewConfirm() {
document.deleteEventAjaxRequest.aborted = true;
document.deleteEventAjaxRequest.abort();
}
-
+
selectedCalendarCell = null;
_batchDeleteEvents();
disposeDialog();
@@ -509,12 +509,12 @@ function copyEventCallback(http) {
function onMenuRawEvent(event) {
if (selectedCalendarCell.length != 1) {
- return;
+ return;
}
-
+
var calendar = selectedCalendarCell[0].calendar;
var cname = selectedCalendarCell[0].cname;
-
+
var url = ApplicationBaseURL + "/" + calendar + "/" + cname + "/raw";
openGenericWindow.delay(0.1, url);
}
@@ -523,13 +523,13 @@ function modifyEvent(sender, modification, parameters) {
var currentLocation = '' + window.location;
var arr = currentLocation.split("/");
arr[arr.length-1] = modification;
-
+
document.modifyEventAjaxRequest = triggerAjaxRequest(arr.join("/"),
modifyEventCallback,
modification,
parameters,
{ "Content-type": "application/x-www-form-urlencoded" });
-
+
return false;
}
@@ -537,7 +537,7 @@ function closeInvitationWindow() {
var closeDiv = document.createElement("div");
document.body.appendChild(closeDiv);
closeDiv.addClassName("javascriptPopupBackground");
-
+
var closePseudoWin = document.createElement("div");
document.body.appendChild(closePseudoWin);
closePseudoWin.addClassName("javascriptMessagePseudoTopWindow");
@@ -545,7 +545,7 @@ function closeInvitationWindow() {
closePseudoWin.style.left = "0px;";
closePseudoWin.style.right = "0px;";
closePseudoWin.appendChild(document.createTextNode(_("closeThisWindowMessage")));
-
+
var calLink = document.createElement("a");
closePseudoWin.appendChild(calLink);
calLink.href = ApplicationBaseURL;
@@ -623,7 +623,7 @@ function _deleteCalendarEventBlocks(calendar, cname, occurenceTime) {
}
}
}
-
+
resizeCalendarHeaderDIV();
}
@@ -637,7 +637,7 @@ function _deleteEventFromTables(calendar, cname, occurenceTime) {
if (occurences) {
var occurence = occurences.first();
var ownerIsOrganizer = occurence[19];
-
+
// Delete event from events list
var table = $("eventsList");
var rows = table.tBodies[0].rows;
@@ -666,7 +666,7 @@ function _deleteEventFromTables(calendar, cname, occurenceTime) {
}
}
}
-
+
// Delete task from tasks list
var row = $(calendar + basename);
if (row) {
@@ -681,7 +681,7 @@ function _deleteCalendarEventCache(calendar, cname, occurenceTime) {
if (occurences)
ownerIsOrganizer = occurences[0][19];
}
-
+
for (var otherCalendar in calendarEvents) {
if (calendarEvents[otherCalendar]) {
var occurences = calendarEvents[otherCalendar][cname];
@@ -738,7 +738,7 @@ function deleteEventCallback(http) {
function getEventById(cname, owner) {
var event = null;
-
+
if (calendarEvents) {
if (!owner)
owner = UserLogin;
@@ -746,7 +746,7 @@ function getEventById(cname, owner) {
if (userEvents)
event = userEvents[cname];
}
-
+
return event;
}
@@ -766,7 +766,7 @@ function _editRecurrenceDialog(eventCell, method, params) {
function onViewEvent(event) {
if (event.detail == 2) return;
var url = ApplicationBaseURL + "/" + this.calendar + "/" + this.cname;
-
+
if (typeof this.recurrenceTime != "undefined")
url += "/occurence" + this.recurrenceTime;
url += "/view";
@@ -792,11 +792,11 @@ function onViewEventCallback(http) {
var view;
var left;
var top = cellPosition[1] - 5;
-
+
if (currentView != "monthview") {
view = $("daysView");
var viewPosition = view.cumulativeOffset();
-
+
if (parseInt(data["isAllDay"]) == 0) {
top -= view.scrollTop;
if (viewPosition[1] > top + 2) {
@@ -810,7 +810,7 @@ function onViewEventCallback(http) {
else {
top -= cell.up("DIV.day").scrollTop;
}
-
+
left = cellPosition[0] + cellDimensions["width"] + 4;
if (left + divDimensions["width"] > window.width()) {
left = cellPosition[0] - divDimensions["width"];
@@ -821,10 +821,10 @@ function onViewEventCallback(http) {
div.removeClassName("right");
div.addClassName("left");
}
-
+
// Put the event's data in the DIV
div.down("h1").update(data["summary"].replace(/\r?\n/g, "
"));
-
+
var paras = div.getElementsByTagName("p");
var para = $(paras[0]);
if (parseInt(data["isAllDay"]) == 0) {
@@ -832,35 +832,35 @@ function onViewEventCallback(http) {
para.show();
} else
para.hide();
-
+
para = $(paras[1]);
if (data["calendar"].length) {
para.down("SPAN", 1).update(data["calendar"]);
para.show();
} else
para.hide();
-
+
para = $(paras[2]);
if (data["location"].length) {
para.down("SPAN", 1).update(data["location"]);
para.show();
} else
para.hide();
-
- para = $(paras[3]);
+
+ para = $(paras[3]);
if (data["created_by"].length) {
- para.down("SPAN", 1).update(data["created_by"]);
+ para.down("SPAN", 1).update(data["created_by"]);
para.show();
} else
para.hide();
-
+
para = $(paras[4]);
if (data["description"].length) {
para.update(data["description"].replace(/\r?\n/g, "
"));
para.show();
} else
para.hide();
-
+
div.setStyle({ left: left + "px", top: top + "px" });
div.show();
configureLinks(div);
@@ -878,7 +878,7 @@ function editDoubleClickedEvent(event) {
_editRecurrenceDialog(this, "confirmEditing");
else
_editEventId(this.cname, this.calendar);
-
+
Event.stop(event);
}
@@ -893,12 +893,12 @@ function performEventDeletion(folder, event, recurrence) {
var occurenceTime = recurrence.substring(9);
var nodes = _eventBlocksMatching(folder, event, occurenceTime);
var urlstr = ApplicationBaseURL + "/" + folder + "/" + event + "/" + recurrence + "/delete";
-
+
if (nodes)
document.deleteEventAjaxRequest = triggerAjaxRequest(urlstr,
performDeleteEventCallback,
{ nodes: nodes,
- occurence: occurenceTime });
+ occurence: occurenceTime });
}
else {
// All recurrences
@@ -920,7 +920,7 @@ function performDeleteEventCallback(http) {
var nodes = http.callbackData.nodes;
var cname = nodes[0].cname;
var calendar = nodes[0].calendar;
-
+
_deleteCalendarEventBlocks(calendar, cname, occurenceTime);
_deleteEventFromTables(calendar, cname, occurenceTime);
_deleteCalendarEventCache(calendar, cname, occurenceTime);
@@ -933,44 +933,44 @@ function onDaySelect(node) {
var day = node.getAttribute('day');
var needRefresh = (eventListFilter == 'view_selectedday'
&& day != currentDay);
-
+
var td = $(node).getParentWithTagName("td");
// var table = $(td).getParentWithTagName("table");
// log ("table.selected: " + table.selected);
-
+
if (document.selectedDate)
document.selectedDate.deselect();
-
+
td.selectElement();
document.selectedDate = td;
-
+
changeCalendarDisplay( { "day": day } );
currentDay = day;
selectedDayDate = day;
if (needRefresh)
refreshEvents();
-
+
return false;
}
function onDateSelectorGotoMonth(event) {
var day = this.getAttribute("date");
-
+
changeDateSelectorDisplay(day, true);
-
+
Event.stop(event);
}
function onCalendarGotoDay(node) {
var day = node.getAttribute("date");
var needRefresh = (eventListFilter == 'view_selectedday' && day != currentDay);
-
+
changeDateSelectorDisplay(day);
changeCalendarDisplay( { "day": day } );
if (needRefresh)
refreshEvents();
-
+
return false;
}
@@ -979,17 +979,17 @@ function gotoToday() {
selectedDayDate = todayDate.getDayString();
changeDateSelectorDisplay('');
changeCalendarDisplay();
-
+
return false;
}
function setDateSelectorContent(content) {
var div = $("dateSelectorView");
-
+
div.update(content);
if (currentDay.length > 0)
restoreCurrentDaySelection(div);
-
+
initDateSelectorEvents();
}
@@ -1012,12 +1012,12 @@ function eventsListCallback(http) {
document.eventsListAjaxRequest = null;
var table = $("eventsList");
lastClickedRow = -1; // from generic.js
-
+
var rows = table.select("TBODY TR");
rows.each(function(e) {
- e.remove();
- });
-
+ e.remove();
+ });
+
if (http.responseText.length > 0) {
var data = http.responseText.evalJSON(true);
for (var i = 0; i < data.length; i++) {
@@ -1047,7 +1047,7 @@ function eventsListCallback(http) {
if (data[i][3] != null)
// Status is defined -- event is readable
row.observe("dblclick", editDoubleClickedEvent);
-
+
var td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
@@ -1057,44 +1057,44 @@ function eventsListCallback(http) {
var span = createElement("span");
td.appendChild(span);
span.update(data[i][4]); // title
-
+
td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
td.update(data[i][21]); // start date
-
+
td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
td.update(data[i][22]); // end date
-
+
td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
if (data[i][7])
td.update(data[i][7]); // location
-
+
td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
if (data[i][10])
- td.update(data[i][10]); // category
-
+ td.update(data[i][10]); // category
+
td = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
td.update(data[i][2]); // calendar
}
-
+
if (sorting["event-header"] && sorting["event-header"].length > 0) {
var sortHeader = $(sorting["event-header"]);
-
+
if (sortHeader) {
var sortImages = $(table.tHead).select(".sortImage");
$(sortImages).each(function(item) {
- item.remove();
- });
-
+ item.remove();
+ });
+
var sortImage = createElement("img", "messageSortImage", "sortImage");
sortHeader.insertBefore(sortImage, sortHeader.firstChild);
if (sorting["event-ascending"])
@@ -1116,6 +1116,7 @@ function activeTasksCallback(http) {
document.activeTasksAjaxRequest = null;
var data = http.responseText.evalJSON(true);
var list = $("calendarList");
+<<<<<<< HEAD
var items = list.childNodesWithTag("li");
for (var i = 0; i < items.length; i++) {
@@ -1134,6 +1135,20 @@ function activeTasksCallback(http) {
}
if (number > 0) {
activeTasks.innerHTML = number;
+=======
+
+ var items = list.childNodesWithTag("li");
+ for (var i = 0; i < items.length; i++) {
+ var id = items[i].getAttribute("id").substr(1);
+ var number = data[id];
+ var input = items[i].childNodesWithTag("input")[0];
+ var activeTasks = items[i].childNodesWithTag("span")[0];
+ if (number == "0") {
+ activeTasks.innerHTML = "";
+ }
+ else {
+ activeTasks.innerHTML = "(" + number + ")";
+>>>>>>> added event7.png and adjust javascript indentation
}
}
}
@@ -1141,141 +1156,141 @@ function activeTasksCallback(http) {
}
function tasksListCallback(http) {
- if (http.readyState == 4
- && http.status == 200) {
- var div = $("tasksListView");
- document.tasksListAjaxRequest = null;
- var table = $("tasksList");
- lastClickedRow = -1; // from generic.js
-
- var rows = table.select("TBODY TR");
- rows.each(function(e) {
- e.remove();
- });
-
- if (http.responseText.length > 0) {
- var data = http.responseText.evalJSON(true);
-
- // [0] Task ID
- // [1] Calendar ID
- // [2] Calendar name
- // [3] Status (0, 1 = completed, 2)
- // [4] Title
- // [5] Due date (int)
- // [6] Classification (0 = public, 1, = private, 2 = confidential)
- // [7] Location
- // [8] Category
- // [9] Editable?
- // [10] Erasable?
- // [11] Priority (0, 1 = important, 9 = low)
- // [12] Status CSS class (duelater, completed, etc)
- // (13) Due date (formatted)
-
- for (var i = 0; i < data.length; i++) {
- var row = createElement("tr");
- table.tBodies[0].appendChild(row);
+ if (http.readyState == 4
+ && http.status == 200) {
+ var div = $("tasksListView");
+ document.tasksListAjaxRequest = null;
+ var table = $("tasksList");
+ lastClickedRow = -1; // from generic.js
- row.on("dblclick", editDoubleClickedEvent);
+ var rows = table.select("TBODY TR");
+ rows.each(function(e) {
+ e.remove();
+ });
- var calendar = escape(data[i][1]);
- var cname = escape(data[i][0]);
- row.setAttribute("id", calendar + "-" + cname);
- //listItem.addClassName(data[i][5]); // Classification
- row.addClassName(data[i][12]); // status
- row.calendar = calendar;
- row.cname = cname;
- row.erasable = data[i][10] || IsSuperUser;
- if (parseInt(data[i][11]) == 1) {
- row.addClassName("important");
+ if (http.responseText.length > 0) {
+ var data = http.responseText.evalJSON(true);
+
+ // [0] Task ID
+ // [1] Calendar ID
+ // [2] Calendar name
+ // [3] Status (0, 1 = completed, 2)
+ // [4] Title
+ // [5] Due date (int)
+ // [6] Classification (0 = public, 1, = private, 2 = confidential)
+ // [7] Location
+ // [8] Category
+ // [9] Editable?
+ // [10] Erasable?
+ // [11] Priority (0, 1 = important, 9 = low)
+ // [12] Status CSS class (duelater, completed, etc)
+ // (13) Due date (formatted)
+
+ for (var i = 0; i < data.length; i++) {
+ var row = createElement("tr");
+ table.tBodies[0].appendChild(row);
+
+ row.on("dblclick", editDoubleClickedEvent);
+
+ var calendar = escape(data[i][1]);
+ var cname = escape(data[i][0]);
+ row.setAttribute("id", calendar + "-" + cname);
+ //listItem.addClassName(data[i][5]); // Classification
+ row.addClassName(data[i][12]); // status
+ row.calendar = calendar;
+ row.cname = cname;
+ row.erasable = data[i][10] || IsSuperUser;
+ if (parseInt(data[i][11]) == 1) {
+ row.addClassName("important");
+ }
+ else if (parseInt(data[i][11]) == 9) {
+ row.addClassName("low");
+ }
+
+ var cell = createElement("td");
+ row.appendChild(cell);
+ var input = createElement("input");
+ input.setAttribute("type", "checkbox");
+ cell.appendChild(input);
+ input.setAttribute("value", "1");
+ if (parseInt(data[i][9]) == 0) // editable?
+ input.setAttribute("disabled", true);
+ input.addClassName("checkBox");
+ if (parseInt(data[i][3]) == 1) // completed?
+ input.setAttribute("checked", "checked");
+ input.observe("click", updateTaskStatus, true);
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ if (data[i][11] != null) {
+ cell.update(_("prio_" + data[i][11])); // Priority
+ }
+ else {
+ cell.update(""); // Priority
+ }
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ var colorDiv = createElement("div", false, "colorBox calendarFolder" + calendar);
+ cell.appendChild(colorDiv);
+ colorDiv.update(' ');
+ var t = new Element ("span");
+ cell.appendChild(t);
+ t.update(data[i][4]); // title
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ if (data[i][13])
+ cell.update(data[i][13]); // end date
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ cell.update(data[i][7]); // location
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ cell.update(data[i][8]); // category
+
+ cell = createElement("td");
+ row.appendChild(cell);
+ cell.update(data[i][2]); // calendar name
+ }
+
+ table.scrollTop = table.previousScroll;
+
+ if (sorting["task-attribute"] && sorting["task-attribute"].length > 0) {
+ var sortHeader = $(sorting["task-header"]);
+
+ if (sortHeader) {
+ var sortImages = $(table.tHead).select(".sortImage");
+ $(sortImages).each(function(item) {
+ item.remove();
+ });
+
+ var sortImage = createElement("img", "messageSortImage", "sortImage");
+ sortHeader.insertBefore(sortImage, sortHeader.firstChild);
+ if (sorting["task-ascending"])
+ sortImage.src = ResourcesURL + "/arrow-up.png";
+ else
+ sortImage.src = ResourcesURL + "/arrow-down.png";
+ }
+ }
+ if (http.callbackData) {
+ var selectedNodesId = http.callbackData;
+ for (var i = 0; i < selectedNodesId.length; i++) {
+ // log(selectedNodesId[i] + " (" + i + ") is selected");
+ var node = $(selectedNodesId[i]);
+ if (node) {
+ node.selectElement();
+ }
+ }
+ }
+ else
+ log ("tasksListCallback: no data");
}
- else if (parseInt(data[i][11]) == 9) {
- row.addClassName("low");
- }
-
- var cell = createElement("td");
- row.appendChild(cell);
- var input = createElement("input");
- input.setAttribute("type", "checkbox");
- cell.appendChild(input);
- input.setAttribute("value", "1");
- if (parseInt(data[i][9]) == 0) // editable?
- input.setAttribute("disabled", true);
- input.addClassName("checkBox");
- if (parseInt(data[i][3]) == 1) // completed?
- input.setAttribute("checked", "checked");
- input.observe("click", updateTaskStatus, true);
-
- cell = createElement("td");
- row.appendChild(cell);
- if (data[i][11] != null) {
- cell.update(_("prio_" + data[i][11])); // Priority
- }
- else {
- cell.update(""); // Priority
- }
-
- cell = createElement("td");
- row.appendChild(cell);
- var colorDiv = createElement("div", false, "colorBox calendarFolder" + calendar);
- cell.appendChild(colorDiv);
- colorDiv.update(' ');
- var t = new Element ("span");
- cell.appendChild(t);
- t.update(data[i][4]); // title
-
- cell = createElement("td");
- row.appendChild(cell);
- if (data[i][13])
- cell.update(data[i][13]); // end date
-
- cell = createElement("td");
- row.appendChild(cell);
- cell.update(data[i][7]); // location
-
- cell = createElement("td");
- row.appendChild(cell);
- cell.update(data[i][8]); // category
-
- cell = createElement("td");
- row.appendChild(cell);
- cell.update(data[i][2]); // calendar name
- }
-
- table.scrollTop = table.previousScroll;
-
- if (sorting["task-attribute"] && sorting["task-attribute"].length > 0) {
- var sortHeader = $(sorting["task-header"]);
-
- if (sortHeader) {
- var sortImages = $(table.tHead).select(".sortImage");
- $(sortImages).each(function(item) {
- item.remove();
- });
-
- var sortImage = createElement("img", "messageSortImage", "sortImage");
- sortHeader.insertBefore(sortImage, sortHeader.firstChild);
- if (sorting["task-ascending"])
- sortImage.src = ResourcesURL + "/arrow-up.png";
- else
- sortImage.src = ResourcesURL + "/arrow-down.png";
- }
- }
- if (http.callbackData) {
- var selectedNodesId = http.callbackData;
- for (var i = 0; i < selectedNodesId.length; i++) {
- // log(selectedNodesId[i] + " (" + i + ") is selected");
- var node = $(selectedNodesId[i]);
- if (node) {
- node.selectElement();
- }
- }
- }
- else
- log ("tasksListCallback: no data");
}
- }
- else
- log ("tasksListCallback Ajax error");
+ else
+ log ("tasksListCallback Ajax error");
}
/* in dateselector */
@@ -1313,10 +1328,10 @@ function changeDateSelectorDisplay(day, keepCurrentDay) {
day += "01";
url += "?day=" + day;
}
-
+
if (!keepCurrentDay)
currentDay = day;
-
+
var month = day.substr(0, 6);
if (cachedDateSelectors[month]) {
// log ("restoring cached selector for month: " + month);
@@ -1329,9 +1344,9 @@ function changeDateSelectorDisplay(day, keepCurrentDay) {
document.dateSelectorAjaxRequest.abort();
}
document.dateSelectorAjaxRequest
- = triggerAjaxRequest(url,
- dateSelectorCallback,
- month);
+ = triggerAjaxRequest(url,
+ dateSelectorCallback,
+ month);
}
}
@@ -1344,20 +1359,20 @@ function changeCalendarDisplay(data, newView) {
day = data['day'];
scrollEvent = data['scrollEvent'];
}
-
+
if (!day)
day = currentDay;
-
+
if (day) {
if (data) {
var dayDiv = $("day"+day);
if (dayDiv) {
// Don't reload the view if the event is present in current view
-
+
// Deselect day in date selector
if (document.selectedDate)
document.selectedDate.deselect();
-
+
// Select day in date selector
var selectedLink = $$('table#dateSelectorTable span[day='+day+']');
if (selectedLink.length > 0) {
@@ -1366,15 +1381,15 @@ function changeCalendarDisplay(data, newView) {
document.selectedDate = selectedCell;
} else
document.selectedDate = null;
-
+
// Scroll to event
if (scrollEvent) {
preventAutoScroll = false;
scrollDayView(scrollEvent);
}
-
+
setSelectedDayDate(day);
-
+
return false;
}
else if (day.length == 6) {
@@ -1383,26 +1398,26 @@ function changeCalendarDisplay(data, newView) {
}
url += "?day=" + day;
}
-
+
selectedCalendarCell = null;
-
+
if (document.dayDisplayAjaxRequest) {
document.dayDisplayAjaxRequest.aborted = true;
document.dayDisplayAjaxRequest.abort();
}
document.dayDisplayAjaxRequest
- = triggerAjaxRequest(url, calendarDisplayCallback,
- { "view": newView,
- "day": day,
- "scrollEvent": scrollEvent });
-
+ = triggerAjaxRequest(url, calendarDisplayCallback,
+ { "view": newView,
+ "day": day,
+ "scrollEvent": scrollEvent });
+
return false;
}
function _ensureView(view) {
if (currentView != view)
changeCalendarDisplay(null, view);
-
+
return false;
}
@@ -1432,7 +1447,7 @@ function onCalendarReload() {
refreshEventsAndTasks();
changeCalendarDisplay();
}
-
+
return false;
}
@@ -1442,7 +1457,7 @@ function reloadWebCalendars() {
if (UserSettings['Calendar']
&& UserSettings['Calendar']['WebCalendars']) {
var webCalendars = UserSettings['Calendar']['WebCalendars'];
-
+
var folders = $("calendarList");
var calendarNodes = folders.childNodesWithTag("li");
for (var i = 0; i < calendarNodes.length; i++) {
@@ -1456,19 +1471,19 @@ function reloadWebCalendars() {
}
}
}
-
+
return (remaining.length > 0);
}
var calendarReloadErrors = { "invalid-calendar-content":
- _("the returned content was not valid calendar"
- + " data"),
- "http-error": _("an unknown http error occurred"
- + " during the load operation"),
- "bad-url": _("the url in use is invalid or the"
- + " host is currently unreachable"),
- "invalid-url": _("the url being used is invalid"
- + " or not handled") };
+ _("the returned content was not valid calendar"
+ + " data"),
+ "http-error": _("an unknown http error occurred"
+ + " during the load operation"),
+ "bad-url": _("the url in use is invalid or the"
+ + " host is currently unreachable"),
+ "invalid-url": _("the url being used is invalid"
+ + " or not handled") };
function reloadWebCalendar(folderID, refreshOperations) {
var url = URLForFolderID(folderID) + "/reload";
@@ -1513,7 +1528,7 @@ function reloadWebCalendarCallback(http) {
}
showAlertDialog (errorMessage);
}
-
+
if (requireAuth) {
reauthenticateWebCalendar(cbData["folderID"], cbData);
}
@@ -1601,12 +1616,12 @@ function scrollDayView(scrollEvent) {
var eventBlocks = selectCalendarEvent(eventRow.calendar, eventRow.cname, eventRow.recurrenceTime);
if (eventBlocks) {
var firstEvent = eventBlocks.first();
-
+
if (currentView == "monthview")
contentView = firstEvent.up("DIV.day");
else
contentView = $("daysView");
-
+
// Don't scroll to an all-day event
if (typeof eventRow.hour != "undefined") {
var top = firstEvent.cumulativeOffset()[1] - contentView.scrollTop;
@@ -1640,10 +1655,10 @@ function refreshCalendarEvents(scrollEvent) {
var todayDate = new Date();
var sd;
var ed;
-
+
if (!currentDay)
currentDay = todayDate.getDayString();
-
+
if (currentView == "dayview" || currentView == "multicolumndayview") {
sd = currentDay;
ed = sd;
@@ -1663,7 +1678,7 @@ function refreshCalendarEvents(scrollEvent) {
monthDate = currentDay.asDate();
monthDate.setDate(1);
sd = monthDate.beginOfWeek().getDayString();
-
+
var lastMonthDate = new Date();
lastMonthDate.setTime(monthDate.getTime());
lastMonthDate.setMonth(monthDate.getMonth() + 1);
@@ -1677,57 +1692,57 @@ function refreshCalendarEvents(scrollEvent) {
var url = (ApplicationBaseURL + "/eventsblocks?sd=" + sd + "&ed=" + ed
+ "&view=" + currentView);
document.refreshCalendarEventsAjaxRequest
- = triggerAjaxRequest(url, refreshCalendarEventsCallback,
- {"startDate": sd, "endDate": ed,
- "scrollEvent": scrollEvent});
+ = triggerAjaxRequest(url, refreshCalendarEventsCallback,
+ {"startDate": sd, "endDate": ed,
+ "scrollEvent": scrollEvent});
}
function _parseEvents(list, calendars) {
var newCalendarEvents = {};
-
+
if (currentView == "multicolumndayview") {
- var list;
- for (var i = 0; i < calendars.length; i++) {
- list = calendars[i][0];
- for (var j = 0; j < list.length; j++) {
- var event = list[j];
- var cname = event[0];
- var calendar = event[1];
- // log("parsed cname: " + cname + "; calendar: " + calendar);
- var calendarDict = newCalendarEvents[calendar];
- if (!calendarDict) {
- calendarDict = {};
- newCalendarEvents[calendar] = calendarDict;
- }
- var occurences = calendarDict[cname];
- if (!occurences) {
- occurences = [];
- calendarDict[cname] = occurences;
- }
- event.blocks = [];
- occurences.push(event);
+ var list;
+ for (var i = 0; i < calendars.length; i++) {
+ list = calendars[i][0];
+ for (var j = 0; j < list.length; j++) {
+ var event = list[j];
+ var cname = event[0];
+ var calendar = event[1];
+ // log("parsed cname: " + cname + "; calendar: " + calendar);
+ var calendarDict = newCalendarEvents[calendar];
+ if (!calendarDict) {
+ calendarDict = {};
+ newCalendarEvents[calendar] = calendarDict;
+ }
+ var occurences = calendarDict[cname];
+ if (!occurences) {
+ occurences = [];
+ calendarDict[cname] = occurences;
+ }
+ event.blocks = [];
+ occurences.push(event);
+ }
}
- }
}
else {
- for (var i = 0; i < list.length; i++) {
- var event = list[i];
- var cname = event[0];
- var calendar = event[1];
- // log("parsed cname: " + cname + "; calendar: " + calendar);
- var calendarDict = newCalendarEvents[calendar];
- if (!calendarDict) {
- calendarDict = {};
- newCalendarEvents[calendar] = calendarDict;
+ for (var i = 0; i < list.length; i++) {
+ var event = list[i];
+ var cname = event[0];
+ var calendar = event[1];
+ // log("parsed cname: " + cname + "; calendar: " + calendar);
+ var calendarDict = newCalendarEvents[calendar];
+ if (!calendarDict) {
+ calendarDict = {};
+ newCalendarEvents[calendar] = calendarDict;
+ }
+ var occurences = calendarDict[cname];
+ if (!occurences) {
+ occurences = [];
+ calendarDict[cname] = occurences;
+ }
+ event.blocks = [];
+ occurences.push(event);
}
- var occurences = calendarDict[cname];
- if (!occurences) {
- occurences = [];
- calendarDict[cname] = occurences;
- }
- event.blocks = [];
- occurences.push(event);
- }
}
return newCalendarEvents;
@@ -1735,11 +1750,11 @@ function _parseEvents(list, calendars) {
function _setupEventsDragAndDrop(events) {
/* We setup the drag controllers for all the events.
- Since the same events may be listed more than once per calendar
- (repeating events), we must keep account of those that have already
- been setup. */
+ Since the same events may be listed more than once per calendar
+ (repeating events), we must keep account of those that have already
+ been setup. */
var setupFlags = {};
-
+
for (var i = 0; i < events.length; i++) {
var cname = events[i][0];
var calendar = events[i][1];
@@ -1808,19 +1823,19 @@ function resetCategoriesStyles() {
while (categoriesStyleSheet.firstChild)
categoriesStyleSheet.removeChild(categoriesStyleSheet.firstChild);
}
-
+
if (UserDefaults['SOGoCalendarCategoriesColors']) {
// Update stylesheet with new categories colors
var selectors = [];
var rules = [];
categoriesStyles.keys().each(function(category) {
- var color = UserDefaults['SOGoCalendarCategoriesColors'][category];
- if (color) {
- rules[rules.length] = '{ border-right: 8px solid ' + color + '; }';
- selectors[selectors.length] = 'DIV.' + categoriesStyles.get(category);
- }
- });
-
+ var color = UserDefaults['SOGoCalendarCategoriesColors'][category];
+ if (color) {
+ rules[rules.length] = '{ border-right: 8px solid ' + color + '; }';
+ selectors[selectors.length] = 'DIV.' + categoriesStyles.get(category);
+ }
+ });
+
if (selectors.length > 0) {
if (categoriesStyleSheet.styleSheet && categoriesStyleSheet.styleSheet.addRule) {
// IE
@@ -1860,7 +1875,7 @@ function newBaseEventDIV(eventRep, event, eventText) {
// log ("18 editable = " + event[18]);
// log ("19 erasable = " + event[19]);
// log ("20 ownerisorganizer = " + event[20]);
-
+
var eventCell = createElement("div");
eventCell.cname = event[0];
eventCell.calendar = event[1];
@@ -1870,10 +1885,10 @@ function newBaseEventDIV(eventRep, event, eventText) {
eventCell.writeAttribute('day', startDate.getDayString());
eventCell.writeAttribute('hour', event[8]? 'allday' : startDate.getHourString());
}
-// if (event[8] == 1)
-// eventCell.addClassName("private");
-// else if (event[8] == 2)
-// eventCell.addClassName("confidential");
+ // if (event[8] == 1)
+ // eventCell.addClassName("private");
+ // else if (event[8] == 2)
+ // eventCell.addClassName("confidential");
if (eventRep.recurrenceTime)
eventCell.recurrenceTime = eventRep.recurrenceTime;
//eventCell.owner = event[12];
@@ -1882,31 +1897,31 @@ function newBaseEventDIV(eventRep, event, eventText) {
eventCell.erasable = event[19] || IsSuperUser;
eventCell.ownerIsOrganizer = event[20];
eventCell.addClassName("event");
-// if (event[14] > 0)
-// eventCell.addClassName("alarm");
-
+ // if (event[14] > 0)
+ // eventCell.addClassName("alarm");
+
var innerDiv = createElement("div");
eventCell.appendChild(innerDiv);
innerDiv.addClassName("eventInside");
innerDiv.addClassName("calendarFolder" + event[1]);
if (eventRep.userState >= 0 && userStates[eventRep.userState])
innerDiv.addClassName(userStates[eventRep.userState]);
-
+
var gradientDiv = createElement("div");
innerDiv.appendChild(gradientDiv);
gradientDiv.addClassName("gradient");
-
+
var gradientImg = createElement("img");
gradientDiv.appendChild(gradientImg);
gradientImg.src = ResourcesURL + "/event-gradient.png";
-
+
var textDiv = createElement("div");
innerDiv.appendChild(textDiv);
textDiv.addClassName("text");
var iconSpan = createElement("span", null, "icons");
textDiv.update(eventText.replace(/(\\r)?\\n/g, "
"));
textDiv.appendChild(iconSpan);
-
+
// Add alarm and classification icons
if (event[9] == 1)
createElement("img", null, null, {src: ResourcesURL + "/private.png"}, null, iconSpan);
@@ -1914,7 +1929,7 @@ function newBaseEventDIV(eventRep, event, eventText) {
createElement("img", null, null, {src: ResourcesURL + "/confidential.png"}, null, iconSpan);
if (event[15] > 0)
createElement("img", null, null, {src: ResourcesURL + "/alarm.png"}, null, iconSpan);
-
+
if (event[10] != null) {
var category = event[10].decodeEntities();
var categoryStyle = categoriesStyles.get(category);
@@ -1925,7 +1940,7 @@ function newBaseEventDIV(eventRep, event, eventText) {
innerDiv.addClassName(categoryStyle);
}
eventCell.observe("contextmenu", onMenuCurrentView);
-
+
if (event[3] == null) {
// Status field is not defined -- user can't read event
eventCell.observe("selectstart", listRowMouseDownHandler);
@@ -1939,9 +1954,9 @@ function newBaseEventDIV(eventRep, event, eventText) {
eventCell.observe("dblclick", editDoubleClickedEvent);
eventCell.observe("click", onViewEvent);
}
-
+
event.blocks.push(eventCell);
-
+
return eventCell;
}
@@ -1950,38 +1965,38 @@ function _drawCalendarAllDayEvents(events, eventsData, columnsData) {
var subdivs = headerView.childNodesWithTag("div");
if (currentView == "multicolumndayview"){
- var days = subdivs[2].childNodesWithTag("div");
+ var days = subdivs[2].childNodesWithTag("div");
for (var i = 0; i < days.length; i++) {
- var parentDiv = days[i];
- var calendar = columnsData[i];
- var calendarAllDayEvents = calendar[1][0];
- var calendarAllDayEventsData = calendar[0];
- for (var j = 0; j < calendarAllDayEvents.length; j++) {
- var eventRep = calendarAllDayEvents[j];
- var nbr = eventRep.nbr;
- var eventCell = newAllDayEventDIV(eventRep, calendarAllDayEventsData[nbr]);
- parentDiv.appendChild(eventCell);
- }
- }
+ var parentDiv = days[i];
+ var calendar = columnsData[i];
+ var calendarAllDayEvents = calendar[1][0];
+ var calendarAllDayEventsData = calendar[0];
+ for (var j = 0; j < calendarAllDayEvents.length; j++) {
+ var eventRep = calendarAllDayEvents[j];
+ var nbr = eventRep.nbr;
+ var eventCell = newAllDayEventDIV(eventRep, calendarAllDayEventsData[nbr]);
+ parentDiv.appendChild(eventCell);
+ }
+ }
}
else {
- var days = subdivs[1].childNodesWithTag("div");
- for (var i = 0; i < days.length; i++) {
- var parentDiv = days[i];
- for (var j = 0; j < events[i].length; j++) {
- var eventRep = events[i][j];
- var nbr = eventRep.nbr;
- var eventCell = newAllDayEventDIV(eventRep, eventsData[nbr]);
- parentDiv.appendChild(eventCell);
+ var days = subdivs[1].childNodesWithTag("div");
+ for (var i = 0; i < days.length; i++) {
+ var parentDiv = days[i];
+ for (var j = 0; j < events[i].length; j++) {
+ var eventRep = events[i][j];
+ var nbr = eventRep.nbr;
+ var eventCell = newAllDayEventDIV(eventRep, eventsData[nbr]);
+ parentDiv.appendChild(eventCell);
+ }
}
- }
}
resizeCalendarHeaderDIV();
}
/* When the list of all day events overflows, we resize it in order to contain
- at least 6 or 7 items. Afterwards we restore the regular scrollbar
- mechanism. */
+ at least 6 or 7 items. Afterwards we restore the regular scrollbar
+ mechanism. */
function resizeCalendarHeaderDIV() {
var headerView = $("calendarHeader");
var daysView = $("daysView");
@@ -1990,14 +2005,14 @@ function resizeCalendarHeaderDIV() {
var headerViewBaseHeight = 90;
var daysViewBaseTop = 95;
/* /consts */
-
+
var maxEventPerDay = 0;
-
+
var subdivs = headerView.childNodesWithTag("div");
if (currentView == "multicolumndayview")
- var days = subdivs[2].childNodesWithTag("div");
+ var days = subdivs[2].childNodesWithTag("div");
else
- var days = subdivs[1].childNodesWithTag("div");
+ var days = subdivs[1].childNodesWithTag("div");
for (var i = 0; i < days.length; i++) {
var parentDiv = days[i];
var divs = parentDiv.childNodesWithTag("div");
@@ -2006,17 +2021,17 @@ function resizeCalendarHeaderDIV() {
}
}
if (maxEventPerDay > 0 && maxEventPerDay <= 4) {
- var moveDaysView = (maxEventPerDay * 19.5);
- var expendHeaderHeight = ((maxEventPerDay - 1) * 20);
- var deltaMax = 60;
- if (expendHeaderHeight > deltaMax){
- expendHeaderHeight = deltaMax;
- moveDaysView = deltaMax;
- }
- daysView.style.top = String(daysViewBaseTop + moveDaysView) + "px";
- headerView.style.height = String(headerViewBaseHeight + expendHeaderHeight) + "px";
+ var moveDaysView = (maxEventPerDay * 19.5);
+ var expendHeaderHeight = ((maxEventPerDay - 1) * 20);
+ var deltaMax = 60;
+ if (expendHeaderHeight > deltaMax){
+ expendHeaderHeight = deltaMax;
+ moveDaysView = deltaMax;
+ }
+ daysView.style.top = String(daysViewBaseTop + moveDaysView) + "px";
+ headerView.style.height = String(headerViewBaseHeight + expendHeaderHeight) + "px";
}
-
+
else if (maxEventPerDay > 4) {
var deltaMax = 60;
daysView.style.top = String(daysViewBaseTop + deltaMax + 19) + "px";
@@ -2025,11 +2040,11 @@ function resizeCalendarHeaderDIV() {
else {
var headerDays = document.getElementsByClassName("days")[0];
headerDays.observe("mouseenter", function(event){
- headerDays.style.zIndex = "1";
- });
+ headerDays.style.zIndex = "1";
+ });
headerDays.observe("mouseleave", function(event){
- headerDays.style.zIndex = "0";
- });
+ headerDays.style.zIndex = "0";
+ });
daysView.style.top = null;
headerView.style.height = null;
}
@@ -2040,7 +2055,7 @@ function newAllDayEventDIV(eventRep, event) {
// cname, calendar, starts, lasts,
// startHour, endHour, title) {
var eventCell = newBaseEventDIV(eventRep, event, event[4]);
-
+
return eventCell;
}
@@ -2052,59 +2067,59 @@ function _drawCalendarEvents(events, eventsData, columnsData) {
if (subdiv.hasClassName("days")) {
var days = subdiv.childNodesWithTag("div");
if (currentView == "multicolumndayview") {
- for (var j = 0; j < days.length; j++) {
- var parentDiv = days[j].childNodesWithTag("div")[0];
- var calendar = columnsData[j];
- var calendarEvents = calendar[2][0];
- var calendarEventsData = calendar[0];
- for (var k = 0; k < calendarEvents.length; k++) {
- var eventRep = calendarEvents[k];
- var nbr = eventRep.nbr;
- var eventCell = newEventDIV(eventRep, calendarEventsData[nbr]);
- parentDiv.appendChild(eventCell);
- }
- }
+ for (var j = 0; j < days.length; j++) {
+ var parentDiv = days[j].childNodesWithTag("div")[0];
+ var calendar = columnsData[j];
+ var calendarEvents = calendar[2][0];
+ var calendarEventsData = calendar[0];
+ for (var k = 0; k < calendarEvents.length; k++) {
+ var eventRep = calendarEvents[k];
+ var nbr = eventRep.nbr;
+ var eventCell = newEventDIV(eventRep, calendarEventsData[nbr]);
+ parentDiv.appendChild(eventCell);
+ }
+ }
}
else {
- for (var j = 0; j < days.length; j++) {
- var parentDiv = days[j].childNodesWithTag("div")[0];
- for (var k = 0; k < events[j].length; k++) {
- var eventRep = events[j][k];
- var nbr = eventRep.nbr;
- var eventCell = newEventDIV(eventRep, eventsData[nbr]);
- parentDiv.appendChild(eventCell);
+ for (var j = 0; j < days.length; j++) {
+ var parentDiv = days[j].childNodesWithTag("div")[0];
+ for (var k = 0; k < events[j].length; k++) {
+ var eventRep = events[j][k];
+ var nbr = eventRep.nbr;
+ var eventCell = newEventDIV(eventRep, eventsData[nbr]);
+ parentDiv.appendChild(eventCell);
+ }
}
- }
}
}
}
}
function newEventDIV(eventRep, event) {
- var eventCell = newBaseEventDIV(eventRep, event, event[4]);
-
- var pc = 100 / eventRep.siblings;
- var left = eventRep.position * pc;
- eventCell.style.left = left + "%";
- var right = 100 - (eventRep.position + 1) * pc;
- if (event[10] != null)
- eventCell.style.borderRight = "8px solid white";
-
- eventCell.style.right = right + "%";
- eventCell.addClassName("starts" + eventRep.start);
- eventCell.addClassName("lasts" + eventRep.length);
-
- if (event[7]) {
- var inside = eventCell.childNodesWithTag("div")[0];
- var textDiv = inside.childNodesWithTag("div")[1];
- textDiv.appendChild(createElement("br"));
- var span = createElement("span", null, "location");
- var text = _("Location:") + " " + event[7];
- span.update(text);
- textDiv.appendChild(span);
- }
-
- return eventCell;
+ var eventCell = newBaseEventDIV(eventRep, event, event[4]);
+
+ var pc = 100 / eventRep.siblings;
+ var left = eventRep.position * pc;
+ eventCell.style.left = left + "%";
+ var right = 100 - (eventRep.position + 1) * pc;
+ if (event[10] != null)
+ eventCell.style.borderRight = "8px solid white";
+
+ eventCell.style.right = right + "%";
+ eventCell.addClassName("starts" + eventRep.start);
+ eventCell.addClassName("lasts" + eventRep.length);
+
+ if (event[7]) {
+ var inside = eventCell.childNodesWithTag("div")[0];
+ var textDiv = inside.childNodesWithTag("div")[1];
+ textDiv.appendChild(createElement("br"));
+ var span = createElement("span", null, "location");
+ var text = _("Location:") + " " + event[7];
+ span.update(text);
+ textDiv.appendChild(span);
+ }
+
+ return eventCell;
}
function _drawMonthCalendarEvents(events, eventsData) {
@@ -2122,18 +2137,18 @@ function _drawMonthCalendarEvents(events, eventsData) {
}
function newMonthEventDIV(eventRep, event) {
- var eventText;
- if (event[8]) // all-day event
- eventText = event[4];
- else
- eventText = eventRep.starthour + " - " + event[4];
-
- var eventCell = newBaseEventDIV(eventRep, event,
- eventText);
- if (event[10] != null)
- eventCell.style.borderRight = "8px solid white";
-
- return eventCell;
+ var eventText;
+ if (event[8]) // all-day event
+ eventText = event[4];
+ else
+ eventText = eventRep.starthour + " - " + event[4];
+
+ var eventCell = newBaseEventDIV(eventRep, event,
+ eventText);
+ if (event[10] != null)
+ eventCell.style.borderRight = "8px solid white";
+
+ return eventCell;
}
function attachDragControllers(contentView) {
@@ -2149,8 +2164,8 @@ function attachDragControllers(contentView) {
}
/* On IE, the scroll bar is part of the last element. For other browsers, we
- execute this method so that the "right" style attribute of the
- "calendarHeader" element can be computed. This is execute only once. */
+ execute this method so that the "right" style attribute of the
+ "calendarHeader" element can be computed. This is execute only once. */
function adjustCalendarHeaderDIV() {
var dv = $("daysView");
if (dv) {
@@ -2188,22 +2203,22 @@ function adjustMultiColumnCalendarHeaderDIV() {
var nbCalendars = calendarsToDisplay.length;
if (nbCalendars > 0) {
- var width = 100/nbCalendars;
- var left = 0;
- var position = "absolute";
- for(var i=0; i < nbCalendars; i++){
- calendarsToDisplay[i].setStyle({ width: width + '%', left: left + '%', position: position}).show();
- days[i].setStyle({ width: width + '%', left: left + '%'}).show();
- daysView[i].setStyle({ width: width + '%', left: left + '%'}).show();
- left += width;
- }
- dayLabels.setStyle({ width: '100%'}).show();
+ var width = 100/nbCalendars;
+ var left = 0;
+ var position = "absolute";
+ for(var i=0; i < nbCalendars; i++){
+ calendarsToDisplay[i].setStyle({ width: width + '%', left: left + '%', position: position}).show();
+ days[i].setStyle({ width: width + '%', left: left + '%'}).show();
+ daysView[i].setStyle({ width: width + '%', left: left + '%'}).show();
+ left += width;
+ }
+ dayLabels.setStyle({ width: '100%'}).show();
}
else {
- $("calendarHeader").remove();
- $("daysView").remove();
- $("calendarContent").style.height = "100%";
- $("calendarContent").style.background = "#E7E7E7";
+ $("calendarHeader").remove();
+ $("daysView").remove();
+ $("calendarContent").style.height = "100%";
+ $("calendarContent").style.background = "#E7E7E7";
}
}
@@ -2211,17 +2226,17 @@ function calendarDisplayCallback(http) {
var div = $("calendarView");
var daysView = $("daysView");
var position = -1;
-
+
// Check the previous view to restore the scrolling position
if (daysView)
- position = daysView.scrollTop;
+ position = daysView.scrollTop;
preventAutoScroll = (position != -1);
-
+
if (http.readyState == 4
&& http.status == 200) {
document.dayDisplayAjaxRequest = null;
div.update(http.responseText);
-
+
// DOM has changed
daysView = $("daysView");
if (daysView) {
@@ -2230,7 +2245,7 @@ function calendarDisplayCallback(http) {
if (!calendarHeaderAdjusted)
adjustCalendarHeaderDIV();
}
-
+
if (http.callbackData["view"])
currentView = http.callbackData["view"];
if (http.callbackData["day"])
@@ -2238,7 +2253,7 @@ function calendarDisplayCallback(http) {
if (currentView == "multicolumndayview")
adjustMultiColumnCalendarHeaderDIV();
-
+
// Initialize contextual menu
var menu = new Array(onMenuNewEventClick,
onMenuNewTaskClick,
@@ -2249,7 +2264,7 @@ function calendarDisplayCallback(http) {
deleteEvent,
copyEventToPersonalCalendar,
onMenuRawEvent
- );
+ );
var observer;
if (currentView == 'dayview' || currentView == 'weekview' || currentView == 'multicolumndayview') {
observer = $("daysView");
@@ -2257,7 +2272,7 @@ function calendarDisplayCallback(http) {
else {
observer = $("monthDaysView");
}
-
+
var contentView;
if (currentView == "monthview")
contentView = $("calendarContent");
@@ -2265,7 +2280,7 @@ function calendarDisplayCallback(http) {
contentView = $("daysView");
contentView.observe("scroll", onBodyClickHandler);
attachDragControllers($("calendarHeader"));
-
+
// Create a clone of the contextual menu for the all-day
// events area
var allDayViewMenu = Element.clone($("currentViewMenu"), true);
@@ -2278,19 +2293,19 @@ function calendarDisplayCallback(http) {
allDayArea.observe("contextmenu", onMenuAllDayView);
}
attachDragControllers(contentView);
-
+
// Attach contextual menu
var currentViewMenu = $("currentViewMenu");
initMenu(currentViewMenu, menu);
observer.observe("contextmenu", onMenuCurrentView);
currentViewMenu.prepareVisibility = onMenuCurrentViewPrepareVisibility;
-
+
restoreSelectedDay();
-
+
refreshCalendarEvents(http.callbackData.scrollEvent);
-
+
var days = contentView.select("DIV.day");
-
+
if (currentView == "monthview")
for (var i = 0; i < days.length; i++) {
days[i].observe("click", onCalendarSelectDay);
@@ -2301,20 +2316,20 @@ function calendarDisplayCallback(http) {
days[i].observe("scroll", onBodyClickHandler);
}
else if (currentView == "multicolumndayview") {
- var calendarHeader = $("calendarHeader");
- var headerCalendarsLabels = calendarHeader.select("DIV.calendarLabels DIV.calendarsToDisplay");
- var headerDays = calendarHeader.select("DIV.days DIV.day");
- for (var i = 0; i < days.length; i++) {
- headerDays[i].hour = "allday";
- headerCalendarsLabels[i].observe("mousedown", listRowMouseDownHandler);
- headerDays[i].observe("click", onCalendarSelectDay);
- headerDays[i].observe("dblclick", onClickableCellsDblClick);
- days[i].observe("click", onCalendarSelectDay);
-
- var clickableCells = days[i].select("DIV.clickableHourCell");
- for (var j = 0; j < clickableCells.length; j++)
- clickableCells[j].observe("dblclick", onClickableCellsDblClick);
- }
+ var calendarHeader = $("calendarHeader");
+ var headerCalendarsLabels = calendarHeader.select("DIV.calendarLabels DIV.calendarsToDisplay");
+ var headerDays = calendarHeader.select("DIV.days DIV.day");
+ for (var i = 0; i < days.length; i++) {
+ headerDays[i].hour = "allday";
+ headerCalendarsLabels[i].observe("mousedown", listRowMouseDownHandler);
+ headerDays[i].observe("click", onCalendarSelectDay);
+ headerDays[i].observe("dblclick", onClickableCellsDblClick);
+ days[i].observe("click", onCalendarSelectDay);
+
+ var clickableCells = days[i].select("DIV.clickableHourCell");
+ for (var j = 0; j < clickableCells.length; j++)
+ clickableCells[j].observe("dblclick", onClickableCellsDblClick);
+ }
}
else {
var calendarHeader = $("calendarHeader");
@@ -2326,7 +2341,7 @@ function calendarDisplayCallback(http) {
headerDays[i].observe("click", onCalendarSelectDay);
headerDays[i].observe("dblclick", onClickableCellsDblClick);
days[i].observe("click", onCalendarSelectDay);
-
+
var clickableCells = days[i].select("DIV.clickableHourCell");
for (var j = 0; j < clickableCells.length; j++)
clickableCells[j].observe("dblclick", onClickableCellsDblClick);
@@ -2341,16 +2356,16 @@ function calendarDisplayCallback(http) {
function onEventsSelectionChange() {
listOfSelection = this;
this.removeClassName("_unfocused");
-
+
var tasksList = $("tasksList");
tasksList.addClassName("_unfocused");
deselectAll(tasksList);
-
+
var rows = $(this).getSelectedNodes();
if (rows.length == 1) {
var row = rows[0];
changeCalendarDisplay( { "day": row.day,
- "scrollEvent": row.getAttribute("id") } );
+ "scrollEvent": row.getAttribute("id") } );
changeDateSelectorDisplay(row.day, true);
}
else {
@@ -2365,13 +2380,13 @@ function onEventsSelectionChange() {
function onTasksSelectionChange(event) {
listOfSelection = this;
this.removeClassName("_unfocused");
-
+
var target = Event.element(event);
if (target.tagName == 'SPAN')
target = target.parentNode;
// Update selection
onRowClick(event, target);
-
+
var eventsList = $("eventsList");
eventsList.addClassName("_unfocused");
eventsList.deselectAll();
@@ -2384,45 +2399,45 @@ function _loadEventHref(href) {
}
var url = ApplicationBaseURL + "/" + href;
document.eventsListAjaxRequest
- = triggerAjaxRequest(url, eventsListCallback, href);
-
+ = triggerAjaxRequest(url, eventsListCallback, href);
+
return false;
}
function _loadTasksHref(href) {
- if (document.tasksListAjaxRequest) {
- document.tasksListAjaxRequest.aborted = true;
- document.tasksListAjaxRequest.abort();
- }
- if (document.activeTasksAjaxRequest) {
- document.activeTasksAjaxRequest.aborted = true;
- document.activeTasksAjaxRequest.abort();
- }
- url = ApplicationBaseURL + "/" + href;
- urlActiveTasks = ApplicationBaseURL + "/activeTasks";
-
- var tasksList = $("tasksList");
- var selectedIds;
- if (tasksList)
- selectedIds = tasksList.getSelectedNodesId();
- else
- selectedIds = null;
-
- document.tasksListAjaxRequest = triggerAjaxRequest(url, tasksListCallback, selectedIds);
-
- document.activeTasksAjaxRequest = triggerAjaxRequest(urlActiveTasks, activeTasksCallback);
-
- return true;
+ if (document.tasksListAjaxRequest) {
+ document.tasksListAjaxRequest.aborted = true;
+ document.tasksListAjaxRequest.abort();
+ }
+ if (document.activeTasksAjaxRequest) {
+ document.activeTasksAjaxRequest.aborted = true;
+ document.activeTasksAjaxRequest.abort();
+ }
+ url = ApplicationBaseURL + "/" + href;
+ urlActiveTasks = ApplicationBaseURL + "/activeTasks";
+
+ var tasksList = $("tasksList");
+ var selectedIds;
+ if (tasksList)
+ selectedIds = tasksList.getSelectedNodesId();
+ else
+ selectedIds = null;
+
+ document.tasksListAjaxRequest = triggerAjaxRequest(url, tasksListCallback, selectedIds);
+
+ document.activeTasksAjaxRequest = triggerAjaxRequest(urlActiveTasks, activeTasksCallback);
+
+ return true;
}
function onHeaderClick(event) {
var newSortAttribute;
var headerId;
-
+
headerId = this.getAttribute("id");
-
+
if (headerId.startsWith('event'))
- {
+ {
// This is needed to get the dom object and flip the triangle
sorting["event-header"] = headerId;
// Take away the 'events' and 'Header' and lowercase the result
@@ -2433,9 +2448,9 @@ function onHeaderClick(event) {
sorting["event-ascending"] = true;
sorting["event-attribute"] = newSortAttribute;
refreshEvents();
- }
+ }
else // Tasks
- {
+ {
// This is needed to get the dom object and flip the triangle
sorting["task-header"] = headerId;
// Take away the 'tasks' and 'Header' and lowercase the result
@@ -2446,31 +2461,31 @@ function onHeaderClick(event) {
sorting["task-ascending"] = true;
sorting["task-attribute"] = newSortAttribute;
refreshTasks();
- }
-
+ }
+
Event.stop(event);
}
function refreshCurrentFolder(id) {
if (id == 'tasks')
- refreshTasks();
+ refreshTasks();
else
- refreshEvents();
+ refreshEvents();
}
/* refreshes the "unifinder" list */
function refreshEvents() {
var specificSearch;
var value = search["events"]["value"];
-
+
if (value && value.length)
specificSearch = ("&search=" + search["events"]["criteria"]
+ "&value=" + escape(value.utf8encode()));
else
specificSearch = "";
-
+
refreshAlarms();
-
+
return _loadEventHref("eventslist?asc=" + sorting["event-ascending"]
+ "&sort=" + sorting["event-attribute"]
+ "&day=" + currentDay
@@ -2481,18 +2496,18 @@ function refreshEvents() {
function refreshTasks(setUserDefault) {
var specificSearch;
var value = search["tasks"]["value"];
-
+
if (value && value.length)
specificSearch = ("&search=" + search["tasks"]["criteria"]
+ "&value=" + escape(value.utf8encode()));
else
specificSearch = "";
-
+
if (setUserDefault == 1)
specificSearch += "&setud=1";
-
+
refreshAlarms();
-
+
return _loadTasksHref("taskslist?show-completed=" + showCompletedTasks
+ "&asc=" + sorting["task-ascending"]
+ "&sort=" + sorting["task-attribute"]
@@ -2507,22 +2522,22 @@ function refreshEventsAndDisplay() {
function onEventsListFilterChange() {
var node = $("filterpopup");
-
+
eventListFilter = node.value;
-
+
return refreshEvents();
}
function onTasksListFilterChange() {
- var node = $("tasksFilterpopup");
-
- taskListFilter = node.value;
-
- $("showHideCompletedTasks").disabled = taskListFilter == "view_overdue" ||
- taskListFilter == "view_incomplete" ||
- taskListFilter == "view_not_started";
-
- return refreshTasks();
+ var node = $("tasksFilterpopup");
+
+ taskListFilter = node.value;
+
+ $("showHideCompletedTasks").disabled = taskListFilter == "view_overdue" ||
+ taskListFilter == "view_incomplete" ||
+ taskListFilter == "view_not_started";
+
+ return refreshTasks();
}
function selectMonthInMenu(menu, month) {
@@ -2556,13 +2571,13 @@ function popupMonthMenu(event) {
menuId = "monthListMenu";
else
menuId = "yearListMenu";
-
+
var popup = $(menuId);
if (id == "monthLabel")
selectMonthInMenu(popup, this.getAttribute("month"));
else
selectYearInMenu(popup, this.innerHTML);
-
+
popupToolbarMenu(this, menuId);
Event.stop(event);
}
@@ -2571,14 +2586,14 @@ function popupMonthMenu(event) {
function onMonthMenuItemClick(event) {
var month = '' + this.getAttribute("month");
var year = '' + $("yearLabel").innerHTML.strip();
-
+
changeDateSelectorDisplay(year + month + "01", true);
}
function onYearMenuItemClick(event) {
var month = '' + $("monthLabel").getAttribute("month");;
var year = '' + this.innerHTML.strip();
-
+
changeDateSelectorDisplay(year + month + "01", true);
}
@@ -2604,7 +2619,7 @@ function _eventBlocksMatching(calendar, cname, recurrenceTime) {
}
}
}
-
+
return blocks;
}
@@ -2620,7 +2635,7 @@ function selectCalendarEvent(calendar, cname, recurrenceTime) {
else
selectedCalendarCell = selection;
}
-
+
return selection;
}
@@ -2640,10 +2655,10 @@ function onSelectAll(event) {
}
for (var i = 0; i < selectedBlocks.length; i++)
selectedBlocks[i].selectElement();
-
+
selectedCalendarCell = selectedBlocks;
}
-
+
return false;
}
@@ -2665,7 +2680,7 @@ function deselectAll(list) {
/** Click on an event in the calendar view */
function onCalendarSelectEvent(event, willShowContextualMenu) {
var alreadySelected = false;
-
+
// Look for event in events list
// TODO: event will likely not be found if an Ajax query is refreshing
// the events list.
@@ -2673,7 +2688,7 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
if (this.recurrenceTime)
rowID += "-" + this.recurrenceTime;
var row = $(rowID);
-
+
// Check if event is already selected
if (selectedCalendarCell)
for (var i = 0; i < selectedCalendarCell.length; i++)
@@ -2681,7 +2696,7 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
alreadySelected = true;
break;
}
-
+
if ((isMac() && event.metaKey == 1) || (!isMac() && event.ctrlKey == 1)) {
// If meta or ctrl key is pressed, inverse the selection
if (alreadySelected) {
@@ -2689,7 +2704,7 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
selectedCalendarCell.splice(i, 1);
if (row)
row.deselect();
-
+
return true;
}
}
@@ -2704,7 +2719,7 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
if (alreadySelected)
selectedCalendarCell = [this];
}
-
+
if (!alreadySelected) {
// Select event in calendar view
selectCalendarEvent(this.calendar, this.cname, this.recurrenceTime);
@@ -2720,39 +2735,39 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
function onCalendarSelectDay(event) {
var day = this.getAttribute("day");
var needRefresh = (eventListFilter == 'view_selectedday' && day != currentDay);
-
+
setSelectedDayDate(day);
changeDateSelectorDisplay(day);
-
+
if (needRefresh)
refreshEvents();
-
+
var target = Event.findElement(event);
var div = target.up('div');
-
+
// Select the calendar associated with the day clicked
if (currentView == "multicolumndayview") {
- if (target.getAttribute("calendar"))
- var calendar = "[id='/" + target.getAttribute("calendar") + "']";
- else
- var calendar = "[id='/" + target.up("[calendar]").getAttribute("calendar") + "']";
- var list = $("calendarList");
- var selectedCalendar = list.down(calendar);
-
- onRowClick(event, selectedCalendar);
+ if (target.getAttribute("calendar"))
+ var calendar = "[id='/" + target.getAttribute("calendar") + "']";
+ else
+ var calendar = "[id='/" + target.up("[calendar]").getAttribute("calendar") + "']";
+ var list = $("calendarList");
+ var selectedCalendar = list.down(calendar);
+
+ onRowClick(event, selectedCalendar);
}
-
+
if (div && !div.hasClassName('event') && !div.hasClassName('eventInside') && !div.hasClassName('text') && !div.hasClassName('gradient')) {
// Target is not an event -- unselect all events.
listOfSelection = $("eventsList");
deselectAll();
return true;
}
-
+
if (listOfSelection) {
listOfSelection.addClassName("_unfocused");
}
-
+
changeCalendarDisplay( { "day": currentDay } );
}
@@ -2764,9 +2779,9 @@ function setSelectedDayDate(dayDate) {
var allDay = $("allDay" + selectedDayDate);
if (allDay)
allDay.removeClassName("selectedDay");
-
+
selectedDayDate = dayDate;
-
+
day = $("day" + selectedDayDate);
day.addClassName("selectedDay");
selectedDayNumber = day.readAttribute("day-number");
@@ -2807,7 +2822,7 @@ function findDateFromDayNumber(dayNumber) {
function onShowCompletedTasks(event) {
showCompletedTasks = (this.checked ? 1 : 0);
-
+
return refreshTasks(1);
}
@@ -2820,7 +2835,7 @@ function updateTaskStatus(event) {
function updateCalendarStatus(event) {
var list = [];
var newStatus = (this.checked ? 1 : 0);
-
+
var nodes = $("calendarList").childNodesWithTag("li");
for (var i = 0; i < nodes.length; i++) {
var input = $(nodes[i]).childNodesWithTag("input")[0];
@@ -2833,15 +2848,15 @@ function updateCalendarStatus(event) {
list.push(UserLogin);
}
}
-
+
// if (!list.length) {
// list.push(UserLogin);
// nodes[0].childNodesWithTag("input")[0].checked = true;
// }
-
+
// ApplicationBaseURL = (UserFolderURL + "Groups/_custom_"
// + list.join(",") + "/Calendar/");
-
+
if (event) {
var folderID = this.parentNode.getAttribute("id");
var urlstr = URLForFolderID(folderID);
@@ -2858,7 +2873,7 @@ function updateCalendarStatus(event) {
refreshTasks();
changeCalendarDisplay();
}
-
+
if (event) {
event.returnValue = true;
}
@@ -2928,9 +2943,9 @@ function onCalendarsMenuPrepareVisibility() {
var selected = folders.getSelectedNodes();
if (selected.length > 0) {
var folderOwner = selected[0].getAttribute("owner");
-
+
var lis = $(this).down("ul").childElements();
-
+
/* distance: sharing = length - 1, export = length - 7 */
var endDists = [ 1, 7 ];
for (var i = 0; i < endDists.length; i++) {
@@ -2941,14 +2956,14 @@ function onCalendarsMenuPrepareVisibility() {
else
option.addClassName("disabled");
}
-
+
var deleteCalendarOption = $("deleteCalendarMenuItem");
// Swith between Delete and Unsubscribe
if (folderOwner == UserLogin)
deleteCalendarOption.update(_("Delete Calendar"));
else
deleteCalendarOption.update(_("Unsubscribe Calendar"));
-
+
return true;
}
return false;
@@ -2971,43 +2986,43 @@ function onMenuCurrentViewPrepareVisibility() {
copyOption.addClassName("disabled");
else
copyOption.removeClassName("disabled");
- if (selectedCalendarCell.length == 1) {
- // show raw content is only allowed for single event
+ if (selectedCalendarCell.length == 1) {
+ // show raw content is only allowed for single event
rawOption.removeClassName("disabled");
}
- else
+ else
rawOption.addClassName("disabled");
}
-
+
return true;
}
function onTasksListMenuPrepareVisibility() {
var options = $(this).down("ul");
var rawOption = options.down("li", 6);
-
+
var selectedTasks = $$("#tasksList ._selected");
if (selectedTasks.length == 1)
rawOption.removeClassName("disabled");
else
rawOption.addClassName("disabled");
-
+
return true;
}
function getMenus() {
var menus = {};
-
+
var dateMenu = [];
for (var i = 0; i < 12; i++)
dateMenu.push(onMonthMenuItemClick);
menus["monthListMenu"] = dateMenu;
-
+
dateMenu = [];
for (var i = 0; i < 11; i++)
dateMenu.push(onYearMenuItemClick);
menus["yearListMenu"] = dateMenu;
-
+
menus["eventsListMenu"] = new Array(onMenuNewEventClick,
onMenuNewTaskClick, "-",
editEvent, deleteEvent, "-",
@@ -3019,20 +3034,20 @@ function getMenus() {
"-", onCalendarExport, onCalendarImport,
null, "-", null, "-", onMenuSharing);
menus["eventSearchMenu"] = new Array(setSearchCriteria, setSearchCriteria, setSearchCriteria);
-
+
menus["tasksListMenu"] = new Array (editEvent, newTask, "-",
marksTasksAsCompleted, deleteEvent, "-",
- onMenuRawTask);
+ onMenuRawTask);
menus["taskSearchMenu"] = new Array(setSearchCriteria, setSearchCriteria, setSearchCriteria);
-
+
var calendarsMenu = $("calendarsMenu");
if (calendarsMenu)
calendarsMenu.prepareVisibility = onCalendarsMenuPrepareVisibility;
-
+
var tasksListMenu = $("tasksListMenu");
if (tasksListMenu)
tasksListMenu.prepareVisibility = onTasksListMenuPrepareVisibility;
-
+
return menus;
}
@@ -3042,7 +3057,7 @@ function newTask () {
function marksTasksAsCompleted () {
var selectedTasks = $$("#tasksList ._selected");
-
+
for (var i = 0; i < selectedTasks.length; i++) {
var task = selectedTasks[i];
_updateTaskCompletion (task, 1);
@@ -3052,18 +3067,18 @@ function marksTasksAsCompleted () {
function _updateTaskCompletion (task, value) {
url = (ApplicationBaseURL + "/" + task.calendar
+ "/" + task.cname + "/changeStatus?status=" + value);
-
+
triggerAjaxRequest(url, refreshTasks, null);
-
+
return false;
}
function onMenuRawTask(event) {
var selectedTasks = $$("#tasksList ._selected");
if (selectedTasks.length != 1) {
- return;
+ return;
}
-
+
var url = ApplicationBaseURL + "/" + selectedTasks[0].calendar + "/" + selectedTasks[0].cname + "/raw"
openGenericWindow.delay(0.1, url);
}
@@ -3071,15 +3086,15 @@ function onMenuRawTask(event) {
function onMenuSharing(event) {
if ($(this).hasClassName("disabled"))
return;
-
+
var folders = $("calendarList");
var selected = folders.getSelectedNodes()[0];
/* FIXME: activation of the context menu should preferably select the entry
- above which the event has occurred */
+ above which the event has occurred */
if (selected) {
var folderID = selected.getAttribute("id");
var urlstr = URLForFolderID(folderID) + "/acls";
-
+
openAclWindow(urlstr);
}
}
@@ -3106,23 +3121,23 @@ function configureDraggables() {
var rows = jQuery("tr.eventRow");
try { rows.draggable("destroy"); } catch (e) {}
rows.draggable({
- helper: function (event) { return '