mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
MDL-76138 gradereport_grader: Create basic action bar
This commit is contained in:
parent
7c3188b2ca
commit
ba93fe345a
3 changed files with 140 additions and 1 deletions
64
grade/report/grader/classes/output/action_bar.php
Normal file
64
grade/report/grader/classes/output/action_bar.php
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
// This file is part of Moodle - http://moodle.org/
|
||||
//
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the 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 of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
namespace gradereport_grader\output;
|
||||
|
||||
use moodle_url;
|
||||
use core_grades\output\general_action_bar;
|
||||
|
||||
/**
|
||||
* Renderable class for the action bar elements in the grader report.
|
||||
*
|
||||
* @package gradereport_grader
|
||||
* @copyright 2022 Mihail Geshoski <mihail@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
class action_bar extends \core_grades\output\action_bar {
|
||||
|
||||
/**
|
||||
* The class constructor.
|
||||
*
|
||||
* @param \context_course $context The context object.
|
||||
*/
|
||||
public function __construct(\context_course $context) {
|
||||
parent::__construct($context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the template for the action bar.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_template(): string {
|
||||
return 'gradereport_grader/action_bar';
|
||||
}
|
||||
|
||||
/**
|
||||
* Export the data for the mustache template.
|
||||
*
|
||||
* @param \renderer_base $output renderer to be used to render the action bar elements.
|
||||
* @return array
|
||||
*/
|
||||
public function export_for_template(\renderer_base $output): array {
|
||||
// If in the course context, we should display the general navigation selector in gradebook.
|
||||
$courseid = $this->context->instanceid;
|
||||
// Get the data used to output the general navigation selector.
|
||||
$generalnavselector = new general_action_bar($this->context,
|
||||
new moodle_url('/grade/report/grader/index.php', ['id' => $courseid]), 'gradereport', 'grader');
|
||||
|
||||
return $generalnavselector->export_for_template($output);
|
||||
}
|
||||
}
|
|
@ -112,8 +112,10 @@ $reportname = get_string('pluginname', 'gradereport_grader');
|
|||
// Do this check just before printing the grade header (and only do it once).
|
||||
grade_regrade_final_grades_if_required($course);
|
||||
|
||||
$actionbar = new \gradereport_grader\output\action_bar($context);
|
||||
// Print header
|
||||
print_grade_page_head($COURSE->id, 'report', 'grader', $reportname, false, $buttons);
|
||||
print_grade_page_head($COURSE->id, 'report', 'grader', $reportname, false, $buttons, true,
|
||||
null, null, null, $actionbar);
|
||||
|
||||
//Initialise the grader report object that produces the table
|
||||
//the class grade_report_grader_ajax was removed as part of MDL-21562
|
||||
|
|
73
grade/report/grader/templates/action_bar.mustache
Normal file
73
grade/report/grader/templates/action_bar.mustache
Normal file
|
@ -0,0 +1,73 @@
|
|||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the 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 of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template gradereport_grader/action_bar
|
||||
|
||||
Actions bar for the grader report.
|
||||
|
||||
Context variables required for this template:
|
||||
* generalnavselector - The data object containing the required properties to render the general navigation selector.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"generalnavselector": {
|
||||
"name": "Gradebook tertiary navigation selector",
|
||||
"value": "opt2",
|
||||
"baseid": "select-menu56789",
|
||||
"selectedoption": "Gradebook setup",
|
||||
"options": [
|
||||
{
|
||||
"selected": false,
|
||||
"isgroup": {
|
||||
"name": "View",
|
||||
"id": "select-menu-group1",
|
||||
"options": [
|
||||
{
|
||||
"name": "Grader report",
|
||||
"value": "opt1",
|
||||
"id": "select-menu-option1",
|
||||
"selected": false
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"selected": false,
|
||||
"isgroup": {
|
||||
"name": "Setup",
|
||||
"id": "select-menu-group2",
|
||||
"options": [
|
||||
{
|
||||
"name": "Gradebook setup",
|
||||
"value": "opt2",
|
||||
"id": "select-menu-option2",
|
||||
"selected": true
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
<div class="container-fluid tertiary-navigation full-width-bottom-border">
|
||||
<div class="row">
|
||||
{{#generalnavselector}}
|
||||
<div class="navitem">
|
||||
{{>core/tertiary_navigation_selector}}
|
||||
</div>
|
||||
<div class="navitem-divider"></div>
|
||||
{{/generalnavselector}}
|
||||
</div>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue