. /** * Contains definition of a renderable for actions available for an individual user attempt in the report. * * @package mod_adaptivequiz * @copyright 2022 onwards Vitaly Potenko * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace mod_adaptivequiz\output\report\individual_user_attempts; use renderable; use renderer_base; use templatable; /** * Definition of a renderable for actions available for an individual user attempt in the report. * * @package mod_adaptivequiz */ final class individual_user_attempt_actions implements renderable, templatable { /** * @var individual_user_attempt_action[] $actions */ private $actions = []; /** * An interface to add an action object to the actions set. * * @param individual_user_attempt_action $action */ public function add(individual_user_attempt_action $action): void { $this->actions[] = $action; } /** * Exports the renderer data in a format that is suitable for a Mustache template. * * @param renderer_base $output */ public function export_for_template(renderer_base $output): array { $actions = []; foreach ($this->actions as $action) { $actions[] = $action->export_for_template($output); } return [ 'actions' => $actions, ]; } }