2 This file is part of Moodle - http://moodle.org/
4 Moodle is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 Moodle is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 @template core_message/notification_preferences
20 The list of notifications for the notification preferences page
22 Classes required for JS:
25 Data attibutes required for JS:
26 * All data attributes are required
28 Context variables required for this template:
29 * userid The logged in user id
30 * disableall If the user has disabled notifications
31 * components The list of notification components
33 Example context (json):
39 "displayname": "Popup notification",
48 "displayname": "System",
50 "hasnotifications": 1,
53 "displayname": "Notices about minor problems",
54 "preferencekey": "message_provider_moodle_notices",
57 "displayname": "Popup notification",
62 "enabledlabel": "Sending Assignment enabled status"
71 <div class="preferences-page-container">
72 <h2>{{#str}} notificationpreferences, message {{/str}}</h2>
73 <div class="checkbox-container" data-region="disable-notification-container">
74 <input id="disable-notifications"
76 data-disable-notifications
77 {{#disableall}}checked{{/disableall}} />
78 <label for="disable-notifications">{{#str}} disableall, message {{/str}}</label>
81 <div class="preferences-container {{#disableall}}disabled{{/disableall}}" data-user-id="{{userid}}">
82 <table class="table preference-table">
85 <th>{{{displayname}}}</th>
87 {{> message/notification_preferences_processor }}
93 {{> message/notification_preferences_component }}
100 require(['jquery', 'core_message/preferences_notifications_list_controller'],
101 function($, Controller) {
103 new Controller($('.preferences-container'));