public function EventInfoController::eventList in Devel 8
Same name and namespace in other branches
- 8.3 src/Controller/EventInfoController.php \Drupal\devel\Controller\EventInfoController::eventList()
- 8.2 src/Controller/EventInfoController.php \Drupal\devel\Controller\EventInfoController::eventList()
- 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 46
Class
- EventInfoController
- Provides route responses for the event info page.
Namespace
Drupal\devel\ControllerCode
public function eventList() {
$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' => 'table-filter-text-source devel-event-name-header',
'colspan' => '3',
'header' => TRUE,
];
foreach ($listeners as $priority => $listener) {
$row['name'] = [
'data' => $event_name,
'class' => 'table-filter-text-source visually-hidden',
];
$row['class'] = [
'data' => $this
->resolveCallableName($listener),
];
$row['priority'] = [
'data' => $priority,
];
$rows[] = $row;
}
}
$output['#attached']['library'][] = 'system/drupal.system.modules';
$output['filters'] = [
'#type' => 'container',
'#attributes' => [
'class' => [
'table-filter',
'js-show',
],
],
];
$output['filters']['name'] = [
'#type' => 'search',
'#title' => $this
->t('Search'),
'#size' => 30,
'#placeholder' => $this
->t('Enter event name'),
'#attributes' => [
'class' => [
'table-filter-text',
],
'data-table' => '.devel-filter-text',
'autocomplete' => 'off',
'title' => $this
->t('Enter a part of the event name to filter by.'),
],
];
$output['events'] = [
'#type' => 'table',
'#header' => $headers,
'#rows' => $rows,
'#empty' => $this
->t('No events found.'),
'#attributes' => [
'class' => [
'devel-event-list',
'devel-filter-text',
],
],
];
return $output;
}