Newer
Older
Angie Byron
committed
<?php
/**
* @file
* Contains \Drupal\editor_test\Plugin\Editor\UnicornEditor.
Angie Byron
committed
*/
namespace Drupal\editor_test\Plugin\Editor;
Angie Byron
committed
Dries Buytaert
committed
use Drupal\Core\Form\FormStateInterface;
Angie Byron
committed
use Drupal\editor\Plugin\EditorBase;
use Drupal\editor\Entity\Editor as EditorEntity;
Angie Byron
committed
/**
* Defines a Unicorn-powered text editor for Drupal (for testing purposes).
Angie Byron
committed
*
* @Editor(
Angie Byron
committed
* id = "unicorn",
* label = @Translation("Unicorn Editor"),
* supports_content_filtering = TRUE,
* supports_inline_editing = TRUE,
* is_xss_safe = FALSE
Angie Byron
committed
* )
*/
class UnicornEditor extends EditorBase {
/**
Angie Byron
committed
* {@inheritdoc}
Angie Byron
committed
*/
function getDefaultSettings() {
return array('ponies too' => TRUE);
}
/**
Angie Byron
committed
* {@inheritdoc}
Angie Byron
committed
*/
Dries Buytaert
committed
function settingsForm(array $form, FormStateInterface $form_state, EditorEntity $editor) {
Angie Byron
committed
$form['foo'] = array(
'#title' => t('Foo'),
'#type' => 'textfield',
'#default_value' => 'bar',
);
Angie Byron
committed
return $form;
}
/**
Angie Byron
committed
* {@inheritdoc}
Angie Byron
committed
*/
function getJSSettings(EditorEntity $editor) {
Angie Byron
committed
$js_settings = array();
$settings = $editor->getSettings();
if ($settings['ponies too']) {
$js_settings['ponyModeEnabled'] = TRUE;
Angie Byron
committed
}
Angie Byron
committed
return $js_settings;
Angie Byron
committed
}
/**
Angie Byron
committed
* {@inheritdoc}
Angie Byron
committed
*/
public function getLibraries(EditorEntity $editor) {
Angie Byron
committed
return array(
'edit_test/unicorn',