X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=UI%2FWebServerResources%2FSchedulerUI.js;h=88a6680f6c5b3254d655483e19c79f9ed2e09247;hb=8ad151a2418096d89e5dd3a2c9162638ea92fe45;hp=f2d800c3c1837ad06d602b4713a963b45ff5b2ed;hpb=676baa9a4356a8dd9d99d1c88fc7589d742149b9;p=scalable-opengroupware.org diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index f2d800c3..88a6680f 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -22,8 +22,13 @@ 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.getAttribute("hour"); - var urlstr = ApplicationBaseURL + "new" + type; + var urlstr = UserFolderURL + "../" + user + "/Calendar/new" + type; var params = new Array(); if (day) params.push("day=" + day); @@ -375,6 +380,7 @@ function changeDateSelectorDisplay(day, keepCurrentDay) if (!keepCurrentDay) currentDay = day; + log (backtrace()); var month = day.substr(0, 6); if (cachedDateSelectors[month]) { // log ("restoring cached selector for month: " + month); @@ -442,6 +448,11 @@ function onDayOverview() return _ensureView("dayview"); } +function onMulticolumnDayOverview() +{ + return _ensureView("multicolumndayview"); +} + function onWeekOverview() { return _ensureView("weekview"); @@ -773,7 +784,11 @@ function onCalendarSelectAppointment() { } function onCalendarSelectDay(event) { - var day = this.getAttribute("day"); + var day; + if (currentView == "multicolumndayview") + day = this.parentNode.getAttribute("day"); + else + day = this.getAttribute("day"); var needRefresh = (listFilter == 'view_selectedday' && day != currentDay); @@ -802,36 +817,32 @@ function changeWeekCalendarDisplayOfSelectedDay(node) { node.addClassName("selectedDay"); } -function findMonthCalendarSelectedCell(table) { - var tbody = table.tBodies[0]; - var rows = tbody.rows; +function findMonthCalendarSelectedCell(daysContainer) { + var found = false; + var i = 0; - var i = 1; - while (i < rows.length && !table.selectedCell) { - var cells = rows[i].cells; - var j = 0; - while (j < cells.length && !table.selectedCell) { - if (cells[j].hasClassName("selectedDay")) - table.selectedCell = cells[j]; + while (!found && i < daysContainer.childNodes.length) { + var currentNode = daysContainer.childNodes[i]; + if (currentNode instanceof HTMLDivElement + && currentNode.hasClassName("selectedDay")) { + daysContainer.selectedCell = currentNode; + found = true; + } else - j++; - } - i++; - } + i++; + } } function changeMonthCalendarDisplayOfSelectedDay(node) { - var tr = node.parentNode; - var table = tr.parentNode.parentNode; - - if (!table.selectedCell) - findMonthCalendarSelectedCell(table); - - if (table.selectedCell) - table.selectedCell.removeClassName("selectedDay"); - table.selectedCell = node; - node.addClassName("selectedDay"); + var daysContainer = node.parentNode; + if (!daysContainer.selectedCell) + findMonthCalendarSelectedCell(daysContainer); + + if (daysContainer.selectedCell) + daysContainer.selectedCell.removeClassName("selectedDay"); + daysContainer.selectedCell = node; + node.addClassName("selectedDay"); } function onHideCompletedTasks(node) @@ -1058,10 +1069,12 @@ function addContact(tag, fullContactName, contactId, contactName, contactEmail) function onChangeCalendar(list) { var form = document.forms.editform; + log ("before: " + form.getAttribute("action")); var urlElems = form.getAttribute("action").split("/"); urlElems[urlElems.length-4] = list.childNodesWithTag("option")[list.value].innerHTML; form.setAttribute("action", urlElems.join("/")); + log ("after: " + form.getAttribute("action")); } function validateBrowseURL(input) { @@ -1145,4 +1158,13 @@ function initCalendars() { initCalendarContactsSelector(); } +function onSchedulerBodyKeyUp(event) { + if (event.which == 46) { + window.alert("coucou"); + deleteEvent(); + event.cancelBubble = true; + } +} + window.addEventListener("load", initCalendars, false); +// document.body.addEventListener("keyup", onSchedulerBodyKeyUp, false);