Contains \Drupal\edit_test\Plugin\InPlaceEditor\WysiwygEditor.
<?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',
),
),
);
}
}
Name | Description |
---|---|
WysiwygEditor | Defines the wysiwyg editor. |