Merge branch 'MDL-80633-main' of https://github.com/laurentdavid/moodle
[moodle.git] / grade / templates / import_action_bar.mustache
blob04c09122f9e126829268325a4549be786faa7d9b
1 {{!
2     This file is part of Moodle - http://moodle.org/
3     Moodle is free software: you can redistribute it and/or modify
4     it under the terms of the GNU General Public License as published by
5     the Free Software Foundation, either version 3 of the License, or
6     (at your option) any later version.
7     Moodle is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10     GNU General Public License for more details.
11     You should have received a copy of the GNU General Public License
12     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
14 {{!
15     @template core_grades/import_action_bar
17     Actions bar for the gradebook import pages.
19     Context variables required for this template:
20     * generalnavselector - The data object containing the required properties to render the general navigation selector.
21     * importselector - The data object containing the required properties to render the import options selector.
23     Example context (json):
24     {
25         "generalnavselector": {
26             "name": "Gradebook tertiary navigation selector",
27             "value": "opt2",
28             "baseid": "select-menu56788",
29             "selectedoption": "Import",
30             "options": [
31                 {
32                     "selected": false,
33                      "isgroup": {
34                          "name": "View",
35                          "id": "select-menu-group1",
36                          "options": [
37                              {
38                                  "name": "Grader report",
39                                  "value": "opt1",
40                                  "id": "select-menu-option1",
41                                  "selected": false
42                              }
43                          ]
44                      }
45                 },
46                 {
47                     "selected": false,
48                     "isgroup": {
49                         "name": "More",
50                         "id": "select-menu-group2",
51                         "options": [
52                             {
53                                 "name": "Import",
54                                 "value": "opt2",
55                                 "id": "select-menu-option2",
56                                 "selected": true
57                             }
58                         ]
59                     }
60                 }
61             ]
62         },
63         "importselector": {
64             "name": "importas",
65             "value": "https://example.com/grade/import/csv/index.php",
66             "baseid": "select-menu56789",
67             "label": "Import as",
68             "labelattributes": [
69                 {
70                     "name": "class",
71                     "value": "font-weight-bold"
72                 }
73             ],
74             "selectedoption": "CSV file",
75             "options": [
76                 {
77                     "name": "CSV file",
78                     "value": "https://example.com/grade/import/csv/index.php",
79                     "selected": true,
80                     "id": "select-menu-option56789"
81                 }
82             ]
83         }
84     }
86 <div class="container-fluid tertiary-navigation full-width-bottom-border">
87     <div class="row">
88         {{#generalnavselector}}
89             <div class="navitem">
90                 {{>core/tertiary_navigation_selector}}
91             </div>
92             <div class="navitem-divider"></div>
93         {{/generalnavselector}}
94         {{#importselector}}
95             <div class="navitem">
96                 {{>core/select_menu}}
97             </div>
98             {{#js}}
99                 document.querySelector('#{{baseid}}').addEventListener('change', function(e) {
100                 window.location.href = e.target.value;
101                 });
102             {{/js}}
103         {{/importselector}}
104     </div>
105 </div>