862f3f3be14c231ec527971b724b085a2c6ba152
[moodle.git] / lib / templates / inplace_editable.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/inplace_editable
20     Displays the value that can be edited inline.
22     Classes required for JS:
23     * none
25     Data attributes required for JS:
26     * data-inplaceeditable
27     * data-inplaceeditablelink
28     * data-component
29     * data-itemtype
30     * data-itemid
31     * data-value
32     * data-editlabel
34     Context variables required for this template:
35     * none
37     Example context (json):
38     {
39         "displayvalue" : "<a href=\"#\">Moodle</a>",
40         "value" : "Moodle",
41         "itemid" : "1",
42         "component" : "core_unknown",
43         "itemtype" : "unknown",
44         "edithint" : "Edit this",
45         "editlabel" : "New name for this"
46     }
47 }}
48 {{#component}}
49 <span class="inplaceeditable" data-inplaceeditable="1" data-component="{{component}}" data-itemtype="{{itemtype}}" data-itemid="{{itemid}}"
50     data-value="{{value}}" data-editlabel="{{editlabel}}">
51         {{{displayvalue}}}
52         <a href="#" class="quickeditlink visibleifjs" data-inplaceeditablelink="1" title="{{edithint}}">
53             {{#pix}}t/editstring,core,{{edithint}}{{/pix}}
54         </a>
55 </span>
56 {{#js}}
57     require(['core/inplace_editable']);
58 {{/js}}
59 {{/component}}
60 {{^component}}
61     {{{displayvalue}}}
62 {{/component}}