Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
{{!This file is part of Moodle - http://moodle.org/Moodle is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.Moodle is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with Moodle. If not, see <http://www.gnu.org/licenses/>.}}{{!@template tool_supporter/course_tableTemplate which outputs a table of courses.Classes required for JS:* dataTablesContext variables required for this template:* courses - array of arrays: course details to be displayed in a table.Example context (json):{"courses": [{"id": 8,"startdate": "27/08/2022, 11:00:00","shortname": "Kurs level 2","fullname": "Kurs level 2","level_two": "","level_one": "Top Level 2","visible": 1},{"id": 9,"startdate": "24/12/2022, 00:00:00","shortname": "Kurs level 2.1","fullname": "Kurs level 2.1","level_two": "Level 2.1","level_one": "Top Level 2","visible": 1},{"id": 17,"startdate": "31/12/2022, 00:00:00","shortname": "eee","fullname": "eee","level_two": "Level 2.1","level_one": "Top Level 2","visible": 0},{"id": 19,"startdate": "01/07/2022, 09:00:00","shortname": "Ebene 3 Kurs","fullname": "Ebene 3 Kurs","level_two": "Verschiedenes 1","level_one": "Verschiedenes","visible": 0},{"id": 21,"startdate": "22/07/2022, 09:00:00","shortname": "FB 01 Kurs im WS 17 18","fullname": "FB 01 Kurs im WS 17 18","level_two": "FB 01","level_one": "WiSe 2017/2018","visible": 1},{"id": 30,"startdate": "05/03/2022, 10:00:00","shortname": "test","fullname": "test","level_two": "","level_one": "Verschiedenes","visible": 0}],"uniqueleveltwoes": ["Verschiedenes 1","Testbereich mit (Klammern)","Level 1.1","Level 2.1","FB 01","FB 02","FB 03"],"uniquelevelones": ["Verschiedenes","Top Level 1","Top Level 2","SoSe 2018","WiSe 2017/2018","Semesteruebergreifende Kurse","HRZ / E-Learning - Weiterbildung","WiSe 2018/19","SoSe 2019"],"label_level_1": "Semester","label_level_2": "Fachbereich","searchname": "Suchen","refreshname": "Aktualisieren"}}}<div data-region="course_table" class="card rui-supporter-table"><div class = "card-header"><div class="row"><div class="col"><h4 class="card-title">{{#str}}courses{{/str}}<button class="ml-4 btn btn-xs p-1 btn-secondary" id="btn_refresh_courses">{{#pix}} a/refresh, core, {{refreshname}} {{/pix}}</button></h4></div></div></div><div id="course_table_filtering" style="visibility: hidden;"><div class="btn-toolbar ml-3 mt-1" role="toolbar"><div class="btn-group" role="group"><select id="course_table_column_chooser" class="form-control custom-select mr-1"><!-- Additional Options will be added later with javascript --><option selected value="-1">{{#str}}all{{/str}}</option></select></div><div class="btn-group" role="group" style="width: 55%"><input type="text" id="course_table_search_input" class="form-control form-control-sm" placeholder={{searchname}}></div><button type="button" class="btn btn-sm btn-danger" id="courses_clear_filters" style="visibility: hidden">× {{#str}}removeall, filters{{/str}}</button></div><!-- Filtering for course table --><div id ="course_filtering" data-region = "course_filtering"><ul class="nav nav-tabs nav-justified"><!-- Filter course list by selecting first level category--><li class="nav-item dropdown" {{^showlevel1}}hidden{{/showlevel1}}><a class = "nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">{{label_level_1}}<span class="caret"></span></a><ul class="dropdown-menu" id="courses_levelonedropdown">{{#uniquelevelones}}<li class = "dropdown-item" style="padding: 0 0 0 1.5rem"> <!-- padding: top, right, bottom, left --><label><input type="checkbox" value="{{{.}}}" name="courses_levelonecheckbox"> {{{.}}}</label></li>{{/uniquelevelones}}</ul></li><!-- Filter course list by selecting second level category --><li class="nav-item dropdown" {{^showlevel2}}hidden{{/showlevel2}}><a class = "nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">{{label_level_2}}<span class="caret"></span></a><ul class="dropdown-menu" id="courses_leveltwodropdown">{{#uniqueleveltwoes}}<li class = "dropdown-item" style="padding: 0 0 0 1.5rem"> <!-- padding: top, right, bottom, left --><label><input type="checkbox" value="{{{.}}}" name="courses_leveltwocheckbox"> {{{.}}}</label></li>{{/uniqueleveltwoes}}</ul></li><!-- Filter course list by selecting third level category --><li class="nav-item dropdown" {{^showlevel3}}hidden{{/showlevel3}}><a class = "nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">{{label_level_3}}<span class="caret"></span></a><ul class="dropdown-menu" id="courses_levelthreedropdown">{{#uniquelevelthrees}}<li class = "dropdown-item" style="padding: 0 0 0 1.5rem"> <!-- padding: top, right, bottom, left --><label><input type="checkbox" value="{{{.}}}" name="courses_levelthreecheckbox"> {{{.}}}</label></li>{{/uniquelevelthrees}}</ul></li><!-- Filter course list by selecting fourth level category --><li class="nav-item dropdown" {{^showlevel4}}hidden{{/showlevel4}}><a class = "nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">{{label_level_4}}<span class="caret"></span></a><ul class="dropdown-menu" id="courses_levelfourdropdown">{{#uniquelevelfours}}<li class = "dropdown-item" style="padding: 0 0 0 1.5rem"> <!-- padding: top, right, bottom, left --><label><input type="checkbox" value="{{{.}}}" name="courses_levelfourcheckbox"> {{{.}}}</label></li>{{/uniquelevelfours}}</ul></li><!-- Filter course list by selecting fifth level category --><li class="nav-item dropdown" {{^showlevel5}}hidden{{/showlevel5}}><a class = "nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">{{label_level_5}}<span class="caret"></span></a><ul class="dropdown-menu" id="courses_levelfivedropdown">{{#uniquelevelfives}}<li class = "dropdown-item" style="padding: 0 0 0 1.5rem"> <!-- padding: top, right, bottom, left --><label><input type="checkbox" value="{{{.}}}" name="courses_levelfivecheckbox"> {{{.}}}</label></li>{{/uniquelevelfives}}</ul></li></ul></div></div><div class = "table table-responsive"><table id = "courseTable" class="stripe hover row-border"><thead><tr><th>ID</th><th>{{#str}}shortnamecourse{{/str}}</th><th>{{#str}}fullnamecourse{{/str}}</th><th {{^showlevel1}}hidden{{/showlevel1}}>{{label_level_1}}</th><th {{^showlevel2}}hidden{{/showlevel2}}>{{label_level_2}}</th><th {{^showlevel3}}hidden{{/showlevel3}}>{{label_level_3}}</th><th {{^showlevel4}}hidden{{/showlevel4}}>{{label_level_4}}</th><th {{^showlevel5}}hidden{{/showlevel5}}>{{label_level_5}}</th><th>{{#str}}startdate{{/str}}</th><th>{{#str}}visible{{/str}}</th></tr></thead><tbody></tbody></table></div><span class="loading-icon text-center" id="courseTable-loadingIcon">{{#pix}} i/loading, core, {{#str}} loading {{/str}} {{/pix}}</span></div>{{#js}}require(['tool_supporter/load_information', 'jquery', 'core/ajax', 'core/notification', 'core/templates','tool_supporter/datatables', 'tool_supporter/table_filter'],function(loadInformation, $, ajax, notification, templates, datatables, tableFilter) {var columns1 = [{data: 'id', "searchable": true, name: 'ID'},{data: 'shortname', "searchable": true, name: '{{#str}}shortnamecourse{{/str}}',"visible": {{#showshortname}}true{{/showshortname}}{{^showshortname}}false{{/showshortname}}},{data: 'fullname', name: '{{#str}}fullnamecourse{{/str}}',"visible": {{#showfullname}}true{{/showfullname}}{{^showfullname}}false{{/showfullname}}},{data: 'level_one', name: '{{label_level_1}}',"visible": {{#showlevel1}}true{{/showlevel1}}{{^showlevel1}}false{{/showlevel1}}},{data: 'level_two', name: '{{label_level_2}}',"visible": {{#showlevel2}}true{{/showlevel2}}{{^showlevel2}}false{{/showlevel2}}},{data: 'level_three', name: '{{label_level_3}}',"visible": {{#showlevel3}}true{{/showlevel3}}{{^showlevel3}}false{{/showlevel3}}},{data: 'level_four', name: '{{label_level_4}}',"visible": {{#showlevel4}}true{{/showlevel4}}{{^showlevel4}}false{{/showlevel4}}},{data: 'level_five', name: '{{label_level_5}}',"visible": {{#showlevel5}}true{{/showlevel5}}{{^showlevel5}}false{{/showlevel5}}},{data: 'startdate', name: '{{#str}}startdate{{/str}}',"visible": {{#showstartdate}}true{{/showstartdate}}{{^showstartdate}}false{{/showstartdate}}},{data: 'visible', name: '{{#str}}visible{{/str}}',"visible": {{#showvisible}}true{{/showvisible}}{{^showvisible}}false{{/showvisible}}}];// Convert the table to dataTable and apply Filtering.datatables.dataTableAjax('#courseTable', 'tool_supporter_get_courses', {}, 'courses', columns1);// Refresh this table.loadInformation.clickOnRefresh('#courseTable', 'tool_supporter_get_courses', {}, 'courses', columns1);// Load detailed information about the clicked course.loadInformation.clickOnCourse('#courseTable');// Search the table.tableFilter.searchTable('#courseTable', '#course_table_column_chooser', '#course_table_search_input', columns1);// Clear filters when button is clicked.tableFilter.coursesClearFilters('#courseTable');});{{/js}}