MDL-59106 report_insights: Fix predicted value styling
[moodle.git] / report / insights / classes / output / renderer.php
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
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.
8 //
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.
13 //
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  * Renderer.
19  *
20  * @package    report_insights
21  * @copyright  2016 David Monllao {@link http://www.davidmonllao.com}
22  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23  */
25 namespace report_insights\output;
27 defined('MOODLE_INTERNAL') || die();
29 use plugin_renderer_base;
30 use templatable;
31 use renderable;
33 /**
34  * Renderer class.
35  *
36  * @package    report_insights
37  * @copyright  2016 David Monllao {@link http://www.davidmonllao.com}
38  * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
39  */
40 class renderer extends plugin_renderer_base {
42     /**
43      * Renders the list of insights
44      *
45      * @param renderable $renderable
46      * @return string HTML
47      */
48     protected function render_insights_list(renderable $renderable) {
49         $data = $renderable->export_for_template($this);
50         return parent::render_from_template('report_insights/insights_list', $data);
51     }
53     /**
54      * Renders an insight
55      *
56      * @param renderable $renderable
57      * @return string HTML
58      */
59     protected function render_insight(renderable $renderable) {
60         $data = $renderable->export_for_template($this);
61         return parent::render_from_template('report_insights/insight_details', $data);
62     }
64     /**
65      * Model disabled info.
66      *
67      * @param \stdClass $insightinfo
68      * @return string HTML
69      */
70     public function render_model_disabled($insightinfo) {
71         global $OUTPUT, $PAGE;
73         // We don't want to disclose the name of the model if it has not been enabled.
74         $PAGE->set_title($insightinfo->contextname);
75         $PAGE->set_heading($insightinfo->contextname);
77         $output = $OUTPUT->header();
78         $output .= $OUTPUT->notification(get_string('disabledmodel', 'report_insights'), \core\output\notification::NOTIFY_INFO);
79         $output .= $OUTPUT->footer();
81         return $output;
82     }
84     /**
85      * Model without insights info.
86      *
87      * @param \context $context
88      * @return string HTML
89      */
90     public function render_no_insights(\context $context) {
91         global $OUTPUT, $PAGE;
93         // We don't want to disclose the name of the model if it has not been enabled.
94         $PAGE->set_title($context->get_context_name());
95         $PAGE->set_heading($context->get_context_name());
97         $output = $OUTPUT->header();
98         $output .= $OUTPUT->notification(get_string('noinsights', 'analytics'), \core\output\notification::NOTIFY_INFO);
99         $output .= $OUTPUT->footer();
101         return $output;
102     }
104     /**
105      * Model which target does not generate insights.
106      *
107      * @param \context $context
108      * @return string HTML
109      */
110     public function render_no_insights_model(\context $context) {
111         global $OUTPUT, $PAGE;
113         // We don't want to disclose the name of the model if it has not been enabled.
114         $PAGE->set_title($context->get_context_name());
115         $PAGE->set_heading($context->get_context_name());
117         $output = $OUTPUT->header();
118         $output .= $OUTPUT->notification(get_string('noinsightsmodel', 'analytics'), \core\output\notification::NOTIFY_INFO);
119         $output .= $OUTPUT->footer();
121         return $output;
122     }