. /** * Moodle Component Library * * A sample page with dropdowns. * * @package tool_componentlibrary * @copyright 2023 Ferran Recio * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ declare(strict_types=1); require_once(__DIR__ . '/../../../../config.php'); require_login(); require_capability('moodle/site:configview', context_system::instance()); global $PAGE, $OUTPUT; $PAGE->set_url(new moodle_url('/admin/tool/componentlibrary/examples/dropdowns.php')); $PAGE->set_context(context_system::instance()); $PAGE->set_pagelayout('embedded'); $PAGE->set_heading('Moodle dropdowns'); $PAGE->set_title('Moodle dropdowns'); /** @var core_renderer $output*/ $output = $PAGE->get_renderer('core'); echo $output->header(); echo $output->heading("Dropdown dialog example", 3); $dialog = new core\output\local\dropdown\dialog( 'Open dialog', '

Some rich content element.

' ); echo $OUTPUT->render($dialog); echo $output->heading("Dropdown status example", 3); $choice = new core\output\choicelist('Choice description text'); // Option one is a link. $choice->add_option('option1', 'Option 1', [ 'description' => 'Option 1 description', 'icon' => new pix_icon('t/show', 'Eye icon 1'), ]); // Option two has an icon and description. $choice->add_option('option2', 'Option 2', [ 'description' => 'Option 2 description', 'icon' => new pix_icon('t/hide', 'Eye icon 2'), ]); // Option three is disabled. $choice->add_option('option3', 'Option 3', [ 'description' => 'Option 3 description', 'icon' => new pix_icon('t/stealth', 'Eye icon 3'), ]); $choice->set_selected_value('option2'); $dialog = new core\output\local\dropdown\status('Open dialog button', $choice); echo $OUTPUT->render($dialog); echo $output->footer();