. declare(strict_types=1); namespace core_reportbuilder\table; use moodle_url; /** * Custom report view dynamic table class * * @package core_reportbuilder * @copyright 2021 David Matamoros * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class custom_report_table_view extends custom_report_table { /** @var bool We're pre/viewing the report, not editing it */ protected const REPORT_EDITING = false; /** * Override printed headers, to use those of grandparent class */ public function print_headers() { $columns = $this->get_active_columns(); if (empty($columns)) { return; } base_report_table::print_headers(); } /** * Override base implementation, return pagesize as defined in table filterset * * @return int */ public function get_default_per_page(): int { $filterset = $this->get_filterset(); return $filterset->get_filter('pagesize')->current(); } /** * Get the html for the download buttons * * @return string */ public function download_buttons(): string { global $OUTPUT; if (!$this->is_downloading()) { return $OUTPUT->download_dataformat_selector( get_string('downloadas', 'table'), new moodle_url('/reportbuilder/download.php'), 'download', ['id' => $this->persistent->get('id')] ); } return ''; } }