Mercurial > hg > isophonics-drupal-site
diff core/modules/tour/src/TipPluginBase.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +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 Wed Nov 29 16:09:58 2017 +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; + } + +}