DirectEditor.php

Contains \Drupal\edit\Plugin\InPlaceEditor\DirectEditor.

Namespace

Drupal\edit\Plugin\InPlaceEditor

File

drupal/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditor/DirectEditor.php
View source
<?php

/**
 * @file
 * Contains \Drupal\edit\Plugin\InPlaceEditor\DirectEditor.
 */
namespace Drupal\edit\Plugin\InPlaceEditor;

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

/**
 * Defines the direct editor.
 *
 * @InPlaceEditor(
 *   id = "direct"
 * )
 */
class DirectEditor extends EditorBase {

  /**
   * Implements \Drupal\edit\EditPluginInterface::isCompatible().
   *
   * @todo The processed text logic is too coupled to text fields. Figure out
   *   how to generalize to other textual field types.
   */
  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'])) {
      return FALSE;
    }
    else {
      return TRUE;
    }
  }

  /**
   * Implements \Drupal\edit\EditPluginInterface::getAttachments().
   */
  public function getAttachments() {
    return array(
      'library' => array(
        array(
          'edit',
          'edit.editorWidget.direct',
        ),
      ),
    );
  }

}

Classes

Namesort descending Description
DirectEditor Defines the direct editor.