class 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

drupal/core/modules/ckeditor/tests/modules/lib/Drupal/ckeditor_test/Plugin/CKEditorPlugin/LlamaContextualAndButton.php, line 27
Contains \Drupal\ckeditor_test\Plugin\CKEditorPlugin\LlamaContextualAndButton.

Namespace

Drupal\ckeditor_test\Plugin\CKEditorPlugin
View source
class LlamaContextualAndButton extends Llama implements CKEditorPluginContextualInterface, CKEditorPluginButtonsInterface, CKEditorPluginConfigurableInterface {

  /**
   * Implements \Drupal\ckeditor\Plugin\CKEditorPluginContextualInterface::isEnabled().
   */
  function isEnabled(Editor $editor) {

    // Automatically enable this plugin if the Strike button is enabled.
    foreach ($editor->settings['toolbar']['buttons'] as $row) {
      if (in_array('Strike', $row)) {
        return TRUE;
      }
    }
    return FALSE;
  }

  /**
   * Implements \Drupal\ckeditor\Plugin\CKEditorPluginButtonsInterface::getButtons().
   */
  function getButtons() {
    return array(
      'Llama' => array(
        'label' => t('Insert Llama'),
      ),
    );
  }

  /**
   * Implements \Drupal\ckeditor\Plugin\CKEditorPluginInterface::getFile().
   */
  function getFile() {
    return drupal_get_path('module', 'ckeditor_test') . '/js/llama_contextual_and_button.js';
  }

  /**
   * Implements \Drupal\ckeditor\Plugin\CKEditorPluginConfigurableInterface::settingsForm().
   */
  function settingsForm(array $form, array &$form_state, Editor $editor) {

    // Defaults.
    $config = array(
      'ultra_llama_mode' => FALSE,
    );
    if (isset($editor->settings['plugins']['llama_contextual_and_button'])) {
      $config = $editor->settings['plugins']['llama_contextual_and_button'];
    }
    $form['ultra_llama_mode'] = array(
      '#title' => t('Ultra llama mode'),
      '#type' => 'checkbox',
      '#default_value' => $config['ultra_llama_mode'],
    );
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Llama::getConfig public function Implements \Drupal\ckeditor\Plugin\CKEditorPluginInterface::getButtons(). Overrides CKEditorPluginInterface::getConfig
Llama::isInternal function Implements \Drupal\ckeditor\Plugin\CKEditorPluginInterface::isInternal(). Overrides CKEditorPluginInterface::isInternal
LlamaContextualAndButton::getButtons function Implements \Drupal\ckeditor\Plugin\CKEditorPluginButtonsInterface::getButtons(). Overrides CKEditorPluginButtonsInterface::getButtons
LlamaContextualAndButton::getFile function Implements \Drupal\ckeditor\Plugin\CKEditorPluginInterface::getFile(). Overrides Llama::getFile
LlamaContextualAndButton::isEnabled function Implements \Drupal\ckeditor\Plugin\CKEditorPluginContextualInterface::isEnabled(). Overrides CKEditorPluginContextualInterface::isEnabled
LlamaContextualAndButton::settingsForm function Implements \Drupal\ckeditor\Plugin\CKEditorPluginConfigurableInterface::settingsForm(). Overrides CKEditorPluginConfigurableInterface::settingsForm
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition.
PluginBase::$pluginId protected property The plugin_id.
PluginBase::getPluginDefinition public function Returns the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition
PluginBase::getPluginId public function Returns the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::__construct public function Constructs a Drupal\Component\Plugin\PluginBase object. 17