MDL-66999 theme_boost: @extend .table-warning
[moodle.git] / course / templates / defaultactivitycompletion.mustache
CommitLineData
e8a71f85
AG
1{{!
2 This file is part of Moodle - http://moodle.org/
3
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.
8
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.
13
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_course/defaultactivitycompletion
19
20 Activity completion selector.
21
22 Example context (json):
23 {
24 "courseid": "2",
25 "sesskey": "AAAAAA",
26 "modules": [{
27 "id": "10",
7f53e8aa
MG
28 "formattedname": "Assignment",
29 "canmanage": true,
30 "icon": "https://raw.githubusercontent.com/moodle/moodle/master/mod/assign/pix/icon.png",
31 "completionstatus": {
32 "string": "Manual",
33 "icon": "https://raw.githubusercontent.com/moodle/moodle/master/pix/i/completion-manual-enabled.png"
e8a71f85
AG
34 }
35 }]
36 }
37}}
38<div class="container-fluid">
5cac5fa4 39 <div class="row mb-2">
5976f85c 40 <div class="col">{{#str}}bulkactivitydetail, core_completion{{/str}}</div>
e8a71f85 41 </div>
7f53e8aa 42<form method="post" action="editdefaultcompletion.php" class="mform" id="theform">
5cac5fa4 43 <div class="row mb-2">
e8a71f85 44 <div class="col">
59d9c851 45 <input type="submit" value="{{#str}}edit{{/str}}" class="btn btn-primary" name="submitbutton" aria-label="{{#str}}updateactivities, completion{{/str}}" disabled/>
e8a71f85
AG
46 </div>
47 </div>
5cac5fa4 48 <div class="row mb-1">
5edb0fbc 49 <div class="col-xs-6">
5cac5fa4 50 <input type="checkbox" class="mastercheck mr-1" aria-label="{{#str}}checkall, completion{{/str}}">
5976f85c 51 <label class="font-weight-bold">{{#str}}activitieslabel, core_completion{{/str}}</label>
e8a71f85 52 </div>
5edb0fbc 53 <div class="col-xs-6">
5976f85c 54 <label class="font-weight-bold">{{#str}}completion, core_completion{{/str}}</label>
e8a71f85
AG
55 <span>{{{helpicon}}}</span>
56 </div>
57 </div>
273d3106 58 <hr class="row">
e8a71f85
AG
59 <div class="modules">
60 {{#modules}}
7f53e8aa 61 {{#canmanage}}
5cac5fa4
MM
62 <div class="mb-1">
63 <div class="row mb-1 row-fluid">
5edb0fbc 64 <div class="col-xs-6">
273d3106 65 <label class="accesshide" for="modtype_{{id}}">{{#str}}select, core_completion{{/str}} {{formattedname}}</label>
5cac5fa4 66 <input id="modtype_{{id}}" type="checkbox" class="mr-1" name="modids[]" value="{{id}}" aria-label="{{#str}}checkactivity, completion, {{{formattedname}}}{{/str}}">
3a3d8c48 67 <img class="iconlarge activityicon" src="{{icon}}" alt=" " role="presentation" />
b453e4c9 68 <span>{{{formattedname}}}</span>
7f53e8aa 69 </div>
5edb0fbc 70 <div class="activity-completionstatus col-xs-6">
6ecc4459 71 <div class="col-sm-1 p-l-0">
7f53e8aa 72 {{#completionstatus.icon}}
6b3b9c1d 73 {{{completionstatus.icon}}}
7f53e8aa
MG
74 {{/completionstatus.icon}}
75 {{^completionstatus.icon}}
5cac5fa4 76 <span class="mr-3"></span>
7f53e8aa
MG
77 {{/completionstatus.icon}}
78 </div>
6ecc4459 79 <div class="col-sm-11 p-l-0">
7f53e8aa
MG
80 <span class="text-muted muted">{{{completionstatus.string}}}</span>
81 </div>
e8a71f85
AG
82 </div>
83 </div>
84 </div>
273d3106 85 <hr class="row">
7f53e8aa 86 {{/canmanage}}
e8a71f85
AG
87 {{/modules}}
88 </div>
89 <input type="hidden" name="id" value="{{courseid}}" />
90 <input type="hidden" name="sesskey" value="{{sesskey}}" />
91 <div class="row">
92 <div class="col">
273d3106 93 <input type="submit" value="{{#str}}edit{{/str}}" class="btn btn-primary" name="submitbutton" disabled/>
e8a71f85
AG
94 </div>
95 </div>
96</form>
97</div>
98
99{{#js}}
100require([
101 'jquery',
102], function($) {
103 $('.mastercheck').click(function() {
104 var checked = $('.mastercheck').is(':checked');
105 $('input[type=checkbox]').each(function() {
106 $(this).prop('checked', checked);
59d9c851 107 $(this).trigger('change');
e8a71f85
AG
108 });
109 });
59d9c851
JD
110
111 $('input[type=checkbox][id^=modtype_]').change(function() {
112 if ($(this).is(':checked')) {
113 $('[name=submitbutton]').removeAttr('disabled');
114 } else {
115 // Is this the last activity checkbox to be un-checked? If so, disable the edit button.
116 var somechecked = false;
117 $('input[type=checkbox][id^=modtype_]').each(function() {
118 if ($(this).is(':checked')) {
119 somechecked = true;
120 return false;
121 }
122 return true;
123 });
124 if (!somechecked) {
125 $('[name=submitbutton]').attr('disabled', 'disabled');
126 }
127 }
128 });
e8a71f85
AG
129});
130{{/js}}