MDL-59392 calendar: Move template to parent Node
authorAndrew Nicols <andrew@nicols.co.uk>
Tue, 5 Sep 2017 07:14:54 +0000 (15:14 +0800)
committerAndrew Nicols <andrew@nicols.co.uk>
Mon, 11 Sep 2017 01:14:36 +0000 (09:14 +0800)
calendar/amd/build/view_manager.min.js
calendar/amd/src/view_manager.js
calendar/lib.php
calendar/templates/calendar_month.mustache [new file with mode: 0644]
calendar/view.php

index 1d8bdff..62a980b 100644 (file)
Binary files a/calendar/amd/build/view_manager.min.js and b/calendar/amd/build/view_manager.min.js differ
index f146861..58f9ac7 100644 (file)
@@ -60,7 +60,7 @@ define(['jquery', 'core/templates', 'core/notification', 'core_calendar/reposito
 
             return CalendarRepository.getCalendarMonthData(time, courseid)
                 .then(function(context) {
-                    return Templates.render('core_calendar/month_detailed', context);
+                    return Templates.render(root.attr('data-template'), context);
                 })
                 .then(function(html, js) {
                     return Templates.replaceNode(root.find(SELECTORS.CALENDAR_MONTH_WRAPPER), html, js);
index f574472..8df62f0 100644 (file)
@@ -3518,7 +3518,7 @@ function calendar_get_view(\calendar_information $calendar, $view) {
 
     $month = new \core_calendar\external\month_exporter($calendar, $type, $related);
     $data = $month->export($renderer);
-    $template = 'core_calendar/month_detailed';
+    $template = 'core_calendar/calendar_month';
 
     return [$data, $template];
 }
diff --git a/calendar/templates/calendar_month.mustache b/calendar/templates/calendar_month.mustache
new file mode 100644 (file)
index 0000000..9e5866b
--- /dev/null
@@ -0,0 +1,41 @@
+{{!
+    This file is part of Moodle - http://moodle.org/
+
+    Moodle is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    Moodle is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+}}
+{{!
+    @template calendar/calendar_month
+
+    Calendar month view for blcoks.
+
+    The purpose of this template is to render the main, detailed monthly view.
+
+    Classes required for JS:
+    * none
+
+    Data attributes required for JS:
+    * none
+
+    Example context (json):
+    {
+    }
+}}
+<div id="calendar-month-{{uniqid}}" data-template="core_calendar/month_detailed">
+    {{> core_calendar/month_detailed}}
+</div>
+{{#js}}
+require(['jquery', 'core_calendar/calendar'], function($, Calendar) {
+    Calendar.init($("#calendar-month-{{uniqid}}"));
+});
+{{/js}}
index ba0bc94..6447c8d 100644 (file)
@@ -161,5 +161,4 @@ echo html_writer::end_tag('div');
 list($data, $template) = calendar_get_footer_options($calendar);
 echo $renderer->render_from_template($template, $data);
 
-$PAGE->requires->js_call_amd('core_calendar/calendar', 'init');
 echo $OUTPUT->footer();