MDL-56448 mustache: fix json errors in example context
[moodle.git] / admin / templates / setting_configpasswordunmask.mustache
blobb9da812422514c7137c629f0d319349b52c12b74
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/>.
17 {{!
18     @template core_admin/setting_configpasswordunmask
20     Admin password unmask setting template.
22     Context variables required for this template:
23     * name - form element name
24     * size - form element size
25     * value - form element value
26     * id - element id
28     Example context (json):
29     {
30         "name": "test",
31         "id": "test0",
32         "size": "8",
33         "value": "secret"
34     }
36 <div class="form-password">
37     <input type="password" name="{{name}}" size="{{size}}" id="{{id}}" value="{{value}}">
38     <div class="unmask" id="{{id}}unmaskdiv"></div>
39 </div>
40 {{#js}}
41 (function() {
42     var id = '{{id}}';
43     var unmaskid = id + 'unmask';
44     var unmaskdivid = id + 'unmaskdiv';
45     var unmaskstr = {{#quote}}{{#str}}unmaskpassword, form{{/str}}{{/quote}};
46     var is_ie = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
48     document.getElementById(id).setAttribute("autocomplete", "off");
50     var unmaskdiv = document.getElementById(unmaskdivid);
52     var unmaskchb = document.createElement("input");
53     unmaskchb.setAttribute("type", "checkbox");
54     unmaskchb.setAttribute("id", unmaskid);
55     unmaskchb.onchange = function() {unmaskPassword(id);};
56     unmaskdiv.appendChild(unmaskchb);
58     var unmasklbl = document.createElement("label");
59     unmasklbl.innerHTML = unmaskstr;
60     if (is_ie) {
61       unmasklbl.setAttribute("htmlFor", unmaskid);
62     } else {
63       unmasklbl.setAttribute("for", unmaskid);
64     }
65     unmaskdiv.appendChild(unmasklbl);
67     if (is_ie) {
68       // Ugly hack to work around the famous onchange IE bug.
69       unmaskchb.onclick = function() {this.blur();};
70       unmaskdiv.onclick = function() {this.blur();};
71     }
72 })()
73 {{/js}}