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;
+  }
+
+}