Monotone-Parent: 9ee35442ae529d1c136cdfc26e4e560b8b4e3a98
Monotone-Revision: 4b2181d43537a29e80a258caea24faf48661e9f8 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-07-05T19:13:59 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
9260cc90a5
commit
9205e3c0f6
1
NEWS
1
NEWS
|
@ -4,3 +4,4 @@
|
||||||
- added the ability to view the message source;
|
- added the ability to view the message source;
|
||||||
- no longer autocreate folders if we are not their owners;
|
- no longer autocreate folders if we are not their owners;
|
||||||
- made compatible with PostgreSQL 8.2;
|
- made compatible with PostgreSQL 8.2;
|
||||||
|
- the months and years menus of the date selector would no longer appear;
|
||||||
|
|
|
@ -6,27 +6,14 @@
|
||||||
xmlns:label="OGo:label"
|
xmlns:label="OGo:label"
|
||||||
id="dateSelector">
|
id="dateSelector">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<a href="#"
|
<a href="#" id="rightArrow" var:date="nextMonthAsString"
|
||||||
id="rightArrow"
|
|
||||||
var:date="nextMonthAsString"
|
|
||||||
onclick="return onDateSelectorGotoMonth(this);"
|
|
||||||
><img id="next" rsrc:src="arrow-rit-sharp.gif"
|
><img id="next" rsrc:src="arrow-rit-sharp.gif"
|
||||||
/></a>
|
/></a>
|
||||||
<a href="#"
|
<a href="#" id="leftArrow" var:date="prevMonthAsString"
|
||||||
id="leftArrow"
|
|
||||||
var:date="prevMonthAsString"
|
|
||||||
onclick="return onDateSelectorGotoMonth(this);"
|
|
||||||
><img id="previous" rsrc:src="arrow-lft-sharp.gif" />
|
><img id="previous" rsrc:src="arrow-lft-sharp.gif" />
|
||||||
</a><span id="monthLabel"
|
</a><span id="monthLabel" var:month="headerMonthValue"
|
||||||
onmousedown="return false;"
|
><var:string value="headerMonthString" /></span
|
||||||
var:month="headerMonthValue"
|
><span id="yearLabel"><var:string value="headerYearString" /></span>
|
||||||
onclick="popupMonthMenu(event, 'monthListMenu');"
|
|
||||||
><var:string value="headerMonthString"
|
|
||||||
/></span><span id="yearLabel"
|
|
||||||
onmousedown="return false;"
|
|
||||||
onclick="popupMonthMenu(event, 'yearListMenu');"
|
|
||||||
><var:string value="headerYearString"
|
|
||||||
/></span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<var:month-overview
|
<var:month-overview
|
||||||
|
|
|
@ -123,7 +123,7 @@ Element.addMethods({
|
||||||
var popup = element.sogoContextMenu;
|
var popup = element.sogoContextMenu;
|
||||||
|
|
||||||
if (document.currentPopupMenu)
|
if (document.currentPopupMenu)
|
||||||
hideMenu(event, document.currentPopupMenu);
|
hideMenu(document.currentPopupMenu);
|
||||||
|
|
||||||
var menuTop = event.pageY;
|
var menuTop = event.pageY;
|
||||||
var menuLeft = event.pageX;
|
var menuLeft = event.pageX;
|
||||||
|
|
|
@ -285,10 +285,11 @@ function setDateSelectorContent(content) {
|
||||||
function dateSelectorCallback(http) {
|
function dateSelectorCallback(http) {
|
||||||
if (http.readyState == 4
|
if (http.readyState == 4
|
||||||
&& http.status == 200) {
|
&& http.status == 200) {
|
||||||
document.dateSelectorAjaxRequest = null;
|
document.dateSelectorAjaxRequest = null;
|
||||||
var content = http.responseText;
|
var content = http.responseText;
|
||||||
setDateSelectorContent(content);
|
setDateSelectorContent(content);
|
||||||
cachedDateSelectors[http.callbackData] = content;
|
cachedDateSelectors[http.callbackData] = content;
|
||||||
|
initDateSelectorEvents();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
log ("dateSelectorCallback Ajax error");
|
log ("dateSelectorCallback Ajax error");
|
||||||
|
@ -955,15 +956,15 @@ function onEventClick(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectMonthInMenu(menu, month) {
|
function selectMonthInMenu(menu, month) {
|
||||||
var entries = menu.childNodes[1].childNodesWithTag("LI");
|
var entries = menu.childNodes[1].childNodesWithTag("LI");
|
||||||
for (i = 0; i < entries.length; i++) {
|
for (i = 0; i < entries.length; i++) {
|
||||||
var entry = entries[i];
|
var entry = entries[i];
|
||||||
var entryMonth = entry.getAttribute("month");
|
var entryMonth = entry.getAttribute("month");
|
||||||
if (entryMonth == month)
|
if (entryMonth == month)
|
||||||
entry.addClassName("currentMonth");
|
entry.addClassName("currentMonth");
|
||||||
else
|
else
|
||||||
entry.removeClassName("currentMonth");
|
entry.removeClassName("currentMonth");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectYearInMenu(menu, month) {
|
function selectYearInMenu(menu, month) {
|
||||||
|
@ -980,32 +981,22 @@ function selectYearInMenu(menu, month) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function popupMonthMenu(event, menuId) {
|
function popupMonthMenu(event) {
|
||||||
var node = event.target;
|
|
||||||
|
|
||||||
if (event.button == 0) {
|
if (event.button == 0) {
|
||||||
event.cancelBubble = true;
|
var id = this.getAttribute("id");
|
||||||
event.returnValue = false;
|
if (id == "monthLabel")
|
||||||
|
menuId = "monthListMenu";
|
||||||
if (document.currentPopupMenu)
|
else
|
||||||
hideMenu(event, document.currentPopupMenu);
|
menuId = "yearListMenu";
|
||||||
|
|
||||||
var popup = $(menuId);
|
var popup = $(menuId);
|
||||||
var id = node.getAttribute("id");
|
|
||||||
if (id == "monthLabel")
|
if (id == "monthLabel")
|
||||||
selectMonthInMenu(popup, node.getAttribute("month"));
|
selectMonthInMenu(popup, this.getAttribute("month"));
|
||||||
else
|
else
|
||||||
selectYearInMenu(popup, node.innerHTML);
|
selectYearInMenu(popup, this.innerHTML);
|
||||||
|
|
||||||
var diff = (popup.offsetWidth - node.offsetWidth) /2;
|
popupToolbarMenu(this, menuId);
|
||||||
|
Event.stop(event);
|
||||||
popup.style.top = (node.offsetTop + 95) + "px";
|
|
||||||
popup.style.left = (node.offsetLeft - diff) + "px";
|
|
||||||
popup.style.visibility = "visible";
|
|
||||||
|
|
||||||
bodyOnClick = "" + document.body.getAttribute("onclick");
|
|
||||||
document.body.setAttribute("onclick", "onBodyClick('" + menuId + "');");
|
|
||||||
document.currentPopupMenu = popup;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1290,10 +1281,10 @@ function getMenus() {
|
||||||
menus["yearListMenu"] = dateMenu;
|
menus["yearListMenu"] = dateMenu;
|
||||||
|
|
||||||
menus["eventsListMenu"] = new Array(onMenuNewEventClick, "-",
|
menus["eventsListMenu"] = new Array(onMenuNewEventClick, "-",
|
||||||
onMenuNewTaskClick,
|
onMenuNewTaskClick,
|
||||||
editEvent, deleteEvent, "-",
|
editEvent, deleteEvent, "-",
|
||||||
onSelectAll, "-",
|
onSelectAll, "-",
|
||||||
null, null);
|
null, null);
|
||||||
menus["calendarsMenu"] = new Array(null, null, "-", null, null, "-",
|
menus["calendarsMenu"] = new Array(null, null, "-", null, null, "-",
|
||||||
null, "-", onMenuSharing);
|
null, "-", onMenuSharing);
|
||||||
menus["searchMenu"] = new Array(setSearchCriteria);
|
menus["searchMenu"] = new Array(setSearchCriteria);
|
||||||
|
@ -1457,8 +1448,25 @@ function configureLists() {
|
||||||
onEventContextMenu.bindAsEventListener(div));
|
onEventContextMenu.bindAsEventListener(div));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function initDateSelectorEvents() {
|
||||||
|
var arrow = $("rightArrow");
|
||||||
|
Event.observe(arrow, "click",
|
||||||
|
onDateSelectorGotoMonth.bindAsEventListener(arrow));
|
||||||
|
arrow = $("leftArrow");
|
||||||
|
Event.observe(arrow, "click",
|
||||||
|
onDateSelectorGotoMonth.bindAsEventListener(arrow));
|
||||||
|
|
||||||
|
var menuButton = $("monthLabel");
|
||||||
|
Event.observe(menuButton, "click",
|
||||||
|
popupMonthMenu.bindAsEventListener(menuButton));
|
||||||
|
menuButton = $("yearLabel");
|
||||||
|
Event.observe(menuButton, "click",
|
||||||
|
popupMonthMenu.bindAsEventListener(menuButton));
|
||||||
|
}
|
||||||
|
|
||||||
function initCalendars() {
|
function initCalendars() {
|
||||||
if (!document.body.hasClassName("popup")) {
|
if (!document.body.hasClassName("popup")) {
|
||||||
|
initDateSelectorEvents();
|
||||||
initCalendarSelector();
|
initCalendarSelector();
|
||||||
configureSearchField();
|
configureSearchField();
|
||||||
configureLists();
|
configureLists();
|
||||||
|
|
|
@ -8,9 +8,16 @@ function onPopupAttendeesWindow(event) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function onSelectPrivacy(event) {
|
function onSelectPrivacy(event) {
|
||||||
popupToolbarMenu(event, "privacy-menu");
|
if (event.button == 0) {
|
||||||
|
var node = event.target;
|
||||||
|
if (node.tagName != 'A')
|
||||||
|
node = node.getParentWithTagName("a");
|
||||||
|
node = node.childNodesWithTag("span")[0];
|
||||||
|
|
||||||
return false;
|
popupToolbarMenu(node, "privacy-menu");
|
||||||
|
Event.stop(event);
|
||||||
|
// preventDefault(event);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function onPopupUrlWindow(event) {
|
function onPopupUrlWindow(event) {
|
||||||
|
@ -146,7 +153,9 @@ function onComponentEditorLoad(event) {
|
||||||
initializeDocumentHref();
|
initializeDocumentHref();
|
||||||
initializePrivacyMenu();
|
initializePrivacyMenu();
|
||||||
var list = $("calendarList");
|
var list = $("calendarList");
|
||||||
Event.observe(list, "change", onChangeCalendar.bindAsEventListener(list), false);
|
Event.observe(list, "change",
|
||||||
|
onChangeCalendar.bindAsEventListener(list),
|
||||||
|
false);
|
||||||
if (document.createEvent) {
|
if (document.createEvent) {
|
||||||
var onSelectionChangeEvent = document.createEvent("Event");
|
var onSelectionChangeEvent = document.createEvent("Event");
|
||||||
onSelectionChangeEvent.initEvent("change", false, false);
|
onSelectionChangeEvent.initEvent("change", false, false);
|
||||||
|
@ -158,7 +167,9 @@ function onComponentEditorLoad(event) {
|
||||||
|
|
||||||
var menuItems = $("itemPrivacyList").childNodesWithTag("li");
|
var menuItems = $("itemPrivacyList").childNodesWithTag("li");
|
||||||
for (var i = 0; i < menuItems.length; i++)
|
for (var i = 0; i < menuItems.length; i++)
|
||||||
Event.observe(menuItems[i], "mouseup", onMenuSetClassification.bindAsEventListener(menuItems[i]), false);
|
Event.observe(menuItems[i], "mouseup",
|
||||||
|
onMenuSetClassification.bindAsEventListener(menuItems[i]),
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
|
|
||||||
addEvent(window, 'load', onComponentEditorLoad);
|
addEvent(window, 'load', onComponentEditorLoad);
|
||||||
|
|
|
@ -521,7 +521,7 @@ function popupMenu(event, menuId, target) {
|
||||||
document.menuTarget = target;
|
document.menuTarget = target;
|
||||||
|
|
||||||
if (document.currentPopupMenu)
|
if (document.currentPopupMenu)
|
||||||
hideMenu(event, document.currentPopupMenu);
|
hideMenu(document.currentPopupMenu);
|
||||||
|
|
||||||
var popup = $(menuId);
|
var popup = $(menuId);
|
||||||
var menuTop = event.pageY;
|
var menuTop = event.pageY;
|
||||||
|
@ -565,18 +565,17 @@ function getParentMenu(node) {
|
||||||
|
|
||||||
function onBodyClickMenuHandler(event) {
|
function onBodyClickMenuHandler(event) {
|
||||||
document.body.menuTarget = null;
|
document.body.menuTarget = null;
|
||||||
hideMenu(event, document.currentPopupMenu);
|
hideMenu(document.currentPopupMenu);
|
||||||
Event.stopObserving(document.body, "click", onBodyClickMenuHandler);
|
Event.stopObserving(document.body, "click", onBodyClickMenuHandler);
|
||||||
|
|
||||||
preventDefault(event);
|
preventDefault(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideMenu(event, menuNode) {
|
function hideMenu(menuNode) {
|
||||||
var onHide;
|
var onHide;
|
||||||
|
|
||||||
// log('hiding menu "' + menuNode.getAttribute('id') + '"');
|
|
||||||
if (menuNode.submenu) {
|
if (menuNode.submenu) {
|
||||||
hideMenu(event, menuNode.submenu);
|
hideMenu(menuNode.submenu);
|
||||||
menuNode.submenu = null;
|
menuNode.submenu = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -709,7 +708,7 @@ function dropDownSubmenu(event) {
|
||||||
var submenuNode = $(this.submenu);
|
var submenuNode = $(this.submenu);
|
||||||
var parentNode = getParentMenu(node);
|
var parentNode = getParentMenu(node);
|
||||||
if (parentNode.submenu)
|
if (parentNode.submenu)
|
||||||
hideMenu(event, parentNode.submenu);
|
hideMenu(parentNode.submenu);
|
||||||
submenuNode.parentMenuItem = node;
|
submenuNode.parentMenuItem = node;
|
||||||
submenuNode.parentMenu = parentNode;
|
submenuNode.parentMenu = parentNode;
|
||||||
parentNode.submenuItem = node;
|
parentNode.submenuItem = node;
|
||||||
|
@ -749,7 +748,7 @@ function checkDropDown(event) {
|
||||||
&& menuX < itemX + submenuItem.offsetWidth
|
&& menuX < itemX + submenuItem.offsetWidth
|
||||||
&& (menuY < itemY
|
&& (menuY < itemY
|
||||||
|| menuY > (itemY + submenuItem.offsetHeight))) {
|
|| menuY > (itemY + submenuItem.offsetHeight))) {
|
||||||
hideMenu(event, parentMenu.submenu);
|
hideMenu(parentMenu.submenu);
|
||||||
parentMenu.submenu = null;
|
parentMenu.submenu = null;
|
||||||
parentMenu.submenuItem = null;
|
parentMenu.submenuItem = null;
|
||||||
parentMenu.setAttribute('onmousemove', null);
|
parentMenu.setAttribute('onmousemove', null);
|
||||||
|
@ -769,7 +768,7 @@ function popupSearchMenu(event) {
|
||||||
event.returnValue = false;
|
event.returnValue = false;
|
||||||
|
|
||||||
if (document.currentPopupMenu)
|
if (document.currentPopupMenu)
|
||||||
hideMenu(event, document.currentPopupMenu);
|
hideMenu(document.currentPopupMenu);
|
||||||
|
|
||||||
var popup = $(menuId);
|
var popup = $(menuId);
|
||||||
popup.setStyle({ top: this.offsetHeight + "px",
|
popup.setStyle({ top: this.offsetHeight + "px",
|
||||||
|
@ -891,29 +890,18 @@ function initCriteria() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* toolbar buttons */
|
/* toolbar buttons */
|
||||||
function popupToolbarMenu(event, menuId) {
|
function popupToolbarMenu(node, menuId) {
|
||||||
var toolbar = $("toolbar");
|
if (document.currentPopupMenu)
|
||||||
var node = getTarget(event);
|
hideMenu(document.currentPopupMenu);
|
||||||
if (node.tagName != 'A')
|
|
||||||
node = node.getParentWithTagName("a");
|
|
||||||
node = node.childNodesWithTag("span")[0];
|
|
||||||
|
|
||||||
if (event.button == 0) {
|
var popup = $(menuId);
|
||||||
event.cancelBubble = true;
|
var top = node.top + node.offsetHeight - 2;
|
||||||
event.returnValue = false;
|
popup.setStyle({ top: top + "px",
|
||||||
|
left: node.cascadeLeftOffset() + "px",
|
||||||
if (document.currentPopupMenu)
|
visibility: "visible" });
|
||||||
hideMenu(event, document.currentPopupMenu);
|
|
||||||
|
|
||||||
var popup = document.getElementById(menuId);
|
|
||||||
var top = node.offsetTop + node.offsetHeight - 2;
|
|
||||||
popup.setStyle({ top: top + "px",
|
|
||||||
left: node.cascadeLeftOffset() + "px",
|
|
||||||
visibility: "visible" });
|
|
||||||
|
|
||||||
document.currentPopupMenu = popup;
|
document.currentPopupMenu = popup;
|
||||||
Event.observe(document.body, "click", onBodyClickMenuHandler);
|
Event.observe(document.body, "click", onBodyClickMenuHandler);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* contact selector */
|
/* contact selector */
|
||||||
|
|
Loading…
Reference in New Issue