Version 1
[yaffs-website] / web / core / modules / ckeditor / src / CKEditorPluginConfigurableInterface.php
1 <?php
2
3 namespace Drupal\ckeditor;
4
5 use Drupal\Core\Form\FormStateInterface;
6 use Drupal\editor\Entity\Editor;
7
8 /**
9  * Defines an interface for configurable CKEditor plugins.
10  *
11  * This allows a CKEditor plugin to define a settings form. These settings can
12  * then be automatically passed on to the corresponding CKEditor instance via
13  * CKEditorPluginInterface::getConfig().
14  *
15  * @see \Drupal\ckeditor\CKEditorPluginInterface
16  * @see \Drupal\ckeditor\CKEditorPluginButtonsInterface
17  * @see \Drupal\ckeditor\CKEditorPluginContextualInterface
18  * @see \Drupal\ckeditor\CKEditorPluginCssInterface
19  * @see \Drupal\ckeditor\CKEditorPluginBase
20  * @see \Drupal\ckeditor\CKEditorPluginManager
21  * @see \Drupal\ckeditor\Annotation\CKEditorPlugin
22  * @see plugin_api
23  */
24 interface CKEditorPluginConfigurableInterface extends CKEditorPluginInterface {
25
26   /**
27    * Returns a settings form to configure this CKEditor plugin.
28    *
29    * If the plugin's behavior depends on extensive options and/or external data,
30    * then the implementing module can choose to provide a separate, global
31    * configuration page rather than per-text-editor settings. In that case, this
32    * form should provide a link to the separate settings page.
33    *
34    * @param array $form
35    *   An empty form array to be populated with a configuration form, if any.
36    * @param \Drupal\Core\Form\FormStateInterface $form_state
37    *   The state of the entire filter administration form.
38    * @param \Drupal\editor\Entity\Editor $editor
39    *   A configured text editor object.
40    *
41    * @return array
42    *   A render array for the settings form.
43    */
44   public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor);
45
46 }