Mercurial > hg > isophonics-drupal-site
view core/modules/contextual/src/Element/ContextualLinksPlaceholder.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
line wrap: on
line source
<?php namespace Drupal\contextual\Element; use Drupal\Core\Template\Attribute; use Drupal\Core\Render\Element\RenderElement; use Drupal\Component\Utility\SafeMarkup; /** * Provides a contextual_links_placeholder element. * * @RenderElement("contextual_links_placeholder") */ class ContextualLinksPlaceholder extends RenderElement { /** * {@inheritdoc} */ public function getInfo() { $class = get_class($this); return [ '#pre_render' => [ [$class, 'preRenderPlaceholder'], ], '#id' => NULL, ]; } /** * Pre-render callback: Renders a contextual links placeholder into #markup. * * Renders an empty (hence invisible) placeholder div with a data-attribute * that contains an identifier ("contextual id"), which allows the JavaScript * of the drupal.contextual-links library to dynamically render contextual * links. * * @param array $element * A structured array with #id containing a "contextual id". * * @return array * The passed-in element with a contextual link placeholder in '#markup'. * * @see _contextual_links_to_id() */ public static function preRenderPlaceholder(array $element) { $element['#markup'] = SafeMarkup::format('<div@attributes></div>', ['@attributes' => new Attribute(['data-contextual-id' => $element['#id']])]); return $element; } }