MDL-71817 calendar: clicking on day link should redirect to day view
This patch prevents the full day view to be loaded in the calendar block as this won't be supported. When clicking in the day link it will redirect the user to day view in the full calendar.
This commit is contained in:
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
||||
define ("core_calendar/calendar",["jquery","core/ajax","core/str","core/templates","core/notification","core/custom_interaction_events","core/modal_events","core/modal_factory","core_calendar/modal_event_form","core_calendar/summary_modal","core_calendar/repository","core_calendar/events","core_calendar/view_manager","core_calendar/crud","core_calendar/selectors"],function(a,b,c,d,f,g,h,i,j,k,l,m,n,o,p){var q={ROOT:"[data-region='calendar']",DAY:"[data-region='day']",NEW_EVENT_BUTTON:"[data-action='new-event-button']",DAY_CONTENT:"[data-region='day-content']",LOADING_ICON:".loading-icon",VIEW_DAY_LINK:"[data-action='view-day-link']",CALENDAR_MONTH_WRAPPER:".calendarwrapper",TODAY:".today"},r=function(b,c,e,g){var h=null,i=g.attr("data-day-timestamp");if(e){h=e.attr("data-day-timestamp")}if(!e||h!=i){d.render("core/loading",{}).then(function(a,b){g.find(q.DAY_CONTENT).addClass("hidden");d.appendNodeContents(g,a,b);if(e){e.find(q.DAY_CONTENT).addClass("hidden");d.appendNodeContents(e,a,b)}}).then(function(){return l.updateEventStartDay(c,i)}).then(function(){a("body").trigger(m.eventMoved,[c,e,g])}).always(function(){var a=g.find(q.LOADING_ICON);g.find(q.DAY_CONTENT).removeClass("hidden");d.replaceNode(a,"","");if(e){var b=e.find(q.LOADING_ICON);e.find(q.DAY_CONTENT).removeClass("hidden");d.replaceNode(b,"","")}}).fail(f.exception)}},s=function(b,c){var d=a("body");d.on(m.created,function(){n.reloadCurrentMonth(b)});d.on(m.deleted,function(){n.reloadCurrentMonth(b)});d.on(m.updated,function(){n.reloadCurrentMonth(b)});d.on(m.editActionEvent,function(a,b){window.location.assign(b)});d.on(m.moveEvent,r);d.on(m.eventMoved,function(){n.reloadCurrentMonth(b)});o.registerEditListeners(b,c)},t=function(b){b.on("click",q.VIEW_DAY_LINK,function(c){var d=a(c.target),e=d.data("year"),g=d.data("month"),h=d.data("day"),i=d.data("courseid"),j=d.data("categoryid");n.refreshDayContent(b,e,g,h,i,j,b,"core_calendar/calendar_day").then(function(){c.preventDefault();var a="?view=day&time="+d.data("timestamp");n.updateUrl(a)}).fail(f.exception)});b.on("change",p.elements.courseSelector,function(){var c=a(this),d=c.val();n.reloadCurrentMonth(b,d,null).then(function(){return b.find(p.elements.courseSelector).val(d)}).fail(f.exception)});var c=o.registerEventFormModal(b),d=a(q.CALENDAR_MONTH_WRAPPER).data("context-id");s(b,c);if(d){b.on("click",q.DAY,function(b){var d=a(b.target);if(!d.is(q.VIEW_DAY_LINK)){var e=a(this).attr("data-new-event-timestamp");c.then(function(a){var b=d.closest(p.wrapper);a.setCourseId(b.data("courseid"));var c=b.data("categoryid");if("undefined"!=typeof c){a.setCategoryId(c)}a.setContextId(b.data("contextId"));a.setStartTime(e);a.show()}).fail(f.exception);b.preventDefault()}})}};return{init:function init(b){b=a(b);n.init(b);t(b)}}});
|
||||
define ("core_calendar/calendar",["jquery","core/ajax","core/str","core/templates","core/notification","core/custom_interaction_events","core/modal_events","core/modal_factory","core_calendar/modal_event_form","core_calendar/summary_modal","core_calendar/repository","core_calendar/events","core_calendar/view_manager","core_calendar/crud","core_calendar/selectors","core/config"],function(a,b,c,d,f,g,h,i,j,k,l,m,n,o,p,q){var r={ROOT:"[data-region='calendar']",DAY:"[data-region='day']",NEW_EVENT_BUTTON:"[data-action='new-event-button']",DAY_CONTENT:"[data-region='day-content']",LOADING_ICON:".loading-icon",VIEW_DAY_LINK:"[data-action='view-day-link']",CALENDAR_MONTH_WRAPPER:".calendarwrapper",TODAY:".today"},s=function(b,c,e,g){var h=null,i=g.attr("data-day-timestamp");if(e){h=e.attr("data-day-timestamp")}if(!e||h!=i){d.render("core/loading",{}).then(function(a,b){g.find(r.DAY_CONTENT).addClass("hidden");d.appendNodeContents(g,a,b);if(e){e.find(r.DAY_CONTENT).addClass("hidden");d.appendNodeContents(e,a,b)}}).then(function(){return l.updateEventStartDay(c,i)}).then(function(){a("body").trigger(m.eventMoved,[c,e,g])}).always(function(){var a=g.find(r.LOADING_ICON);g.find(r.DAY_CONTENT).removeClass("hidden");d.replaceNode(a,"","");if(e){var b=e.find(r.LOADING_ICON);e.find(r.DAY_CONTENT).removeClass("hidden");d.replaceNode(b,"","")}}).fail(f.exception)}},t=function(b,c){var d=a("body");d.on(m.created,function(){n.reloadCurrentMonth(b)});d.on(m.deleted,function(){n.reloadCurrentMonth(b)});d.on(m.updated,function(){n.reloadCurrentMonth(b)});d.on(m.editActionEvent,function(a,b){window.location.assign(b)});d.on(m.moveEvent,s);d.on(m.eventMoved,function(){n.reloadCurrentMonth(b)});o.registerEditListeners(b,c)},u=function(b){b.on("click",r.VIEW_DAY_LINK,function(c){var d=document.getElementById(p.fullCalendarView),e=a(c.target),g=e.data("year"),h=e.data("month"),i=e.data("day"),j=e.data("courseid"),k=e.data("categoryid"),l="?view=day&time="+e.data("timestamp");if(d){n.refreshDayContent(b,g,h,i,j,k,b,"core_calendar/calendar_day").then(function(){c.preventDefault();return n.updateUrl(l)}).fail(f.exception)}else{window.location.assign(q.wwwroot+"/calendar/view.php"+l)}});b.on("change",p.elements.courseSelector,function(){var c=a(this),d=c.val();n.reloadCurrentMonth(b,d,null).then(function(){return b.find(p.elements.courseSelector).val(d)}).fail(f.exception)});var c=o.registerEventFormModal(b),d=a(r.CALENDAR_MONTH_WRAPPER).data("context-id");t(b,c);if(d){b.on("click",r.DAY,function(b){var d=a(b.target);if(!d.is(r.VIEW_DAY_LINK)){var e=a(this).attr("data-new-event-timestamp");c.then(function(a){var b=d.closest(p.wrapper);a.setCourseId(b.data("courseid"));var c=b.data("categoryid");if("undefined"!=typeof c){a.setCategoryId(c)}a.setContextId(b.data("contextId"));a.setStartTime(e);a.show()}).fail(f.exception);b.preventDefault()}})}};return{init:function init(b){b=a(b);n.init(b);u(b)}}});
|
||||
//# sourceMappingURL=calendar.min.js.map
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -40,6 +40,7 @@ define([
|
||||
'core_calendar/view_manager',
|
||||
'core_calendar/crud',
|
||||
'core_calendar/selectors',
|
||||
'core/config',
|
||||
],
|
||||
function(
|
||||
$,
|
||||
@@ -56,7 +57,8 @@ define([
|
||||
CalendarEvents,
|
||||
CalendarViewManager,
|
||||
CalendarCrud,
|
||||
CalendarSelectors
|
||||
CalendarSelectors,
|
||||
Config,
|
||||
) {
|
||||
|
||||
var SELECTORS = {
|
||||
@@ -173,18 +175,23 @@ define([
|
||||
var registerEventListeners = function(root) {
|
||||
// Listen the click on the day link to render the day view.
|
||||
root.on('click', SELECTORS.VIEW_DAY_LINK, function(e) {
|
||||
const viewingFullCalendar = document.getElementById(CalendarSelectors.fullCalendarView);
|
||||
var dayLink = $(e.target);
|
||||
var year = dayLink.data('year'),
|
||||
month = dayLink.data('month'),
|
||||
day = dayLink.data('day'),
|
||||
courseId = dayLink.data('courseid'),
|
||||
categoryId = dayLink.data('categoryid');
|
||||
CalendarViewManager.refreshDayContent(root, year, month, day, courseId, categoryId, root,
|
||||
const url = '?view=day&time=' + dayLink.data('timestamp');
|
||||
if (viewingFullCalendar) {
|
||||
CalendarViewManager.refreshDayContent(root, year, month, day, courseId, categoryId, root,
|
||||
'core_calendar/calendar_day').then(function() {
|
||||
e.preventDefault();
|
||||
var url = '?view=day&time=' + dayLink.data('timestamp');
|
||||
CalendarViewManager.updateUrl(url);
|
||||
}).fail(Notification.exception);
|
||||
e.preventDefault();
|
||||
return CalendarViewManager.updateUrl(url);
|
||||
}).fail(Notification.exception);
|
||||
} else {
|
||||
window.location.assign(Config.wwwroot + '/calendar/view.php' + url);
|
||||
}
|
||||
});
|
||||
|
||||
root.on('change', CalendarSelectors.elements.courseSelector, function() {
|
||||
|
||||
Reference in New Issue
Block a user