diff --git a/ChangeLog b/ChangeLog index 9a0d173fa..47e9ccc31 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2012-04-18 Wolfgang Sourdeau + * UI/WebServerResources/generic.js (clickEventWrapper): new + function that returns a wrapper function for click callbacks which + invokes "preventDefault" on the "event" parameter before it is + passed to the real callback. + * UI/Scheduler/UIxCalMainActions.m (-reloadWebCalendarsAndRedirectAction): removed obsolete method. diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js index 80cd69937..54784ac7e 100644 --- a/UI/WebServerResources/SchedulerUI.js +++ b/UI/WebServerResources/SchedulerUI.js @@ -2473,14 +2473,14 @@ function initCalendarSelector() { var items = list.childNodesWithTag("li"); for (var i = 0; i < items.length; i++) { var input = items[i].childNodesWithTag("input")[0]; - $(input).observe("click", updateCalendarStatus); + $(input).observe("click", clickEventWrapper(updateCalendarStatus)); } var links = $("calendarSelectorButtons").childNodesWithTag("a"); - $(links[0]).observe("click", onCalendarNew); - $(links[1]).observe("click", onCalendarWebAdd); - $(links[2]).observe("click", onCalendarAdd); - $(links[3]).observe("click", onCalendarRemove); + $(links[0]).observe("click", clickEventWrapper(onCalendarNew)); + $(links[1]).observe("click", clickEventWrapper(onCalendarWebAdd)); + $(links[2]).observe("click", clickEventWrapper(onCalendarAdd)); + $(links[3]).observe("click", clickEventWrapper(onCalendarRemove)); } function onCalendarSelectionChange(event) { @@ -2699,7 +2699,7 @@ function appendCalendar(folderName, folderPath) { li.getElementsByTagName("input")[0].checked = true; // Register event on checkbox - $(checkBox).on("click", updateCalendarStatus); + $(checkBox).on("click", clickEventWrapper(updateCalendarStatus)); var url = URLForFolderID(folderPath) + "/canAccessContent"; triggerAjaxRequest(url, calendarEntryCallback, folderPath); diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index 91817c758..10789a15a 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -47,6 +47,15 @@ var removeFolderRequestCount = 0; // Email validation regexp var emailRE = /^([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,6})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)$/i; +function clickEventWrapper(functionRef) { + function button_clickEventWrapper(event) { + preventDefault(event); + return functionRef(event); + } + + return button_clickEventWrapper; +} + function createElement(tagName, id, classes, attributes, htmlAttributes,