. namespace qbank_usage; use core_question\local\bank\column_base; /** * A column type for the name of the question type. * * @package qbank_usage * @copyright 2021 Catalyst IT Australia Pty Ltd * @author Safat Shahin * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class question_usage_column extends column_base { public function get_name(): string { return 'questionusage'; } public function get_title(): string { return get_string('questionusage', 'qbank_usage'); } public function help_icon(): ?\help_icon { return new \help_icon('questionusage', 'qbank_usage'); } protected function display_content($question, $rowclasses): void { global $PAGE; $usagecount = helper::get_question_entry_usage_count($question); $attributes = []; if (question_has_capability_on($question, 'view')) { $target = 'questionusagepreview_' . $question->id; $datatarget = '[data-target="' . $target . '"]'; $PAGE->requires->js_call_amd('qbank_usage/usage', 'init', [$datatarget, $question->contextid]); $attributes = [ 'href' => '#', 'data-target' => $target, 'data-questionid' => $question->id, 'data-courseid' => $this->qbank->course->id, ]; } echo \html_writer::tag('a', $usagecount, $attributes); } public function get_extra_classes(): array { return ['pr-3']; } }