function EventInfoController::eventList
Same name in other branches
- 4.x src/Controller/EventInfoController.php \Drupal\devel\Controller\EventInfoController::eventList()
Builds the events overview page.
Return value
array A render array as expected by the renderer.
1 string reference to 'EventInfoController::eventList'
File
-
src/
Controller/ EventInfoController.php, line 36
Class
- EventInfoController
- Provides route responses for the event info page.
Namespace
Drupal\devel\ControllerCode
public function eventList() : array {
$headers = [
'name' => [
'data' => $this->t('Event Name'),
'class' => 'visually-hidden',
],
'callable' => $this->t('Callable'),
'priority' => $this->t('Priority'),
];
$event_listeners = $this->eventDispatcher
->getListeners();
ksort($event_listeners);
$rows = [];
foreach ($event_listeners as $event_name => $listeners) {
$rows[][] = [
'data' => $event_name,
'class' => [
'devel-event-name-header',
],
'filter' => TRUE,
'colspan' => '3',
'header' => TRUE,
];
foreach ($listeners as $listener) {
$row['name'] = [
'data' => $event_name,
'class' => [
'visually-hidden',
],
'filter' => TRUE,
];
$row['class'] = [
'data' => $this->resolveCallableName($listener),
];
$row['priority'] = [
'data' => $this->eventDispatcher
->getListenerPriority($event_name, $listener),
];
$rows[] = $row;
}
}
$output['events'] = [
'#type' => 'devel_table_filter',
'#filter_label' => $this->t('Search'),
'#filter_placeholder' => $this->t('Enter event name'),
'#filter_description' => $this->t('Enter a part of the event name to filter by.'),
'#header' => $headers,
'#rows' => $rows,
'#empty' => $this->t('No events found.'),
'#attributes' => [
'class' => [
'devel-event-list',
],
],
];
return $output;
}