mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
Merge branch 'MDL-72237-master' of https://github.com/dcai/moodle
This commit is contained in:
commit
7548cbfcf6
2
calendar/amd/build/calendar_view.min.js
vendored
2
calendar/amd/build/calendar_view.min.js
vendored
@ -1,2 +1,2 @@
|
||||
define ("core_calendar/calendar_view",["jquery","core/str","core/notification","core_calendar/selectors","core_calendar/events","core_calendar/view_manager","core_calendar/repository","core/modal_factory","core_calendar/modal_event_form","core/modal_events","core_calendar/crud"],function(a,b,c,d,e,f,g,h,i,j,k){var l=function(b,g){var h=a("body");k.registerRemove(b);var i="reloadCurrent"+g.charAt(0).toUpperCase()+g.slice(1);h.on(e.created,function(){f[i](b)});h.on(e.deleted,function(){f[i](b)});h.on(e.updated,function(){f[i](b)});b.on("change",d.courseSelector,function(){var e=a(this),g=e.val();f[i](b,g,null).then(function(){return b.find(d.courseSelector).val(g)}).then(function(){f.updateUrl("?view=upcoming&course="+g)}).fail(c.exception)});h.on(e.filterChanged,function(a,c){var e=b.find(d.eventType[c.type]);if(!0==c.hidden){e.addClass("hidden")}else{e.removeClass("hidden")}});var j=k.registerEventFormModal(b);k.registerEditListeners(b,j)};return{init:function init(b,c){b=a(b);f.init(b,c);l(b,c)}}});
|
||||
define ("core_calendar/calendar_view",["jquery","core/str","core/notification","core_calendar/selectors","core_calendar/events","core_calendar/view_manager","core_calendar/repository","core/modal_factory","core_calendar/modal_event_form","core/modal_events","core_calendar/crud"],function(a,b,c,d,e,f,g,h,i,j,k){var l=function(b,g){var h=a("body");k.registerRemove(b);var i="reloadCurrent"+g.charAt(0).toUpperCase()+g.slice(1);h.on(e.created,function(){f[i](b)});h.on(e.deleted,function(){f[i](b)});h.on(e.updated,function(){f[i](b)});b.on("change",d.courseSelector,function(){var e=a(this),g=e.val();f[i](b,g,null).then(function(){return b.find(d.courseSelector).val(g)}).then(function(){f.updateUrl("?view=upcoming&course="+g)}).fail(c.exception)});h.on(e.filterChanged,function(a,c){var e=b.find(d.eventType[c.type]);if(!0==c.hidden){e.addClass("hidden")}else{e.removeClass("hidden")}f.foldDayEvents(b)});var j=k.registerEventFormModal(b);k.registerEditListeners(b,j)};return{init:function init(b,c){b=a(b);f.init(b,c);l(b,c)}}});
|
||||
//# sourceMappingURL=calendar_view.min.js.map
|
||||
|
File diff suppressed because one or more lines are too long
2
calendar/amd/build/events.min.js
vendored
2
calendar/amd/build/events.min.js
vendored
@ -1,2 +1,2 @@
|
||||
define ("core_calendar/events",[],function(){return{created:"calendar-events:created",deleted:"calendar-events:deleted",deleteAll:"calendar-events:delete_all",updated:"calendar-events:updated",editEvent:"calendar-events:edit_event",editActionEvent:"calendar-events:edit_action_event",eventMoved:"calendar-events:event_moved",dayChanged:"calendar-events:day_changed",monthChanged:"calendar-events:month_changed",moveEvent:"calendar-events:move_event",filterChanged:"calendar-events:filter_changed",viewUpdated:"calendar-events:view_updated"}});
|
||||
define ("core_calendar/events",[],function(){return{created:"calendar-events:created",deleted:"calendar-events:deleted",deleteAll:"calendar-events:delete_all",updated:"calendar-events:updated",editEvent:"calendar-events:edit_event",editActionEvent:"calendar-events:edit_action_event",eventMoved:"calendar-events:event_moved",dayChanged:"calendar-events:day_changed",monthChanged:"calendar-events:month_changed",moveEvent:"calendar-events:move_event",filterChanged:"calendar-events:filter_changed",courseChanged:"calendar-events:course_changed",viewUpdated:"calendar-events:view_updated"}});
|
||||
//# sourceMappingURL=events.min.js.map
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"sources":["../src/events.js"],"names":["define","created","deleted","deleteAll","updated","editEvent","editActionEvent","eventMoved","dayChanged","monthChanged","moveEvent","filterChanged","viewUpdated"],"mappings":"AAsBAA,OAAM,wBAAC,EAAD,CAAK,UAAW,CAClB,MAAO,CACHC,OAAO,CAAE,yBADN,CAEHC,OAAO,CAAE,yBAFN,CAGHC,SAAS,CAAE,4BAHR,CAIHC,OAAO,CAAE,yBAJN,CAKHC,SAAS,CAAE,4BALR,CAMHC,eAAe,CAAE,mCANd,CAOHC,UAAU,CAAE,6BAPT,CAQHC,UAAU,CAAE,6BART,CASHC,YAAY,CAAE,+BATX,CAUHC,SAAS,CAAE,4BAVR,CAWHC,aAAa,CAAE,gCAXZ,CAYHC,WAAW,CAAE,8BAZV,CAcV,CAfK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Contain the events the calendar component can fire.\n *\n * @module core_calendar/events\n * @copyright 2017 Simey Lameze <simey@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([], function() {\n return {\n created: 'calendar-events:created',\n deleted: 'calendar-events:deleted',\n deleteAll: 'calendar-events:delete_all',\n updated: 'calendar-events:updated',\n editEvent: 'calendar-events:edit_event',\n editActionEvent: 'calendar-events:edit_action_event',\n eventMoved: 'calendar-events:event_moved',\n dayChanged: 'calendar-events:day_changed',\n monthChanged: 'calendar-events:month_changed',\n moveEvent: 'calendar-events:move_event',\n filterChanged: 'calendar-events:filter_changed',\n viewUpdated: 'calendar-events:view_updated',\n };\n});\n"],"file":"events.min.js"}
|
||||
{"version":3,"sources":["../src/events.js"],"names":["define","created","deleted","deleteAll","updated","editEvent","editActionEvent","eventMoved","dayChanged","monthChanged","moveEvent","filterChanged","courseChanged","viewUpdated"],"mappings":"AAsBAA,OAAM,wBAAC,EAAD,CAAK,UAAW,CAClB,MAAO,CACHC,OAAO,CAAE,yBADN,CAEHC,OAAO,CAAE,yBAFN,CAGHC,SAAS,CAAE,4BAHR,CAIHC,OAAO,CAAE,yBAJN,CAKHC,SAAS,CAAE,4BALR,CAMHC,eAAe,CAAE,mCANd,CAOHC,UAAU,CAAE,6BAPT,CAQHC,UAAU,CAAE,6BART,CASHC,YAAY,CAAE,+BATX,CAUHC,SAAS,CAAE,4BAVR,CAWHC,aAAa,CAAE,gCAXZ,CAYHC,aAAa,CAAE,gCAZZ,CAaHC,WAAW,CAAE,8BAbV,CAeV,CAhBK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Contain the events the calendar component can fire.\n *\n * @module core_calendar/events\n * @copyright 2017 Simey Lameze <simey@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([], function() {\n return {\n created: 'calendar-events:created',\n deleted: 'calendar-events:deleted',\n deleteAll: 'calendar-events:delete_all',\n updated: 'calendar-events:updated',\n editEvent: 'calendar-events:edit_event',\n editActionEvent: 'calendar-events:edit_action_event',\n eventMoved: 'calendar-events:event_moved',\n dayChanged: 'calendar-events:day_changed',\n monthChanged: 'calendar-events:month_changed',\n moveEvent: 'calendar-events:move_event',\n filterChanged: 'calendar-events:filter_changed',\n courseChanged: 'calendar-events:course_changed',\n viewUpdated: 'calendar-events:view_updated',\n };\n});\n"],"file":"events.min.js"}
|
2
calendar/amd/build/selectors.min.js
vendored
2
calendar/amd/build/selectors.min.js
vendored
@ -1,2 +1,2 @@
|
||||
define ("core_calendar/selectors",[],function(){return{eventFilterItem:"[data-action='filter-event-type']",eventType:{site:"[data-eventtype-site]",category:"[data-eventtype-category]",course:"[data-eventtype-course]",group:"[data-eventtype-group]",user:"[data-eventtype-user]",other:"[data-eventtype-other]"},popoverType:{site:"[data-popover-eventtype-site]",category:"[data-popover-eventtype-category]",course:"[data-popover-eventtype-course]",group:"[data-popover-eventtype-group]",user:"[data-popover-eventtype-user]",other:"[data-popover-eventtype-other]"},calendarPeriods:{month:"[data-period='month']"},courseSelector:"select[name=\"course\"]",viewSelector:"div[data-region=\"view-selector\"]",actions:{create:"[data-action=\"new-event-button\"]",edit:"[data-action=\"edit\"]",remove:"[data-action=\"delete\"]",viewEvent:"[data-action=\"view-event\"]",deleteSubscription:"[data-action=\"delete-subscription\"]"},elements:{courseSelector:"select[name=\"course\"]",dateContainer:".clickable.hasevent",dateContent:"[data-region=\"day-content\"]"},today:".today",day:"[data-region=\"day\"]",calendarMain:"[data-region=\"calendar\"]",wrapper:".calendarwrapper",eventItem:"[data-type=\"event\"]",links:{navLink:".calendarwrapper .arrow_link",eventLink:"[data-region='event-item']",miniDayLink:"[data-region='mini-day-link']"},containers:{loadingIcon:"[data-region=\"overlay-icon-container\"]"},fullCalendarView:"page-calendar-view"}});
|
||||
define ("core_calendar/selectors",[],function(){return{eventFilterItem:"[data-action='filter-event-type']",eventType:{site:"[data-eventtype-site]",category:"[data-eventtype-category]",course:"[data-eventtype-course]",group:"[data-eventtype-group]",user:"[data-eventtype-user]",other:"[data-eventtype-other]"},popoverType:{site:"[data-popover-eventtype-site]",category:"[data-popover-eventtype-category]",course:"[data-popover-eventtype-course]",group:"[data-popover-eventtype-group]",user:"[data-popover-eventtype-user]",other:"[data-popover-eventtype-other]"},calendarPeriods:{month:"[data-period='month']"},courseSelector:"select[name=\"course\"]",viewSelector:"div[data-region=\"view-selector\"]",actions:{create:"[data-action=\"new-event-button\"]",edit:"[data-action=\"edit\"]",remove:"[data-action=\"delete\"]",viewEvent:"[data-action=\"view-event\"]",deleteSubscription:"[data-action=\"delete-subscription\"]"},elements:{courseSelector:"select[name=\"course\"]",dateContainer:".clickable.hasevent",dateContent:"[data-region=\"day-content\"]",monthDetailed:".calendarmonth.calendartable"},today:".today",day:"[data-region=\"day\"]",calendarMain:"[data-region=\"calendar\"]",wrapper:".calendarwrapper",eventItem:"[data-type=\"event\"]",links:{navLink:".calendarwrapper .arrow_link",eventLink:"[data-region='event-item']",miniDayLink:"[data-region='mini-day-link']"},containers:{loadingIcon:"[data-region=\"overlay-icon-container\"]"},mainCalendar:".maincalendar .heightcontainer",fullCalendarView:"page-calendar-view"}});
|
||||
//# sourceMappingURL=selectors.min.js.map
|
||||
|
@ -1 +1 @@
|
||||
{"version":3,"sources":["../src/selectors.js"],"names":["define","eventFilterItem","eventType","site","category","course","group","user","other","popoverType","calendarPeriods","month","courseSelector","viewSelector","actions","create","edit","remove","viewEvent","deleteSubscription","elements","dateContainer","dateContent","today","day","calendarMain","wrapper","eventItem","links","navLink","eventLink","miniDayLink","containers","loadingIcon","fullCalendarView"],"mappings":"AAsBAA,OAAM,2BAAC,EAAD,CAAK,UAAW,CAClB,MAAO,CACHC,eAAe,CAAE,mCADd,CAEHC,SAAS,CAAE,CACPC,IAAI,CAAE,uBADC,CAEPC,QAAQ,CAAE,2BAFH,CAGPC,MAAM,CAAE,yBAHD,CAIPC,KAAK,CAAE,wBAJA,CAKPC,IAAI,CAAE,uBALC,CAMPC,KAAK,CAAE,wBANA,CAFR,CAUHC,WAAW,CAAE,CACTN,IAAI,CAAE,+BADG,CAETC,QAAQ,CAAE,mCAFD,CAGTC,MAAM,CAAE,iCAHC,CAITC,KAAK,CAAE,gCAJE,CAKTC,IAAI,CAAE,+BALG,CAMTC,KAAK,CAAE,gCANE,CAVV,CAkBHE,eAAe,CAAE,CACbC,KAAK,CAAE,uBADM,CAlBd,CAqBHC,cAAc,CAAE,yBArBb,CAsBHC,YAAY,CAAE,oCAtBX,CAuBHC,OAAO,CAAE,CACLC,MAAM,CAAE,oCADH,CAELC,IAAI,CAAE,wBAFD,CAGLC,MAAM,CAAE,0BAHH,CAILC,SAAS,CAAE,8BAJN,CAKLC,kBAAkB,CAAE,uCALf,CAvBN,CA8BHC,QAAQ,CAAE,CACNR,cAAc,CAAE,yBADV,CAENS,aAAa,CAAE,qBAFT,CAGNC,WAAW,CAAE,+BAHP,CA9BP,CAmCHC,KAAK,CAAE,QAnCJ,CAoCHC,GAAG,CAAE,uBApCF,CAqCHC,YAAY,CAAE,4BArCX,CAsCHC,OAAO,CAAE,kBAtCN,CAuCHC,SAAS,CAAE,uBAvCR,CAwCHC,KAAK,CAAE,CACHC,OAAO,CAAE,8BADN,CAEHC,SAAS,CAAE,4BAFR,CAGHC,WAAW,CAAE,+BAHV,CAxCJ,CA6CHC,UAAU,CAAE,CACRC,WAAW,CAAE,0CADL,CA7CT,CAgDHC,gBAAgB,CAAE,oBAhDf,CAkDV,CAnDK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * This module is responsible for the calendar filter.\n *\n * @module core_calendar/calendar_selectors\n * @copyright 2017 Andrew Nicols <andrew@nicols.co.uk>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([], function() {\n return {\n eventFilterItem: \"[data-action='filter-event-type']\",\n eventType: {\n site: \"[data-eventtype-site]\",\n category: \"[data-eventtype-category]\",\n course: \"[data-eventtype-course]\",\n group: \"[data-eventtype-group]\",\n user: \"[data-eventtype-user]\",\n other: \"[data-eventtype-other]\",\n },\n popoverType: {\n site: \"[data-popover-eventtype-site]\",\n category: \"[data-popover-eventtype-category]\",\n course: \"[data-popover-eventtype-course]\",\n group: \"[data-popover-eventtype-group]\",\n user: \"[data-popover-eventtype-user]\",\n other: \"[data-popover-eventtype-other]\",\n },\n calendarPeriods: {\n month: \"[data-period='month']\",\n },\n courseSelector: 'select[name=\"course\"]',\n viewSelector: 'div[data-region=\"view-selector\"]',\n actions: {\n create: '[data-action=\"new-event-button\"]',\n edit: '[data-action=\"edit\"]',\n remove: '[data-action=\"delete\"]',\n viewEvent: '[data-action=\"view-event\"]',\n deleteSubscription: '[data-action=\"delete-subscription\"]',\n },\n elements: {\n courseSelector: 'select[name=\"course\"]',\n dateContainer: '.clickable.hasevent',\n dateContent: '[data-region=\"day-content\"]',\n },\n today: '.today',\n day: '[data-region=\"day\"]',\n calendarMain: '[data-region=\"calendar\"]',\n wrapper: '.calendarwrapper',\n eventItem: '[data-type=\"event\"]',\n links: {\n navLink: '.calendarwrapper .arrow_link',\n eventLink: \"[data-region='event-item']\",\n miniDayLink: \"[data-region='mini-day-link']\",\n },\n containers: {\n loadingIcon: '[data-region=\"overlay-icon-container\"]',\n },\n fullCalendarView: 'page-calendar-view',\n };\n});\n"],"file":"selectors.min.js"}
|
||||
{"version":3,"sources":["../src/selectors.js"],"names":["define","eventFilterItem","eventType","site","category","course","group","user","other","popoverType","calendarPeriods","month","courseSelector","viewSelector","actions","create","edit","remove","viewEvent","deleteSubscription","elements","dateContainer","dateContent","monthDetailed","today","day","calendarMain","wrapper","eventItem","links","navLink","eventLink","miniDayLink","containers","loadingIcon","mainCalendar","fullCalendarView"],"mappings":"AAsBAA,OAAM,2BAAC,EAAD,CAAK,UAAW,CAClB,MAAO,CACHC,eAAe,CAAE,mCADd,CAEHC,SAAS,CAAE,CACPC,IAAI,CAAE,uBADC,CAEPC,QAAQ,CAAE,2BAFH,CAGPC,MAAM,CAAE,yBAHD,CAIPC,KAAK,CAAE,wBAJA,CAKPC,IAAI,CAAE,uBALC,CAMPC,KAAK,CAAE,wBANA,CAFR,CAUHC,WAAW,CAAE,CACTN,IAAI,CAAE,+BADG,CAETC,QAAQ,CAAE,mCAFD,CAGTC,MAAM,CAAE,iCAHC,CAITC,KAAK,CAAE,gCAJE,CAKTC,IAAI,CAAE,+BALG,CAMTC,KAAK,CAAE,gCANE,CAVV,CAkBHE,eAAe,CAAE,CACbC,KAAK,CAAE,uBADM,CAlBd,CAqBHC,cAAc,CAAE,yBArBb,CAsBHC,YAAY,CAAE,oCAtBX,CAuBHC,OAAO,CAAE,CACLC,MAAM,CAAE,oCADH,CAELC,IAAI,CAAE,wBAFD,CAGLC,MAAM,CAAE,0BAHH,CAILC,SAAS,CAAE,8BAJN,CAKLC,kBAAkB,CAAE,uCALf,CAvBN,CA8BHC,QAAQ,CAAE,CACNR,cAAc,CAAE,yBADV,CAENS,aAAa,CAAE,qBAFT,CAGNC,WAAW,CAAE,+BAHP,CAINC,aAAa,CAAE,8BAJT,CA9BP,CAoCHC,KAAK,CAAE,QApCJ,CAqCHC,GAAG,CAAE,uBArCF,CAsCHC,YAAY,CAAE,4BAtCX,CAuCHC,OAAO,CAAE,kBAvCN,CAwCHC,SAAS,CAAE,uBAxCR,CAyCHC,KAAK,CAAE,CACHC,OAAO,CAAE,8BADN,CAEHC,SAAS,CAAE,4BAFR,CAGHC,WAAW,CAAE,+BAHV,CAzCJ,CA8CHC,UAAU,CAAE,CACRC,WAAW,CAAE,0CADL,CA9CT,CAiDHC,YAAY,CAAE,gCAjDX,CAkDHC,gBAAgB,CAAE,oBAlDf,CAoDV,CArDK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * This module is responsible for the calendar filter.\n *\n * @module core_calendar/calendar_selectors\n * @copyright 2017 Andrew Nicols <andrew@nicols.co.uk>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine([], function() {\n return {\n eventFilterItem: \"[data-action='filter-event-type']\",\n eventType: {\n site: \"[data-eventtype-site]\",\n category: \"[data-eventtype-category]\",\n course: \"[data-eventtype-course]\",\n group: \"[data-eventtype-group]\",\n user: \"[data-eventtype-user]\",\n other: \"[data-eventtype-other]\",\n },\n popoverType: {\n site: \"[data-popover-eventtype-site]\",\n category: \"[data-popover-eventtype-category]\",\n course: \"[data-popover-eventtype-course]\",\n group: \"[data-popover-eventtype-group]\",\n user: \"[data-popover-eventtype-user]\",\n other: \"[data-popover-eventtype-other]\",\n },\n calendarPeriods: {\n month: \"[data-period='month']\",\n },\n courseSelector: 'select[name=\"course\"]',\n viewSelector: 'div[data-region=\"view-selector\"]',\n actions: {\n create: '[data-action=\"new-event-button\"]',\n edit: '[data-action=\"edit\"]',\n remove: '[data-action=\"delete\"]',\n viewEvent: '[data-action=\"view-event\"]',\n deleteSubscription: '[data-action=\"delete-subscription\"]',\n },\n elements: {\n courseSelector: 'select[name=\"course\"]',\n dateContainer: '.clickable.hasevent',\n dateContent: '[data-region=\"day-content\"]',\n monthDetailed: '.calendarmonth.calendartable',\n },\n today: '.today',\n day: '[data-region=\"day\"]',\n calendarMain: '[data-region=\"calendar\"]',\n wrapper: '.calendarwrapper',\n eventItem: '[data-type=\"event\"]',\n links: {\n navLink: '.calendarwrapper .arrow_link',\n eventLink: \"[data-region='event-item']\",\n miniDayLink: \"[data-region='mini-day-link']\",\n },\n containers: {\n loadingIcon: '[data-region=\"overlay-icon-container\"]',\n },\n mainCalendar: '.maincalendar .heightcontainer',\n fullCalendarView: 'page-calendar-view',\n };\n});\n"],"file":"selectors.min.js"}
|
2
calendar/amd/build/view_manager.min.js
vendored
2
calendar/amd/build/view_manager.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -85,6 +85,7 @@ define([
|
||||
} else {
|
||||
daysWithEvent.removeClass('hidden');
|
||||
}
|
||||
CalendarViewManager.foldDayEvents(root);
|
||||
});
|
||||
|
||||
var eventFormPromise = CalendarCrud.registerEventFormModal(root);
|
||||
|
@ -33,6 +33,7 @@ define([], function() {
|
||||
monthChanged: 'calendar-events:month_changed',
|
||||
moveEvent: 'calendar-events:move_event',
|
||||
filterChanged: 'calendar-events:filter_changed',
|
||||
courseChanged: 'calendar-events:course_changed',
|
||||
viewUpdated: 'calendar-events:view_updated',
|
||||
};
|
||||
});
|
||||
|
@ -55,6 +55,7 @@ define([], function() {
|
||||
courseSelector: 'select[name="course"]',
|
||||
dateContainer: '.clickable.hasevent',
|
||||
dateContent: '[data-region="day-content"]',
|
||||
monthDetailed: '.calendarmonth.calendartable',
|
||||
},
|
||||
today: '.today',
|
||||
day: '[data-region="day"]',
|
||||
@ -69,6 +70,7 @@ define([], function() {
|
||||
containers: {
|
||||
loadingIcon: '[data-region="overlay-icon-container"]',
|
||||
},
|
||||
mainCalendar: '.maincalendar .heightcontainer',
|
||||
fullCalendarView: 'page-calendar-view',
|
||||
};
|
||||
});
|
||||
|
@ -31,7 +31,114 @@ import ModalFactory from 'core/modal_factory';
|
||||
import ModalEvents from 'core/modal_events';
|
||||
import SummaryModal from 'core_calendar/summary_modal';
|
||||
import CustomEvents from 'core/custom_interaction_events';
|
||||
import {get_string as getString} from 'core/str';
|
||||
import Pending from 'core/pending';
|
||||
import {prefetchStrings} from 'core/prefetch';
|
||||
|
||||
/**
|
||||
* Limit number of events per day
|
||||
*
|
||||
*/
|
||||
const LIMIT_DAY_EVENTS = 5;
|
||||
|
||||
/**
|
||||
* Hide day events if more than 5.
|
||||
*
|
||||
*/
|
||||
export const foldDayEvents = () => {
|
||||
const root = $(CalendarSelectors.elements.monthDetailed);
|
||||
const days = root.find(CalendarSelectors.day);
|
||||
if (days.length === 0) {
|
||||
return;
|
||||
}
|
||||
days.each(function() {
|
||||
const dayContainer = $(this);
|
||||
const eventsSelector = `${CalendarSelectors.elements.dateContent} ul li[data-event-eventtype]`;
|
||||
const filteredEventsSelector = `${CalendarSelectors.elements.dateContent} ul li[data-event-filtered="true"]`;
|
||||
const moreEventsSelector = `${CalendarSelectors.elements.dateContent} [data-action="view-more-events"]`;
|
||||
const events = dayContainer.find(eventsSelector);
|
||||
if (events.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
const filteredEvents = dayContainer.find(filteredEventsSelector);
|
||||
const numberOfFiltered = filteredEvents.length;
|
||||
const numberOfEvents = events.length - numberOfFiltered;
|
||||
|
||||
let count = 1;
|
||||
events.each(function() {
|
||||
const event = $(this);
|
||||
const isNotFiltered = event.attr('data-event-filtered') !== 'true';
|
||||
const offset = (numberOfEvents === LIMIT_DAY_EVENTS) ? 0 : 1;
|
||||
if (isNotFiltered) {
|
||||
if (count > LIMIT_DAY_EVENTS - offset) {
|
||||
event.attr('data-event-folded', 'true');
|
||||
event.hide();
|
||||
} else {
|
||||
event.attr('data-event-folded', 'false');
|
||||
event.show();
|
||||
count++;
|
||||
}
|
||||
} else {
|
||||
// It's being filtered out.
|
||||
event.attr('data-event-folded', 'false');
|
||||
}
|
||||
});
|
||||
|
||||
const moreEventsLink = dayContainer.find(moreEventsSelector);
|
||||
if (numberOfEvents > LIMIT_DAY_EVENTS) {
|
||||
const numberOfHiddenEvents = numberOfEvents - LIMIT_DAY_EVENTS + 1;
|
||||
moreEventsLink.show();
|
||||
getString('moreevents', 'calendar', numberOfHiddenEvents).then(str => {
|
||||
const link = moreEventsLink.find('strong a');
|
||||
moreEventsLink.attr('data-event-folded', 'false');
|
||||
link.text(str);
|
||||
return str;
|
||||
}).fail();
|
||||
} else {
|
||||
moreEventsLink.hide();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Register and handle month calendar events.
|
||||
*
|
||||
* @param {string} pendingId pending id.
|
||||
*/
|
||||
export const registerEventListenersForMonthDetailed = (pendingId) => {
|
||||
const events = `${CalendarEvents.viewUpdated}`;
|
||||
$('body').on(events, function(e) {
|
||||
foldDayEvents(e);
|
||||
});
|
||||
foldDayEvents();
|
||||
$('body').on(CalendarEvents.filterChanged, function(e, data) {
|
||||
const root = $(CalendarSelectors.elements.monthDetailed);
|
||||
const pending = new Pending(pendingId);
|
||||
const target = root.find(CalendarSelectors.eventType[data.type]);
|
||||
const transitionPromise = $.Deferred();
|
||||
if (data.hidden) {
|
||||
transitionPromise.then(function() {
|
||||
target.attr('data-event-filtered', 'true');
|
||||
return target.hide().promise();
|
||||
}).fail();
|
||||
} else {
|
||||
transitionPromise.then(function() {
|
||||
target.attr('data-event-filtered', 'false');
|
||||
return target.show().promise();
|
||||
}).fail();
|
||||
}
|
||||
|
||||
transitionPromise.then(function() {
|
||||
foldDayEvents();
|
||||
return;
|
||||
})
|
||||
.always(pending.resolve)
|
||||
.fail();
|
||||
|
||||
transitionPromise.resolve();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Register event listeners for the module.
|
||||
@ -213,7 +320,11 @@ export const reloadCurrentMonth = (root, courseId = 0, categoryId = 0) => {
|
||||
courseId = courseId || root.find(CalendarSelectors.wrapper).data('courseid');
|
||||
categoryId = categoryId || root.find(CalendarSelectors.wrapper).data('categoryid');
|
||||
|
||||
return refreshMonthContent(root, year, month, courseId, categoryId, null, '', day);
|
||||
return refreshMonthContent(root, year, month, courseId, categoryId, null, '', day).
|
||||
then((...args) => {
|
||||
$('body').trigger(CalendarEvents.courseChanged, [year, month, courseId, categoryId]);
|
||||
return args;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
@ -449,5 +560,12 @@ const renderEventSummaryModal = (eventId) => {
|
||||
};
|
||||
|
||||
export const init = (root, view) => {
|
||||
prefetchStrings('calendar', ['moreevents']);
|
||||
foldDayEvents();
|
||||
registerEventListeners(root, view);
|
||||
const calendarTable = root.find(CalendarSelectors.elements.monthDetailed);
|
||||
if (calendarTable.length) {
|
||||
const pendingId = `month-detailed-${calendarTable.id}-filterChanged`;
|
||||
registerEventListenersForMonthDetailed(calendarTable, pendingId);
|
||||
}
|
||||
};
|
||||
|
@ -95,6 +95,7 @@
|
||||
<li data-region="event-item"
|
||||
data-event-component="{{component}}"
|
||||
data-event-eventtype="{{eventtype}}"
|
||||
data-event-folded="false"
|
||||
data-eventtype-{{normalisedeventtype}}="1"
|
||||
{{#draggable}}
|
||||
draggable="true"
|
||||
@ -122,6 +123,16 @@
|
||||
</li>
|
||||
{{/underway}}
|
||||
{{/events}}
|
||||
<li data-action="view-more-events" style="display: none">
|
||||
<strong>
|
||||
<a data-action="view-day-link" href="#" class="aalink day" aria-label="{{viewdaylinktitle}}"
|
||||
data-year="{{date.year}}" data-month="{{date.mon}}" data-day="{{mday}}"
|
||||
data-courseid="{{courseid}}" data-categoryid="{{categoryid}}"
|
||||
data-timestamp="{{timestamp}}">
|
||||
{{#str}} moreevents, calendar, {{hasmoreevents}} {{/str}}
|
||||
</a>
|
||||
</strong>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="hidden">
|
||||
{{#events}}
|
||||
@ -159,42 +170,12 @@
|
||||
{{#js}}
|
||||
require([
|
||||
'jquery',
|
||||
'core_calendar/month_view_drag_drop',
|
||||
'core_calendar/selectors',
|
||||
'core_calendar/events',
|
||||
'core_calendar/month_view_drag_drop'
|
||||
], function(
|
||||
$,
|
||||
DragDrop,
|
||||
CalendarSelectors,
|
||||
CalendarEvents
|
||||
DragDrop
|
||||
) {
|
||||
var root = $('#month-detailed-{{uniqid}}-{{calendarinstanceid}}');
|
||||
DragDrop.init(root);
|
||||
|
||||
$('body').on(CalendarEvents.filterChanged, function(e, data) {
|
||||
M.util.js_pending("month-detailed-{{uniqid}}-filterChanged");
|
||||
// A filter value has been changed.
|
||||
// Find all matching cells in the popover data, and hide them.
|
||||
var target = root.find(CalendarSelectors.eventType[data.type]);
|
||||
|
||||
var transitionPromise = $.Deferred();
|
||||
if (data.hidden) {
|
||||
transitionPromise.then(function() {
|
||||
return target.slideUp('fast').promise();
|
||||
});
|
||||
} else {
|
||||
transitionPromise.then(function() {
|
||||
return target.slideDown('fast').promise();
|
||||
});
|
||||
}
|
||||
|
||||
transitionPromise.then(function() {
|
||||
M.util.js_complete("month-detailed-{{uniqid}}-filterChanged");
|
||||
|
||||
return;
|
||||
});
|
||||
|
||||
transitionPromise.resolve();
|
||||
});
|
||||
});
|
||||
{{/js}}
|
||||
|
@ -147,7 +147,7 @@ $calendar->add_sidecalendar_blocks($renderer, true, $view);
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $renderer->start_layout();
|
||||
echo html_writer::start_tag('div', array('class'=>'heightcontainer'));
|
||||
echo html_writer::start_tag('div', ['class' => 'heightcontainer', 'data-calendar-type' => 'main-block']);
|
||||
|
||||
|
||||
|
||||
|
@ -187,6 +187,7 @@ $string['monthnext'] = 'Next month';
|
||||
$string['monthprev'] = 'Previous month';
|
||||
$string['monththis'] = 'This month';
|
||||
$string['more'] = 'More';
|
||||
$string['moreevents'] = '{$a} more';
|
||||
$string['namewithsource'] = '{$a->name} ({$a->source})';
|
||||
$string['never'] = 'Never';
|
||||
$string['newevent'] = 'New event';
|
||||
|
@ -129,6 +129,20 @@ $calendarCurrentDateBackground: $primary;
|
||||
}
|
||||
}
|
||||
|
||||
#region-main {
|
||||
.maincalendar {
|
||||
.calendarwrapper {
|
||||
td {
|
||||
& > div {
|
||||
height: 11.5em;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.maincalendar {
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
@ -154,8 +168,13 @@ $calendarCurrentDateBackground: $primary;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
li[data-event-folded="true"] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style-type: none;
|
||||
line-height: 1.2em;
|
||||
|
||||
> a {
|
||||
@include text-truncate;
|
||||
@ -171,6 +190,10 @@ $calendarCurrentDateBackground: $primary;
|
||||
}
|
||||
}
|
||||
|
||||
a[data-action="view-day-link"] {
|
||||
@include text-truncate;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-left: 0.25em;
|
||||
margin-right: 0.25em;
|
||||
@ -222,7 +245,6 @@ $calendarCurrentDateBackground: $primary;
|
||||
}
|
||||
|
||||
td {
|
||||
height: 5em;
|
||||
|
||||
.day-number-circle {
|
||||
display: inline-block;
|
||||
|
@ -13205,6 +13205,10 @@ body.dragging .dragging {
|
||||
border-spacing: 2px;
|
||||
width: 100%; }
|
||||
|
||||
#region-main .maincalendar .calendarwrapper td > div {
|
||||
height: 11.5em;
|
||||
overflow: hidden; }
|
||||
|
||||
.maincalendar {
|
||||
vertical-align: top;
|
||||
padding: 0; }
|
||||
@ -13226,8 +13230,11 @@ body.dragging .dragging {
|
||||
.maincalendar .calendarmonth ul {
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
.maincalendar .calendarmonth ul li[data-event-folded="true"] {
|
||||
display: none; }
|
||||
.maincalendar .calendarmonth ul li {
|
||||
list-style-type: none; }
|
||||
list-style-type: none;
|
||||
line-height: 1.2em; }
|
||||
.maincalendar .calendarmonth ul li > a {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@ -13238,6 +13245,10 @@ body.dragging .dragging {
|
||||
text-decoration: none; }
|
||||
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
||||
text-decoration: underline; }
|
||||
.maincalendar .calendarmonth ul li a[data-action="view-day-link"] {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.maincalendar .calendarmonth ul li .icon {
|
||||
margin-left: 0.25em;
|
||||
margin-right: 0.25em;
|
||||
@ -13269,22 +13280,20 @@ body.dragging .dragging {
|
||||
.maincalendar .calendarmonth th {
|
||||
text-align: left;
|
||||
padding-left: 16px; }
|
||||
.maincalendar .calendarmonth td {
|
||||
height: 5em; }
|
||||
.maincalendar .calendarmonth td .day-number-circle {
|
||||
.maincalendar .calendarmonth td .day-number-circle {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
width: 30px;
|
||||
height: 30px; }
|
||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
width: 30px;
|
||||
height: 30px; }
|
||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||
display: inline-block;
|
||||
padding: 50% 4px;
|
||||
width: 100%;
|
||||
text-align: center; }
|
||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
background-color: #0f6cbf; }
|
||||
padding: 50% 4px;
|
||||
width: 100%;
|
||||
text-align: center; }
|
||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
background-color: #0f6cbf; }
|
||||
.maincalendar .calendarmonth .clickable:hover {
|
||||
background-color: #ededed; }
|
||||
.maincalendar .controls {
|
||||
|
@ -13205,6 +13205,10 @@ body.dragging .dragging {
|
||||
border-spacing: 2px;
|
||||
width: 100%; }
|
||||
|
||||
#region-main .maincalendar .calendarwrapper td > div {
|
||||
height: 11.5em;
|
||||
overflow: hidden; }
|
||||
|
||||
.maincalendar {
|
||||
vertical-align: top;
|
||||
padding: 0; }
|
||||
@ -13226,8 +13230,11 @@ body.dragging .dragging {
|
||||
.maincalendar .calendarmonth ul {
|
||||
margin: 0;
|
||||
padding: 0; }
|
||||
.maincalendar .calendarmonth ul li[data-event-folded="true"] {
|
||||
display: none; }
|
||||
.maincalendar .calendarmonth ul li {
|
||||
list-style-type: none; }
|
||||
list-style-type: none;
|
||||
line-height: 1.2em; }
|
||||
.maincalendar .calendarmonth ul li > a {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
@ -13238,6 +13245,10 @@ body.dragging .dragging {
|
||||
text-decoration: none; }
|
||||
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
||||
text-decoration: underline; }
|
||||
.maincalendar .calendarmonth ul li a[data-action="view-day-link"] {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap; }
|
||||
.maincalendar .calendarmonth ul li .icon {
|
||||
margin-left: 0.25em;
|
||||
margin-right: 0.25em;
|
||||
@ -13269,22 +13280,20 @@ body.dragging .dragging {
|
||||
.maincalendar .calendarmonth th {
|
||||
text-align: left;
|
||||
padding-left: 16px; }
|
||||
.maincalendar .calendarmonth td {
|
||||
height: 5em; }
|
||||
.maincalendar .calendarmonth td .day-number-circle {
|
||||
.maincalendar .calendarmonth td .day-number-circle {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
width: 30px;
|
||||
height: 30px; }
|
||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
width: 30px;
|
||||
height: 30px; }
|
||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||
display: inline-block;
|
||||
padding: 50% 4px;
|
||||
width: 100%;
|
||||
text-align: center; }
|
||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
background-color: #0f6cbf; }
|
||||
padding: 50% 4px;
|
||||
width: 100%;
|
||||
text-align: center; }
|
||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
background-color: #0f6cbf; }
|
||||
.maincalendar .calendarmonth .clickable:hover {
|
||||
background-color: #ededed; }
|
||||
.maincalendar .controls {
|
||||
|
Loading…
x
Reference in New Issue
Block a user