public static ToolbarItem::preRenderToolbarItem($element)
Provides markup for associating a tray trigger with a tray element.
A tray is a responsive container that wraps renderable content. Trays present content well on small and large screens alike.
Parameters
array $element: A renderable array.
Return value
array A renderable array.
File
- core/modules/toolbar/src/Element/ToolbarItem.php, line 46
Class
- ToolbarItem
- Provides a toolbar item that is wrapped in markup for common styling.
Namespace
Drupal\toolbar\Element
Code
public static function preRenderToolbarItem($element) { $id = $element['#id']; // Provide attributes for a toolbar item. $attributes = array( 'id' => $id, ); // If tray content is present, markup the tray and its associated trigger. if (!empty($element['tray'])) { // Provide attributes necessary for trays. $attributes += array( 'data-toolbar-tray' => $id . '-tray', 'aria-owns' => $id . '-tray', 'role' => 'button', 'aria-pressed' => 'false', ); // Merge in module-provided attributes. $element['tab'] += array('#attributes' => array()); $element['tab']['#attributes'] += $attributes; $element['tab']['#attributes']['class'][] = 'trigger'; // Provide attributes for the tray theme wrapper. $attributes = array( 'id' => $id . '-tray', 'data-toolbar-tray' => $id . '-tray', ); // Merge in module-provided attributes. if (!isset($element['tray']['#wrapper_attributes'])) { $element['tray']['#wrapper_attributes'] = array(); } $element['tray']['#wrapper_attributes'] += $attributes; $element['tray']['#wrapper_attributes']['class'][] = 'toolbar-tray'; } $element['tab']['#attributes']['class'][] = 'toolbar-item'; return $element; }
Please login to continue.