WysiwygEditor.php

Contains \Drupal\edit_test\Plugin\InPlaceEditor\WysiwygEditor.

Namespace

Drupal\edit_test\Plugin\InPlaceEditor

File

drupal/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/InPlaceEditor/WysiwygEditor.php
View source
<?php

/**
 * @file
 * Contains \Drupal\edit_test\Plugin\InPlaceEditor\WysiwygEditor.
 */
namespace Drupal\edit_test\Plugin\InPlaceEditor;

use Drupal\edit\EditorBase;
use Drupal\edit\Annotation\InPlaceEditor;
use Drupal\field\Plugin\Core\Entity\FieldInstance;

/**
 * Defines the wysiwyg editor.
 *
 * @InPlaceEditor(
 *   id = "wysiwyg",
 *   alternativeTo = {"direct"}
 * )
 */
class WysiwygEditor extends EditorBase {

  /**
   * Implements \Drupal\edit\EditPluginInterface::isCompatible().
   */
  function isCompatible(FieldInstance $instance, array $items) {
    $field = field_info_field($instance['field_name']);

    // This editor is incompatible with multivalued fields.
    if ($field['cardinality'] != 1) {
      return FALSE;
    }
    elseif (!empty($instance['settings']['text_processing'])) {
      $format_id = $items[0]['format'];
      if (isset($format_id) && $format_id === 'full_html') {
        return TRUE;
      }
      return FALSE;
    }
  }

  /**
   * Implements \Drupal\edit\EditPluginInterface::getMetadata().
   */
  function getMetadata(FieldInstance $instance, array $items) {
    $format_id = $items[0]['format'];
    $metadata['format'] = $format_id;
    return $metadata;
  }

  /**
   * Implements \Drupal\edit\EditPluginInterface::getAttachments().
   */
  public function getAttachments() {
    return array(
      'library' => array(
        array(
          'edit_test',
          'not-existing-wysiwyg',
        ),
      ),
    );
  }

}

Classes

Namesort descending Description
WysiwygEditor Defines the wysiwyg editor.