Version 1
[yaffs-website] / web / themes / contrib / bootstrap / src / Plugin / Prerender / Dropbutton.php
1 <?php
2 /**
3  * @file
4  * Contains \Drupal\bootstrap\Plugin\Prerender\Dropbutton.
5  */
6
7 namespace Drupal\bootstrap\Plugin\Prerender;
8
9 use Drupal\bootstrap\Annotation\BootstrapPrerender;
10 use Drupal\bootstrap\Utility\Element;
11
12 /**
13  * Pre-render callback for the "dropbutton" element type.
14  *
15  * @ingroup plugins_prerender
16  *
17  * @BootstrapPrerender("dropbutton",
18  *   replace = "Drupal\Core\Render\Element\Dropbutton::preRenderDropbutton"
19  * )
20  *
21  * @see \Drupal\Core\Render\Element\Dropbutton::preRenderDropbutton()
22  */
23 class Dropbutton extends PrerenderBase {
24
25   /**
26    * {@inheritdoc}
27    */
28   public static function preRenderElement(Element $element) {
29     $element['#attached']['library'][] = 'bootstrap/dropdown';
30
31     // Enable targeted theming of specific dropbuttons (e.g., 'operations' or
32     // 'operations__node').
33     if ($subtype = $element->getProperty('subtype')) {
34       $element->setProperty('theme', $element->getProperty('theme') . "__$subtype");
35     }
36   }
37
38 }