function Editor::isCompatible

Implements \Drupal\edit\Plugin\EditPluginInterface::isCompatible().

Overrides EditPluginInterface::isCompatible

File

drupal/core/modules/editor/lib/Drupal/editor/Plugin/InPlaceEditor/Editor.php, line 29
Contains \Drupal\editor\Plugin\InPlaceEditor\Editor.

Class

Editor
Defines the formatted text editor.

Namespace

Drupal\editor\Plugin\InPlaceEditor

Code

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) && ($editor = editor_load($format_id))) {
      $definition = drupal_container()
        ->get('plugin.manager.editor')
        ->getDefinition($editor->editor);
      if ($definition['supports_inline_editing'] === TRUE) {
        return TRUE;
      }
    }
    return FALSE;
  }
}