MDL-68259 user: add styling to participant filters
[moodle.git] / user / templates / participantsfilter.mustache
1 {{!
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/>.
16 }}
17 {{!
18     @template core_user/participantsfilter
20     Template for the form containing one or more filter rows.
22     Example context (json):
23     {
24         "filtertypes": [
25             {
26                 "name": "status",
27                 "title": "Status",
28                 "values": [
29                     {
30                         "value": 1,
31                         "title": "Active"
32                     },
33                     {
34                         "value": 0,
35                         "title": "Suspended"
36                     }
37                 ]
38             }
39         ]
40     }
41 }}
43 <div id="core_user-participantsfilter-{{uniqid}}" class="filter-group my-2 p-2 bg-light border-radius border" data-table-region="{{tableregionid}}" data-table-course-id="{{courseid}}" data-filterverb="1">
44     <div data-filterregion="filtermatch" class="hidden">
45         <label for="core_user-local-participantsfilter-jointype-{{uniqid}}" class="my-0">{{#str}}match, core_user{{/str}}</label>
46         <select class="custom-select" data-filterfield="join" id="core_user-local-participantsfilter-jointype-{{uniqid}}">
47             <option value="0">{{#str}}none{{/str}}</option>
48             <option selected=selected value="1">{{#str}}any{{/str}}</option>
49             <option value="2">{{#str}}all{{/str}}</option>
50         </select>
51     </div>
53     <div data-filterregion="filters">
54         {{> core_user/local/participantsfilter/filterrow }}
55     </div>
57     <div class="d-flex" data-filterregion="actions">
58         &nbsp;
59         <button type="button" class="btn btn-link text-reset" data-filteraction="add">
60             <i class="fa fa-plus"></i><span class="pl-3">{{#str}}addcondition, core_user{{/str}}</span>
61         </button>
62         <button data-filteraction="reset" type="button" class="btn btn-secondary ml-auto mr-2">{{#str}}clearfilters, core_user{{/str}}</button>
63         <button data-filteraction="apply" type="button" class="btn btn-primary">{{#str}}applyfilters, core_user{{/str}}</button>
64     </div>
66     {{> core_user/local/participantsfilter/filtertypes}}
67 </div>
69 {{#js}}
70 require(['core_user/participantsfilter'], function(ParticipantsFilter) {
71     ParticipantsFilter.init('core_user-participantsfilter-{{uniqid}}');
72 });
73 {{/js}}