Version 1
[yaffs-website] / web / core / modules / editor / src / Plugin / EditorBase.php
diff --git a/web/core/modules/editor/src/Plugin/EditorBase.php b/web/core/modules/editor/src/Plugin/EditorBase.php
new file mode 100644 (file)
index 0000000..11cf01b
--- /dev/null
@@ -0,0 +1,81 @@
+<?php
+
+namespace Drupal\editor\Plugin;
+
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Plugin\PluginBase;
+use Drupal\editor\Entity\Editor;
+
+/**
+ * Defines a base class from which other modules providing editors may extend.
+ *
+ * This class provides default implementations of the EditorPluginInterface so
+ * that classes extending this one do not need to implement every method.
+ *
+ * Plugins extending this class need to specify an annotation containing the
+ * plugin definition so the plugin can be discovered.
+ *
+ * @see \Drupal\editor\Annotation\Editor
+ * @see \Drupal\editor\Plugin\EditorPluginInterface
+ * @see \Drupal\editor\Plugin\EditorManager
+ * @see plugin_api
+ */
+abstract class EditorBase extends PluginBase implements EditorPluginInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultSettings() {
+    return [];
+  }
+
+  /**
+   * {@inheritdoc}
+   *
+   * @todo Remove in Drupal 9.0.0.
+   */
+  public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor) {
+    @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 8.3.x and will be removed in 9.0.0.', E_USER_DEPRECATED);
+    return $form;
+  }
+
+  /**
+   * {@inheritdoc}
+   *
+   * @todo Remove in Drupal 9.0.0.
+   */
+  public function settingsFormValidate(array $form, FormStateInterface $form_state) {
+    @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 8.3.x and will be removed in 9.0.0.', E_USER_DEPRECATED);
+  }
+
+  /**
+   * {@inheritdoc}
+   *
+   * @todo Remove in Drupal 9.0.0.
+   */
+  public function settingsFormSubmit(array $form, FormStateInterface $form_state) {
+    @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 8.3.x and will be removed in 9.0.0.', E_USER_DEPRECATED);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
+    return $this->settingsForm($form, $form_state, $form_state->get('editor'));
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function validateConfigurationForm(array &$form, FormStateInterface $form_state) {
+    return $this->settingsFormValidate($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
+    return $this->settingsFormSubmit($form, $form_state);
+  }
+
+}