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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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.