class LlamaContextualAndButton
Same name and namespace in other branches
- 8.9.x core/modules/ckeditor/tests/modules/src/Plugin/CKEditorPlugin/LlamaContextualAndButton.php \Drupal\ckeditor_test\Plugin\CKEditorPlugin\LlamaContextualAndButton
Defines a "LlamaContextualAndButton" plugin, with a "llama" feature.
Plugin annotation
@CKEditorPlugin(
id = "llama_contextual_and_button",
label = @Translation("Contextual Llama With Button")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\ckeditor_test\Plugin\CKEditorPlugin\Llama implements \Drupal\ckeditor\CKEditorPluginInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface uses \Drupal\Core\StringTranslation\StringTranslationTrait extends \Drupal\Component\Plugin\PluginBase
- class \Drupal\ckeditor_test\Plugin\CKEditorPlugin\LlamaContextualAndButton implements \Drupal\ckeditor\CKEditorPluginContextualInterface, \Drupal\ckeditor\CKEditorPluginButtonsInterface, \Drupal\ckeditor\CKEditorPluginConfigurableInterface extends \Drupal\ckeditor_test\Plugin\CKEditorPlugin\Llama
- class \Drupal\ckeditor_test\Plugin\CKEditorPlugin\Llama implements \Drupal\ckeditor\CKEditorPluginInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface uses \Drupal\Core\StringTranslation\StringTranslationTrait extends \Drupal\Component\Plugin\PluginBase
Expanded class hierarchy of LlamaContextualAndButton
File
-
core/
modules/ ckeditor/ tests/ modules/ src/ Plugin/ CKEditorPlugin/ LlamaContextualAndButton.php, line 19
Namespace
Drupal\ckeditor_test\Plugin\CKEditorPluginView 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' => $this->t('Insert Llama'),
],
];
}
/**
* {@inheritdoc}
*/
public function getFile() {
return $this->moduleList
->getPath('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' => $this->t('Ultra llama mode'),
'#type' => 'checkbox',
'#default_value' => $config['ultra_llama_mode'],
];
return $form;
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.