class LlamaContextualAndButton

Same name and namespace in other branches
  1. 9 core/modules/ckeditor/tests/modules/src/Plugin/CKEditorPlugin/LlamaContextualAndButton.php \Drupal\ckeditor_test\Plugin\CKEditorPlugin\LlamaContextualAndButton

Defines a "LlamaContextualAndButton" plugin, with a contextually OR toolbar builder-enabled "llama" feature.

Plugin annotation


@CKEditorPlugin(
  id = "llama_contextual_and_button",
  label = @Translation("Contextual Llama With Button")
)

Hierarchy

Expanded class hierarchy of LlamaContextualAndButton

File

core/modules/ckeditor/tests/modules/src/Plugin/CKEditorPlugin/LlamaContextualAndButton.php, line 20

Namespace

Drupal\ckeditor_test\Plugin\CKEditorPlugin
View source
class LlamaContextualAndButton extends Llama implements CKEditorPluginContextualInterface, CKEditorPluginButtonsInterface, CKEditorPluginConfigurableInterface {
    
    /**
     * {@inheritdoc}
     */
    public function isEnabled(Editor $editor) {
        // Automatically enable this plugin if the Strike button is enabled.
        $settings = $editor->getSettings();
        foreach ($settings['toolbar']['rows'] as $row) {
            foreach ($row as $group) {
                if (in_array('Strike', $group['items'])) {
                    return TRUE;
                }
            }
        }
        return FALSE;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getButtons() {
        return [
            'Llama' => [
                'label' => t('Insert Llama'),
            ],
        ];
    }
    
    /**
     * {@inheritdoc}
     */
    public function getFile() {
        return drupal_get_path('module', 'ckeditor_test') . '/js/llama_contextual_and_button.js';
    }
    
    /**
     * {@inheritdoc}
     */
    public function settingsForm(array $form, FormStateInterface $form_state, Editor $editor) {
        // Defaults.
        $config = [
            'ultra_llama_mode' => FALSE,
        ];
        $settings = $editor->getSettings();
        if (isset($settings['plugins']['llama_contextual_and_button'])) {
            $config = $settings['plugins']['llama_contextual_and_button'];
        }
        $form['ultra_llama_mode'] = [
            '#title' => t('Ultra llama mode'),
            '#type' => 'checkbox',
            '#default_value' => $config['ultra_llama_mode'],
        ];
        return $form;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Llama::getConfig public function Returns the additions to CKEDITOR.config for a specific CKEditor instance. Overrides CKEditorPluginInterface::getConfig
Llama::getDependencies public function Returns a list of plugins this plugin requires. Overrides CKEditorPluginInterface::getDependencies
Llama::getLibraries public function Returns a list of libraries this plugin requires. Overrides CKEditorPluginInterface::getLibraries
Llama::isInternal public function Indicates if this plugin is part of the optimized CKEditor build. Overrides CKEditorPluginInterface::isInternal
LlamaContextualAndButton::getButtons public function Returns the buttons that this plugin provides, along with metadata. Overrides CKEditorPluginButtonsInterface::getButtons
LlamaContextualAndButton::getFile public function Returns the Drupal root-relative file path to the plugin JavaScript file. Overrides Llama::getFile
LlamaContextualAndButton::isEnabled public function Checks if this plugin should be enabled based on the editor configuration. Overrides CKEditorPluginContextualInterface::isEnabled
LlamaContextualAndButton::settingsForm public function Returns a settings form to configure this CKEditor plugin. Overrides CKEditorPluginConfigurableInterface::settingsForm
PluginBase::$configuration protected property Configuration information passed into the plugin.
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 6

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.