MDL-65318 core_calendar: add event details template
authorSimey Lameze <simey@moodle.com>
Fri, 12 Apr 2019 01:08:38 +0000 (09:08 +0800)
committerSimey Lameze <simey@moodle.com>
Thu, 2 May 2019 00:05:02 +0000 (08:05 +0800)
calendar/templates/event_details.mustache [new file with mode: 0644]

diff --git a/calendar/templates/event_details.mustache b/calendar/templates/event_details.mustache
new file mode 100644 (file)
index 0000000..56f41f1
--- /dev/null
@@ -0,0 +1,120 @@
+{{!
+    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 core_calendar/event_details
+
+    Calendar event details.
+
+    The purpose of this template is to render the event details.
+
+    This template is used in the summary modal, day and upcoming views to output event information consistently
+    across the calendar.
+
+    Classes required for JS:
+    * none
+
+    Data attributes required for JS:
+    * none
+
+    Example context (json):
+    {
+        "formattedtime": "Wednesday, 17 April, 9:27 AM",
+        "calendareventtype": "Group",
+        "description": "An random event description",
+        "location": "Moodle HQ",
+        "isactionevent": "true",
+        "course": {
+            "viewurl": "http://mymoodlesite/course/view.php?id=1",
+            "fullname": "Course name"
+        },
+        "source": "Ical imported",
+        "groupname": "Group 1",
+        "iscategoryevent": "true",
+        "category": {
+            "nestedname": "Category name"
+        },
+        "iscourseevent": "true",
+        "groupname": "Group name",
+        "subscription": "true",
+        "displayeventsource": "true",
+        "subscriptionname": "Subscription name",
+        "subscriptionurl": "http://subscriptionurl"
+    }
+}}
+<div class="row">
+    <div class="col-xs-1">{{#pix}} i/calendareventtime, core, {{#str}} when, core_calendar {{/str}} {{/pix}}</div>
+    <div class="col-xs-11">{{{formattedtime}}}</div>
+</div>
+<div class="row mt-1">
+    <div class="col-xs-1">{{#pix}} i/calendar, core, {{#str}} eventtype, core_calendar {{/str}} {{/pix}}</div>
+    <div class="col-xs-11">{{eventtype}}</div>
+</div>
+{{#description}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/calendareventdescription, core, {{#str}} description {{/str}} {{/pix}}</div>
+        <div class="description-content col-xs-11">{{{.}}}</div>
+    </div>
+{{/description}}
+{{#location}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/location, core, {{#str}} location {{/str}} {{/pix}}</div>
+        <div class="location-content col-xs-11">{{{.}}}</div>
+    </div>
+{{/location}}
+{{#isactionevent}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
+        <div class="col-xs-11"><a href="{{course.viewurl}}">{{{course.fullname}}}</a></div>
+    </div>
+{{/isactionevent}}
+{{#iscategoryevent}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/categoryevent, core, {{#str}} category {{/str}} {{/pix}}</div>
+        <div class="col-xs-11">{{{category.nestedname}}}</div>
+    </div>
+{{/iscategoryevent}}
+{{#iscourseevent}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
+        <div class="col-xs-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
+    </div>
+{{/iscourseevent}}
+{{#groupname}}
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
+        <div class="col-xs-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
+    </div>
+    <div class="row mt-1">
+        <div class="col-xs-1">{{#pix}} i/groupevent, core, {{#str}} group {{/str}} {{/pix}}</div>
+        <div class="col-xs-11">{{{groupname}}}</div>
+    </div>
+{{/groupname}}
+{{#subscription}}
+    {{#displayeventsource}}
+        <div class="row mt-1">
+            <div class="col-xs-1">{{#pix}} i/rss, core, {{#str}} eventsource, core_calendar {{/str}} {{/pix}}</div>
+            <div class="col-xs-11">
+                {{#subscriptionurl}}
+                    <p><a href="{{subscriptionurl}}">{{#str}}subscriptionsource, core_calendar, {{{subscriptionname}}}{{/str}}</a></p>
+                {{/subscriptionurl}}
+                {{^subscriptionurl}}
+                    <p>{{#str}}subscriptionsource, core_calendar, {{{subscriptionname}}}{{/str}}</p>
+                {{/subscriptionurl}}
+            </div>
+        </div>
+    {{/displayeventsource}}
+{{/subscription}}