{{!
    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_message/notification_preferences_component_notification

    The notification preferences page

    Classes required for JS:
    * disabled

    Data attributes required for JS:
    * All data attributes are required

    Context variables required for this template:
    * displayname   The notification display name
    * preferencekey The unique key to identify this preference
    * processors    The list of processors for this notification

    Example context (json):
    {
        "displayname": "Notices about minor problems",
        "preferencekey": "message_provider_moodle_notices",
        "processors": [
            {
                "displayname": "Popup notification",
                "name": "popup",
                "locked": 0,
                "userconfigured": 1,
                "enabled": 1,
                "enabledlabel": "Sending Assignment enabled status",
                "supportsprocessor": true
            }
        ]
    }
}}
<tr class="preference-row" data-region="preference-row" data-preference-key="{{{preferencekey}}}">
    <th class="preference-name fw-normal" scope="row">{{{displayname}}}</th>
    {{#processors}}
        <td {{^userconfigured}}class="disabled"{{/userconfigured}} data-processor-name="{{name}}">
            {{#supportsprocessor}}
                {{#locked}}
                    <div class="dimmed_text" title="{{lockedlabel}}">{{{lockedmessage}}}</div>
                {{/locked}}
                {{^locked}}
                    <form>
                        <div class="preference-state" data-preference="{{{preferencekey}}}_{{{name}}}">
                            <div class="form-check form-switch">
                                <input type="checkbox"
                                       id="{{{preferencekey}}}_{{{name}}}"
                                       name="{{{preferencekey}}}_{{{name}}}"
                                       class="form-check-input notification_enabled{{#disableall}} disabled{{/disableall}}"
                                    {{#disableall}} disabled="true" {{/disableall}}
                                    {{#enabled}}checked{{/enabled}}
                                >
                                <label for="{{{preferencekey}}}_{{{name}}}" class="visually-hidden">
                                    {{enabledlabel}}
                                </label>
                            </div>
                        </div>
                    </form>
                {{/locked}}
            {{/supportsprocessor}}
            {{^supportsprocessor}}
                <div class="text-center">
                    {{#str}} notsupported, core_message {{/str}}
                </div>
            {{/supportsprocessor}}
        </td>
    {{/processors}}
</tr>
