AutorÃa | Ultima modificación | Ver Log |
<?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/>./*** A layout contains information on how to display data.** @package block_dash* @copyright 2019 bdecent gmbh <https://bdecent.de>* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later*/namespace block_dash\local\layout;use block_dash\local\data_grid\data\data_collection_interface;use block_dash\local\data_grid\data\strategy\data_strategy_interface;use block_dash\local\data_source\data_source_interface;/*** A layout contains information on how to display data.** @package block_dash*/interface layout_interface {/*** Get data source for this layout.** @return data_source_interface*/public function get_data_source();/*** Get mustache template name.** @return string*/public function get_mustache_template_name();/*** If the data source fields can be hidden or shown conditionally.** @return bool*/public function supports_field_visibility();/*** If the data source should display filters (does not affect conditions).** @return bool*/public function supports_filtering();/*** If the data source should display pagination links.** @return bool*/public function supports_pagination();/*** If the layout supports field sorting.** @return mixed*/public function supports_sorting();/*** Get data strategy.** @return data_strategy_interface*/public function get_data_strategy();/*** Modify objects before data is retrieved in the data source. This allows the layout to make decisions on the* data source and data grid.*/public function before_data();/*** Modify objects after data is retrieved in the data source. This allows the layout to make decisions on the* data source and data grid.** @param data_collection_interface $datacollection*/public function after_data(data_collection_interface $datacollection);/*** Add form elements to the preferences form when a user is configuring a block.** This extends the form built by the data source. When a user chooses a layout, specific form elements may be* displayed after a quick refresh of the form.** Be sure to call parent::build_preferences_form() if you override this method.** @param \moodleform $form* @param \MoodleQuickForm $mform* @throws \coding_exception*/public function build_preferences_form(\moodleform $form, \MoodleQuickForm $mform);/*** Allows layout to modified preferences values before exporting to mustache template.** @param array $preferences* @return array*/public function process_preferences(array $preferences);/*** Get data for layout mustache template.** @param \renderer_base $output* @return array|\stdClass* @throws \coding_exception*/public function export_for_template(\renderer_base $output);}