MDL-71817 calendar: Fix duplicate IDs for multiple calendar blocks

Done by:
* Designating instance IDs for each month_exporter instances and
assigning these instance IDs in templates.
* Adding the instance ID as an optional parameter for the
core_calendar_renderer::course_filter_selector() to generate
course filters with unique element IDs.
This commit is contained in:
Jun Pataleta 2021-07-20 01:52:25 +08:00 committed by Simey Lameze
parent f0897dce80
commit 73a14b1075
5 changed files with 30 additions and 10 deletions

View file

@ -31,12 +31,12 @@
{
}
}}
<div id="calendar-month-{{uniqid}}" data-template="core_calendar/month_detailed">
<div id="calendar-month-{{uniqid}}-{{calendarinstanceid}}" data-template="core_calendar/month_detailed">
{{> core_calendar/header}}
{{> core_calendar/month_detailed}}
</div>
{{#js}}
require(['jquery', 'core_calendar/calendar'], function($, Calendar) {
Calendar.init($("#calendar-month-{{uniqid}}"));
Calendar.init($("#calendar-month-{{uniqid}}-{{calendarinstanceid}}"));
});
{{/js}}

View file

@ -42,7 +42,7 @@
}}>
{{> core_calendar/month_navigation }}
{{> core/overlay_loading}}
<table id="month-detailed-{{uniqid}}" class="calendarmonth calendartable mb-0">
<table id="month-detailed-{{uniqid}}-{{calendarinstanceid}}" class="calendarmonth calendartable mb-0">
<thead>
<tr>
{{# daynames }}
@ -159,7 +159,7 @@ require([
CalendarSelectors,
CalendarEvents
) {
var root = $('#month-detailed-{{uniqid}}');
var root = $('#month-detailed-{{uniqid}}-{{calendarinstanceid}}');
DragDrop.init(root);
$('body').on(CalendarEvents.filterChanged, function(e, data) {

View file

@ -31,7 +31,7 @@
{
}
}}
<div id="month-navigation-{{uniqid}}" class="controls">
<div id="month-navigation-{{uniqid}}-{{calendarinstanceid}}" class="controls">
<div class="calendar-controls">
<a{{!
}} href="{{previousperiodlink}}"{{!
@ -64,7 +64,7 @@
</div>
{{#js}}
require(['jquery', 'core_calendar/month_navigation_drag_drop'], function($, DragDrop) {
var root = $('#month-navigation-{{uniqid}}');
var root = $('#month-navigation-{{uniqid}}-{{calendarinstanceid}}');
DragDrop.init(root);
});
{{/js}}