Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/ckeditor/src/CKEditorPluginInterface.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
1 <?php | |
2 | |
3 namespace Drupal\ckeditor; | |
4 | |
5 use Drupal\Component\Plugin\PluginInspectionInterface; | |
6 use Drupal\editor\Entity\Editor; | |
7 | |
8 /** | |
9 * Defines an interface for (loading of) CKEditor plugins. | |
10 * | |
11 * This is the most basic CKEditor plugin interface; it provides the bare | |
12 * minimum information. Solely implementing this interface is not sufficient to | |
13 * be able to enable the plugin though — a CKEditor plugin can either be enabled | |
14 * automatically when a button it provides is present in the toolbar, or when | |
15 * some programmatically defined condition is true. In the former case, | |
16 * implement the CKEditorPluginButtonsInterface interface, in the latter case, | |
17 * implement the CKEditorPluginContextualInterface interface. It is also | |
18 * possible to implement both, for advanced use cases. | |
19 * | |
20 * Finally, if your plugin must be configurable, you can also implement the | |
21 * CKEditorPluginConfigurableInterface interface. | |
22 * | |
23 * @see \Drupal\ckeditor\CKEditorPluginButtonsInterface | |
24 * @see \Drupal\ckeditor\CKEditorPluginContextualInterface | |
25 * @see \Drupal\ckeditor\CKEditorPluginConfigurableInterface | |
26 * @see \Drupal\ckeditor\CKEditorPluginCssInterface | |
27 * @see \Drupal\ckeditor\CKEditorPluginBase | |
28 * @see \Drupal\ckeditor\CKEditorPluginManager | |
29 * @see \Drupal\ckeditor\Annotation\CKEditorPlugin | |
30 * @see plugin_api | |
31 */ | |
32 interface CKEditorPluginInterface extends PluginInspectionInterface { | |
33 | |
34 /** | |
35 * Indicates if this plugin is part of the optimized CKEditor build. | |
36 * | |
37 * Plugins marked as internal are implicitly loaded as part of CKEditor. | |
38 * | |
39 * @return bool | |
40 */ | |
41 public function isInternal(); | |
42 | |
43 /** | |
44 * Returns a list of plugins this plugin requires. | |
45 * | |
46 * @param \Drupal\editor\Entity\Editor $editor | |
47 * A configured text editor object. | |
48 * @return array | |
49 * An unindexed array of plugin names this plugin requires. Each plugin is | |
50 * is identified by its annotated ID. | |
51 */ | |
52 public function getDependencies(Editor $editor); | |
53 | |
54 /** | |
55 * Returns a list of libraries this plugin requires. | |
56 * | |
57 * These libraries will be attached to the text_format element on which the | |
58 * editor is being loaded. | |
59 * | |
60 * @param \Drupal\editor\Entity\Editor $editor | |
61 * A configured text editor object. | |
62 * @return array | |
63 * An array of libraries suitable for usage in a render API #attached | |
64 * property. | |
65 */ | |
66 public function getLibraries(Editor $editor); | |
67 | |
68 /** | |
69 * Returns the Drupal root-relative file path to the plugin JavaScript file. | |
70 * | |
71 * Note: this does not use a Drupal library because this uses CKEditor's API, | |
72 * see http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.resourceManager.html#addExternal. | |
73 * | |
74 * @return string|false | |
75 * The Drupal root-relative path to the file, FALSE if an internal plugin. | |
76 */ | |
77 public function getFile(); | |
78 | |
79 /** | |
80 * Returns the additions to CKEDITOR.config for a specific CKEditor instance. | |
81 * | |
82 * The editor's settings can be retrieved via $editor->getSettings(), but be | |
83 * aware that it may not yet contain plugin-specific settings, because the | |
84 * user may not yet have configured the form. | |
85 * If there are plugin-specific settings (verify with isset()), they can be | |
86 * found at | |
87 * @code | |
88 * $settings = $editor->getSettings(); | |
89 * $plugin_specific_settings = $settings['plugins'][$plugin_id]; | |
90 * @endcode | |
91 * | |
92 * @param \Drupal\editor\Entity\Editor $editor | |
93 * A configured text editor object. | |
94 * @return array | |
95 * A keyed array, whose keys will end up as keys under CKEDITOR.config. | |
96 */ | |
97 public function getConfig(Editor $editor); | |
98 | |
99 } |