4 * Contains \Drupal\bootstrap\Plugin\Prerender\Dropbutton.
7 namespace Drupal\bootstrap\Plugin\Prerender;
9 use Drupal\bootstrap\Annotation\BootstrapPrerender;
10 use Drupal\bootstrap\Utility\Element;
13 * Pre-render callback for the "dropbutton" element type.
15 * @ingroup plugins_prerender
17 * @BootstrapPrerender("dropbutton",
18 * replace = "Drupal\Core\Render\Element\Dropbutton::preRenderDropbutton"
21 * @see \Drupal\Core\Render\Element\Dropbutton::preRenderDropbutton()
23 class Dropbutton extends PrerenderBase {
28 public static function preRenderElement(Element $element) {
29 $element['#attached']['library'][] = 'bootstrap/dropdown';
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");