Merge branch 'feat/searchCapabilities'

This commit is contained in:
Francis Lachapelle
2014-05-16 16:28:43 -04:00
10 changed files with 748 additions and 589 deletions
+44 -21
View File
@@ -1,4 +1,5 @@
var listFilter = 'view_today';
var eventListFilter = 'view_today';
var taskListFilter = 'view_today';
var listOfSelection = null;
var selectedCalendarCell = null;
@@ -899,7 +900,7 @@ function performDeleteEventCallback(http) {
/* in dateselector */
function onDaySelect(node) {
var day = node.getAttribute('day');
var needRefresh = (listFilter == 'view_selectedday'
var needRefresh = (eventListFilter == 'view_selectedday'
&& day != currentDay);
var td = $(node).getParentWithTagName("td");
@@ -932,7 +933,7 @@ function onDateSelectorGotoMonth(event) {
function onCalendarGotoDay(node) {
var day = node.getAttribute("date");
var needRefresh = (listFilter == 'view_selectedday' && day != currentDay);
var needRefresh = (eventListFilter == 'view_selectedday' && day != currentDay);
changeDateSelectorDisplay(day);
changeCalendarDisplay( { "day": day } );
@@ -1042,6 +1043,12 @@ function eventsListCallback(http) {
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 = createElement("td");
row.appendChild(td);
td.observe("mousedown", listRowMouseDownHandler, true);
@@ -2242,41 +2249,44 @@ function refreshCurrentFolder(id) {
/* refreshes the "unifinder" list */
function refreshEvents() {
var titleSearch;
var specificSearch;
var value = search["events"]["value"];
if (value && value.length)
titleSearch = "&search=" + escape(value.utf8encode());
specificSearch = ("&search=" + search["events"]["criteria"]
+ "&value=" + escape(value.utf8encode()));
else
titleSearch = "";
specificSearch = "";
refreshAlarms();
return _loadEventHref("eventslist?asc=" + sorting["event-ascending"]
+ "&sort=" + sorting["event-attribute"]
+ "&day=" + currentDay
+ titleSearch
+ "&filterpopup=" + listFilter);
+ specificSearch
+ "&filterpopup=" + eventListFilter);
}
function refreshTasks(setUserDefault) {
var titleSearch;
var specificSearch;
var value = search["tasks"]["value"];
if (value && value.length)
titleSearch = "&search=" + escape(value.utf8encode());
specificSearch = ("&search=" + search["tasks"]["criteria"]
+ "&value=" + escape(value.utf8encode()));
else
titleSearch = "";
specificSearch = "";
if (setUserDefault == 1)
titleSearch += "&setud=1";
specificSearch += "&setud=1";
refreshAlarms();
return _loadTasksHref("taskslist?show-completed=" + showCompletedTasks
+ "&asc=" + sorting["task-ascending"]
+ "&sort=" + sorting["task-attribute"]
+ titleSearch);
+ specificSearch
+ "&filterpopup=" + taskListFilter);
}
function refreshEventsAndDisplay() {
@@ -2284,15 +2294,26 @@ function refreshEventsAndDisplay() {
changeCalendarDisplay();
}
function onListFilterChange() {
function onEventsListFilterChange() {
var node = $("filterpopup");
listFilter = node.value;
// log ("listFilter = " + listFilter);
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();
}
function selectMonthInMenu(menu, month) {
var entries = $(menu).select("LI");
for (i = 0; i < entries.length; i++) {
@@ -2487,7 +2508,7 @@ function onCalendarSelectEvent(event, willShowContextualMenu) {
function onCalendarSelectDay(event) {
var day = this.getAttribute("day");
var needRefresh = (listFilter == 'view_selectedday' && day != currentDay);
var needRefresh = (eventListFilter == 'view_selectedday' && day != currentDay);
setSelectedDayDate(day);
changeDateSelectorDisplay(day);
@@ -2771,12 +2792,12 @@ function getMenus() {
onCalendarNew, onCalendarRemove,
"-", onCalendarExport, onCalendarImport,
null, "-", null, "-", onMenuSharing);
menus["eventSearchMenu"] = new Array(setSearchCriteria);
menus["eventSearchMenu"] = new Array(setSearchCriteria, setSearchCriteria, setSearchCriteria);
menus["tasksListMenu"] = new Array (editEvent, newTask, "-",
marksTasksAsCompleted, deleteEvent, "-",
onMenuRawTask);
menus["taskSearchMenu"] = new Array(setSearchCriteria);
menus["taskSearchMenu"] = new Array(setSearchCriteria, setSearchCriteria, setSearchCriteria);
var calendarsMenu = $("calendarsMenu");
if (calendarsMenu)
@@ -3283,6 +3304,7 @@ function configureLists() {
var input = $("showHideCompletedTasks");
input.observe("click", onShowCompletedTasks);
if (showCompletedTasks)
input.checked = true;
@@ -3413,7 +3435,7 @@ function onDocumentKeydown(event) {
&& keyCode == "A".charCodeAt(0)) { // Ctrl-A
onSelectAll(event);
Event.stop(event);
}
}
else if (((isMac() && event.metaKey == 1) || (!isMac() && event.ctrlKey == 1))
&& keyCode == "C".charCodeAt(0)) { // Ctrl-C
copyEventToClipboard();
@@ -3444,7 +3466,7 @@ function initScheduler() {
if (!$(document.body).hasClassName("popup")) {
var node = $("filterpopup");
listFilter = node.value;
eventListFilter = node.value;
var tabsContainer = $("schedulerTabs");
var controller = new SOGoTabsController();
@@ -3457,6 +3479,7 @@ function initScheduler() {
else {
showCompletedTasks = 0;
}
initDateSelectorEvents();
initCalendarSelector();
configureSearchField();