public function WebformEditorialController::elements in Webform 8.5
Returns webform elements editorial.
Return value
array A renderable array containing webform elements editorial.
1 string reference to 'WebformEditorialController::elements'
- webform_editorial.routing.yml in modules/
webform_editorial/ webform_editorial.routing.yml - modules/webform_editorial/webform_editorial.routing.yml
File
- modules/
webform_editorial/ src/ Controller/ WebformEditorialController.php, line 280
Class
- WebformEditorialController
- Provides route responses for webform editorial.
Namespace
Drupal\webform_editorial\ControllerCode
public function elements() {
$definitions = $this->elementManager
->getDefinitions();
$definitions = $this->elementManager
->getSortedDefinitions($definitions, 'category');
$grouped_definitions = $this->elementManager
->getGroupedDefinitions($definitions);
unset($grouped_definitions['Other elements']);
$build = [];
$build['title'] = [
'#prefix' => '<h1>',
'#suffix' => '</h1>',
'#markup' => $this
->t('Webform: Elements editorial'),
];
foreach ($grouped_definitions as $category_name => $elements) {
// Header.
$header = [
[
'data' => $this
->t('Name'),
'width' => '25%',
],
[
'data' => $this
->t('Label'),
'width' => '25%',
],
[
'data' => $this
->t('Description'),
'width' => '50%',
],
];
// Rows.
$rows = [];
foreach ($elements as $name => $element) {
$rows[] = [
'data' => [
[
'data' => '<b>' . $name . '</b>',
],
[
'data' => $element['label'],
],
[
'data' => $element['description'],
],
],
];
}
$build[$category_name] = $this
->buildTable($category_name, $header, $rows, 'h2');
}
return $this
->response($build);
}