mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
Merge branch 'MDL-72237-master' of https://github.com/dcai/moodle
This commit is contained in:
commit
7548cbfcf6
18 changed files with 219 additions and 75 deletions
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
|
//# 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
|
//# 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
|
//# 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 {
|
} else {
|
||||||
daysWithEvent.removeClass('hidden');
|
daysWithEvent.removeClass('hidden');
|
||||||
}
|
}
|
||||||
|
CalendarViewManager.foldDayEvents(root);
|
||||||
});
|
});
|
||||||
|
|
||||||
var eventFormPromise = CalendarCrud.registerEventFormModal(root);
|
var eventFormPromise = CalendarCrud.registerEventFormModal(root);
|
||||||
|
|
|
@ -33,6 +33,7 @@ define([], function() {
|
||||||
monthChanged: 'calendar-events:month_changed',
|
monthChanged: 'calendar-events:month_changed',
|
||||||
moveEvent: 'calendar-events:move_event',
|
moveEvent: 'calendar-events:move_event',
|
||||||
filterChanged: 'calendar-events:filter_changed',
|
filterChanged: 'calendar-events:filter_changed',
|
||||||
|
courseChanged: 'calendar-events:course_changed',
|
||||||
viewUpdated: 'calendar-events:view_updated',
|
viewUpdated: 'calendar-events:view_updated',
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -55,6 +55,7 @@ define([], function() {
|
||||||
courseSelector: 'select[name="course"]',
|
courseSelector: 'select[name="course"]',
|
||||||
dateContainer: '.clickable.hasevent',
|
dateContainer: '.clickable.hasevent',
|
||||||
dateContent: '[data-region="day-content"]',
|
dateContent: '[data-region="day-content"]',
|
||||||
|
monthDetailed: '.calendarmonth.calendartable',
|
||||||
},
|
},
|
||||||
today: '.today',
|
today: '.today',
|
||||||
day: '[data-region="day"]',
|
day: '[data-region="day"]',
|
||||||
|
@ -69,6 +70,7 @@ define([], function() {
|
||||||
containers: {
|
containers: {
|
||||||
loadingIcon: '[data-region="overlay-icon-container"]',
|
loadingIcon: '[data-region="overlay-icon-container"]',
|
||||||
},
|
},
|
||||||
|
mainCalendar: '.maincalendar .heightcontainer',
|
||||||
fullCalendarView: 'page-calendar-view',
|
fullCalendarView: 'page-calendar-view',
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
@ -31,7 +31,114 @@ import ModalFactory from 'core/modal_factory';
|
||||||
import ModalEvents from 'core/modal_events';
|
import ModalEvents from 'core/modal_events';
|
||||||
import SummaryModal from 'core_calendar/summary_modal';
|
import SummaryModal from 'core_calendar/summary_modal';
|
||||||
import CustomEvents from 'core/custom_interaction_events';
|
import CustomEvents from 'core/custom_interaction_events';
|
||||||
|
import {get_string as getString} from 'core/str';
|
||||||
import Pending from 'core/pending';
|
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.
|
* 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');
|
courseId = courseId || root.find(CalendarSelectors.wrapper).data('courseid');
|
||||||
categoryId = categoryId || root.find(CalendarSelectors.wrapper).data('categoryid');
|
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) => {
|
export const init = (root, view) => {
|
||||||
|
prefetchStrings('calendar', ['moreevents']);
|
||||||
|
foldDayEvents();
|
||||||
registerEventListeners(root, view);
|
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"
|
<li data-region="event-item"
|
||||||
data-event-component="{{component}}"
|
data-event-component="{{component}}"
|
||||||
data-event-eventtype="{{eventtype}}"
|
data-event-eventtype="{{eventtype}}"
|
||||||
|
data-event-folded="false"
|
||||||
data-eventtype-{{normalisedeventtype}}="1"
|
data-eventtype-{{normalisedeventtype}}="1"
|
||||||
{{#draggable}}
|
{{#draggable}}
|
||||||
draggable="true"
|
draggable="true"
|
||||||
|
@ -122,6 +123,16 @@
|
||||||
</li>
|
</li>
|
||||||
{{/underway}}
|
{{/underway}}
|
||||||
{{/events}}
|
{{/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>
|
</ul>
|
||||||
<div class="hidden">
|
<div class="hidden">
|
||||||
{{#events}}
|
{{#events}}
|
||||||
|
@ -159,42 +170,12 @@
|
||||||
{{#js}}
|
{{#js}}
|
||||||
require([
|
require([
|
||||||
'jquery',
|
'jquery',
|
||||||
'core_calendar/month_view_drag_drop',
|
'core_calendar/month_view_drag_drop'
|
||||||
'core_calendar/selectors',
|
|
||||||
'core_calendar/events',
|
|
||||||
], function(
|
], function(
|
||||||
$,
|
$,
|
||||||
DragDrop,
|
DragDrop
|
||||||
CalendarSelectors,
|
|
||||||
CalendarEvents
|
|
||||||
) {
|
) {
|
||||||
var root = $('#month-detailed-{{uniqid}}-{{calendarinstanceid}}');
|
var root = $('#month-detailed-{{uniqid}}-{{calendarinstanceid}}');
|
||||||
DragDrop.init(root);
|
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}}
|
{{/js}}
|
||||||
|
|
|
@ -147,7 +147,7 @@ $calendar->add_sidecalendar_blocks($renderer, true, $view);
|
||||||
|
|
||||||
echo $OUTPUT->header();
|
echo $OUTPUT->header();
|
||||||
echo $renderer->start_layout();
|
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['monthprev'] = 'Previous month';
|
||||||
$string['monththis'] = 'This month';
|
$string['monththis'] = 'This month';
|
||||||
$string['more'] = 'More';
|
$string['more'] = 'More';
|
||||||
|
$string['moreevents'] = '{$a} more';
|
||||||
$string['namewithsource'] = '{$a->name} ({$a->source})';
|
$string['namewithsource'] = '{$a->name} ({$a->source})';
|
||||||
$string['never'] = 'Never';
|
$string['never'] = 'Never';
|
||||||
$string['newevent'] = 'New event';
|
$string['newevent'] = 'New event';
|
||||||
|
|
|
@ -129,6 +129,20 @@ $calendarCurrentDateBackground: $primary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region-main {
|
||||||
|
.maincalendar {
|
||||||
|
.calendarwrapper {
|
||||||
|
td {
|
||||||
|
& > div {
|
||||||
|
height: 11.5em;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
.maincalendar {
|
.maincalendar {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
@ -154,8 +168,13 @@ $calendarCurrentDateBackground: $primary;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
|
li[data-event-folded="true"] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
li {
|
li {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
line-height: 1.2em;
|
||||||
|
|
||||||
> a {
|
> a {
|
||||||
@include text-truncate;
|
@include text-truncate;
|
||||||
|
@ -171,6 +190,10 @@ $calendarCurrentDateBackground: $primary;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a[data-action="view-day-link"] {
|
||||||
|
@include text-truncate;
|
||||||
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
margin-left: 0.25em;
|
margin-left: 0.25em;
|
||||||
margin-right: 0.25em;
|
margin-right: 0.25em;
|
||||||
|
@ -222,7 +245,6 @@ $calendarCurrentDateBackground: $primary;
|
||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
height: 5em;
|
|
||||||
|
|
||||||
.day-number-circle {
|
.day-number-circle {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
|
@ -13205,6 +13205,10 @@ body.dragging .dragging {
|
||||||
border-spacing: 2px;
|
border-spacing: 2px;
|
||||||
width: 100%; }
|
width: 100%; }
|
||||||
|
|
||||||
|
#region-main .maincalendar .calendarwrapper td > div {
|
||||||
|
height: 11.5em;
|
||||||
|
overflow: hidden; }
|
||||||
|
|
||||||
.maincalendar {
|
.maincalendar {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding: 0; }
|
padding: 0; }
|
||||||
|
@ -13226,8 +13230,11 @@ body.dragging .dragging {
|
||||||
.maincalendar .calendarmonth ul {
|
.maincalendar .calendarmonth ul {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0; }
|
padding: 0; }
|
||||||
|
.maincalendar .calendarmonth ul li[data-event-folded="true"] {
|
||||||
|
display: none; }
|
||||||
.maincalendar .calendarmonth ul li {
|
.maincalendar .calendarmonth ul li {
|
||||||
list-style-type: none; }
|
list-style-type: none;
|
||||||
|
line-height: 1.2em; }
|
||||||
.maincalendar .calendarmonth ul li > a {
|
.maincalendar .calendarmonth ul li > a {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -13238,6 +13245,10 @@ body.dragging .dragging {
|
||||||
text-decoration: none; }
|
text-decoration: none; }
|
||||||
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
||||||
text-decoration: underline; }
|
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 {
|
.maincalendar .calendarmonth ul li .icon {
|
||||||
margin-left: 0.25em;
|
margin-left: 0.25em;
|
||||||
margin-right: 0.25em;
|
margin-right: 0.25em;
|
||||||
|
@ -13269,22 +13280,20 @@ body.dragging .dragging {
|
||||||
.maincalendar .calendarmonth th {
|
.maincalendar .calendarmonth th {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 16px; }
|
padding-left: 16px; }
|
||||||
.maincalendar .calendarmonth td {
|
.maincalendar .calendarmonth td .day-number-circle {
|
||||||
height: 5em; }
|
display: inline-block;
|
||||||
.maincalendar .calendarmonth td .day-number-circle {
|
line-height: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px; }
|
||||||
|
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
line-height: 0;
|
padding: 50% 4px;
|
||||||
width: 30px;
|
width: 100%;
|
||||||
height: 30px; }
|
text-align: center; }
|
||||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||||
display: inline-block;
|
border-radius: 50%;
|
||||||
padding: 50% 4px;
|
color: #fff;
|
||||||
width: 100%;
|
background-color: #0f6cbf; }
|
||||||
text-align: center; }
|
|
||||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #fff;
|
|
||||||
background-color: #0f6cbf; }
|
|
||||||
.maincalendar .calendarmonth .clickable:hover {
|
.maincalendar .calendarmonth .clickable:hover {
|
||||||
background-color: #ededed; }
|
background-color: #ededed; }
|
||||||
.maincalendar .controls {
|
.maincalendar .controls {
|
||||||
|
|
|
@ -13205,6 +13205,10 @@ body.dragging .dragging {
|
||||||
border-spacing: 2px;
|
border-spacing: 2px;
|
||||||
width: 100%; }
|
width: 100%; }
|
||||||
|
|
||||||
|
#region-main .maincalendar .calendarwrapper td > div {
|
||||||
|
height: 11.5em;
|
||||||
|
overflow: hidden; }
|
||||||
|
|
||||||
.maincalendar {
|
.maincalendar {
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
padding: 0; }
|
padding: 0; }
|
||||||
|
@ -13226,8 +13230,11 @@ body.dragging .dragging {
|
||||||
.maincalendar .calendarmonth ul {
|
.maincalendar .calendarmonth ul {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0; }
|
padding: 0; }
|
||||||
|
.maincalendar .calendarmonth ul li[data-event-folded="true"] {
|
||||||
|
display: none; }
|
||||||
.maincalendar .calendarmonth ul li {
|
.maincalendar .calendarmonth ul li {
|
||||||
list-style-type: none; }
|
list-style-type: none;
|
||||||
|
line-height: 1.2em; }
|
||||||
.maincalendar .calendarmonth ul li > a {
|
.maincalendar .calendarmonth ul li > a {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
@ -13238,6 +13245,10 @@ body.dragging .dragging {
|
||||||
text-decoration: none; }
|
text-decoration: none; }
|
||||||
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
.maincalendar .calendarmonth ul li > a:hover .eventname {
|
||||||
text-decoration: underline; }
|
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 {
|
.maincalendar .calendarmonth ul li .icon {
|
||||||
margin-left: 0.25em;
|
margin-left: 0.25em;
|
||||||
margin-right: 0.25em;
|
margin-right: 0.25em;
|
||||||
|
@ -13269,22 +13280,20 @@ body.dragging .dragging {
|
||||||
.maincalendar .calendarmonth th {
|
.maincalendar .calendarmonth th {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding-left: 16px; }
|
padding-left: 16px; }
|
||||||
.maincalendar .calendarmonth td {
|
.maincalendar .calendarmonth td .day-number-circle {
|
||||||
height: 5em; }
|
display: inline-block;
|
||||||
.maincalendar .calendarmonth td .day-number-circle {
|
line-height: 0;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px; }
|
||||||
|
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
line-height: 0;
|
padding: 50% 4px;
|
||||||
width: 30px;
|
width: 100%;
|
||||||
height: 30px; }
|
text-align: center; }
|
||||||
.maincalendar .calendarmonth td .day-number-circle .day-number {
|
.maincalendar .calendarmonth td.today .day-number-circle {
|
||||||
display: inline-block;
|
border-radius: 50%;
|
||||||
padding: 50% 4px;
|
color: #fff;
|
||||||
width: 100%;
|
background-color: #0f6cbf; }
|
||||||
text-align: center; }
|
|
||||||
.maincalendar .calendarmonth td.today .day-number-circle {
|
|
||||||
border-radius: 50%;
|
|
||||||
color: #fff;
|
|
||||||
background-color: #0f6cbf; }
|
|
||||||
.maincalendar .calendarmonth .clickable:hover {
|
.maincalendar .calendarmonth .clickable:hover {
|
||||||
background-color: #ededed; }
|
background-color: #ededed; }
|
||||||
.maincalendar .controls {
|
.maincalendar .controls {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue