Version 1
[yaffs-website] / web / core / modules / quickedit / src / EditorSelectorInterface.php
diff --git a/web/core/modules/quickedit/src/EditorSelectorInterface.php b/web/core/modules/quickedit/src/EditorSelectorInterface.php
new file mode 100644 (file)
index 0000000..2aa2a80
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace Drupal\quickedit;
+
+use Drupal\Core\Field\FieldItemListInterface;
+
+/**
+ * Interface for selecting an in-place editor (an Editor plugin) for a field.
+ */
+interface EditorSelectorInterface {
+
+  /**
+   * Returns the in-place editor (an InPlaceEditor plugin) to use for a field.
+   *
+   * @param string $formatter_type
+   *   The field's formatter type name.
+   * @param \Drupal\Core\Field\FieldItemListInterface $items
+   *   The field values to be in-place edited.
+   *
+   * @return string|null
+   *   The editor to use, or NULL to not enable in-place editing.
+   */
+  public function getEditor($formatter_type, FieldItemListInterface $items);
+
+  /**
+   * Returns the attachments for all editors.
+   *
+   * @param array $editor_ids
+   *   A list of all in-place editor IDs that should be attached.
+   *
+   * @return array
+   *   An array of attachments, for use with #attached.
+   *
+   * @see \Drupal\Core\Render\AttachmentsResponseProcessorInterface::processAttachments()
+   */
+  public function getEditorAttachments(array $editor_ids);
+
+}