Mercurial > hg > cmmr2012-drupal-site
diff core/modules/tour/src/TipPluginBase.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/tour/src/TipPluginBase.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,82 @@ +<?php + +namespace Drupal\tour; + +use Drupal\Core\Plugin\PluginBase; + +/** + * Defines a base tour item implementation. + * + * @see \Drupal\tour\Annotation\Tip + * @see \Drupal\tour\TipPluginInterface + * @see \Drupal\tour\TipPluginManager + * @see plugin_api + */ +abstract class TipPluginBase extends PluginBase implements TipPluginInterface { + + /** + * The label which is used for render of this tip. + * + * @var string + */ + protected $label; + + /** + * Allows tips to take more priority that others. + * + * @var string + */ + protected $weight; + + /** + * The attributes that will be applied to the markup of this tip. + * + * @var array + */ + protected $attributes; + + /** + * {@inheritdoc} + */ + public function id() { + return $this->get('id'); + } + + /** + * {@inheritdoc} + */ + public function getLabel() { + return $this->get('label'); + } + + /** + * {@inheritdoc} + */ + public function getWeight() { + return $this->get('weight'); + } + + /** + * {@inheritdoc} + */ + public function getAttributes() { + return $this->get('attributes') ?: []; + } + + /** + * {@inheritdoc} + */ + public function get($key) { + if (!empty($this->configuration[$key])) { + return $this->configuration[$key]; + } + } + + /** + * {@inheritdoc} + */ + public function set($key, $value) { + $this->configuration[$key] = $value; + } + +}