class TipPluginText
Same name in other branches
- 9 core/modules/tour/src/Plugin/tour/tip/TipPluginText.php \Drupal\tour\Plugin\tour\tip\TipPluginText
- 10 core/modules/tour/src/Plugin/tour/tip/TipPluginText.php \Drupal\tour\Plugin\tour\tip\TipPluginText
- 11.x core/modules/tour/src/Plugin/tour/tip/TipPluginText.php \Drupal\tour\Plugin\tour\tip\TipPluginText
Displays some text as a tip.
Plugin annotation
@Tip(
id = "text",
title = @Translation("Text")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\tour\TipPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\tour\TipPluginInterface
- class \Drupal\tour\Plugin\tour\tip\TipPluginText extends \Drupal\tour\TipPluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface
- class \Drupal\tour\TipPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\tour\TipPluginInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of TipPluginText
1 file declares its use of TipPluginText
- TipPluginTextTest.php in core/
modules/ tour/ tests/ src/ Unit/ Plugin/ tour/ tip/ TipPluginTextTest.php
File
-
core/
modules/ tour/ src/ Plugin/ tour/ tip/ TipPluginText.php, line 19
Namespace
Drupal\tour\Plugin\tour\tipView source
class TipPluginText extends TipPluginBase implements ContainerFactoryPluginInterface {
/**
* The body text which is used for render of this Text Tip.
*
* @var string
*/
protected $body;
/**
* Token service.
*
* @var \Drupal\Core\Utility\Token
*/
protected $token;
/**
* The forced position of where the tip will be located.
*
* @var string
*/
protected $location;
/**
* Unique aria-id.
*
* @var string
*/
protected $ariaId;
/**
* Constructs a \Drupal\tour\Plugin\tour\tip\TipPluginText object.
*
* @param array $configuration
* A configuration array containing information about the plugin instance.
* @param string $plugin_id
* The plugin_id for the plugin instance.
* @param mixed $plugin_definition
* The plugin implementation definition.
* @param \Drupal\Core\Utility\Token $token
* The token service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, Token $token) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->token = $token;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('token'));
}
/**
* Returns a ID that is guaranteed uniqueness.
*
* @return string
* A unique id to be used to generate aria attributes.
*/
public function getAriaId() {
if (!$this->ariaId) {
$this->ariaId = Html::getUniqueId($this->get('id'));
}
return $this->ariaId;
}
/**
* Returns body of the text tip.
*
* @return string
* The tip body.
*/
public function getBody() {
return $this->get('body');
}
/**
* Returns location of the text tip.
*
* @return string
* The tip location.
*/
public function getLocation() {
return $this->get('location');
}
/**
* {@inheritdoc}
*/
public function getAttributes() {
$attributes = parent::getAttributes();
$attributes['data-aria-describedby'] = 'tour-tip-' . $this->getAriaId() . '-contents';
$attributes['data-aria-labelledby'] = 'tour-tip-' . $this->getAriaId() . '-label';
if ($location = $this->get('location')) {
$attributes['data-options'] = 'tipLocation:' . $location;
}
return $attributes;
}
/**
* {@inheritdoc}
*/
public function getOutput() {
$output = '<h2 class="tour-tip-label" id="tour-tip-' . $this->getAriaId() . '-label">' . Html::escape($this->getLabel()) . '</h2>';
$output .= '<p class="tour-tip-body" id="tour-tip-' . $this->getAriaId() . '-contents">' . $this->token
->replace($this->getBody()) . '</p>';
return [
'#markup' => $output,
];
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
TipPluginBase::$attributes | protected | property | The attributes that will be applied to the markup of this tip. | |
TipPluginBase::$label | protected | property | The label which is used for render of this tip. | |
TipPluginBase::$weight | protected | property | Allows tips to take more priority that others. | |
TipPluginBase::get | public | function | Used for returning values by key. | Overrides TipPluginInterface::get |
TipPluginBase::getLabel | public | function | Returns label of the tip. | Overrides TipPluginInterface::getLabel |
TipPluginBase::getWeight | public | function | Returns weight of the tip. | Overrides TipPluginInterface::getWeight |
TipPluginBase::id | public | function | Returns id of the tip. | Overrides TipPluginInterface::id |
TipPluginBase::set | public | function | Used for returning values by key. | Overrides TipPluginInterface::set |
TipPluginText::$ariaId | protected | property | Unique aria-id. | |
TipPluginText::$body | protected | property | The body text which is used for render of this Text Tip. | |
TipPluginText::$location | protected | property | The forced position of where the tip will be located. | |
TipPluginText::$token | protected | property | Token service. | |
TipPluginText::create | public static | function | Creates an instance of the plugin. | Overrides ContainerFactoryPluginInterface::create |
TipPluginText::getAriaId | public | function | Returns a ID that is guaranteed uniqueness. | |
TipPluginText::getAttributes | public | function | Returns an array of attributes for the tip wrapper. | Overrides TipPluginBase::getAttributes |
TipPluginText::getBody | public | function | Returns body of the text tip. | |
TipPluginText::getLocation | public | function | Returns location of the text tip. | |
TipPluginText::getOutput | public | function | Returns a renderable array. | Overrides TipPluginInterface::getOutput |
TipPluginText::__construct | public | function | Constructs a \Drupal\tour\Plugin\tour\tip\TipPluginText object. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.