class XPreview in BUEditor 8
Same name and namespace in other branches
- 8.2 src/Plugin/BUEditorPlugin/XPreview.php \Drupal\bueditor\Plugin\BUEditorPlugin\XPreview
Defines BUEditor Ajax Preview plugin.
Plugin annotation
@BUEditorPlugin(
id = "xpreview",
label = "Ajax Preview"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\bueditor\BUEditorPluginBase implements BUEditorPluginInterface
- class \Drupal\bueditor\Plugin\BUEditorPlugin\XPreview
- class \Drupal\bueditor\BUEditorPluginBase implements BUEditorPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of XPreview
File
- src/
Plugin/ BUEditorPlugin/ XPreview.php, line 20
Namespace
Drupal\bueditor\Plugin\BUEditorPluginView source
class XPreview extends BUEditorPluginBase {
/**
* {@inheritdoc}
*/
public function getButtons() {
return [
'xpreview' => $this
->t('Preview'),
];
}
/**
* {@inheritdoc}
*/
public function alterEditorJS(array &$js, BUEditorEditor $bueditor_editor, Editor $editor = NULL) {
$toolbar = BUEditorToolbarWrapper::set($js['settings']['toolbar']);
// Check ajax preview button.
if ($toolbar
->has('xpreview')) {
// Check access and add the library
if (\Drupal::currentUser()
->hasPermission('access ajax preview')) {
$js['libraries'][] = 'bueditor/drupal.bueditor.xpreview';
}
else {
$toolbar
->remove('xpreview');
}
}
}
/**
* {@inheritdoc}
*/
public function alterToolbarWidget(array &$widget) {
// Make xpreview definition available to toolbar widget
$widget['libraries'][] = 'bueditor/drupal.bueditor.xpreview';
// Add a tooltip
$widget['items']['xpreview']['tooltip'] = $this
->t('Requires ajax preview permission.');
}
/**
* {@inheritdoc}
*/
public function validateEditorForm(array &$form, FormStateInterface $form_state, BUEditorEditor $bueditor_editor) {
// Warn about XPreview permission if it is newly activated.
if (!$form_state
->getErrors()) {
if ($bueditor_editor
->hasToolbarItem('xpreview')) {
$ori = $bueditor_editor
->isNew() ? NULL : $bueditor_editor
->load($bueditor_editor
->id());
if (!$ori || !$ori
->hasToolbarItem('xpreview')) {
$msg = $this
->t('Ajax preview button has been enabled. Please check <a href="@url">the required permissions</a>.', [
'@url' => Url::fromRoute('user.admin_permissions')
->toString(),
]);
$this
->messenger()
->addMessage($msg);
}
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BUEditorPluginBase:: |
public | function |
Alters entity form of a BUEditor Editor. Overrides BUEditorPluginInterface:: |
|
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
XPreview:: |
public | function |
Alters JS data of a BUEditor Editor. Overrides BUEditorPluginBase:: |
|
XPreview:: |
public | function |
Alters the toolbar widget used in BUEditor Editor form. Overrides BUEditorPluginBase:: |
|
XPreview:: |
public | function |
Returns plugin buttons. Overrides BUEditorPluginBase:: |
|
XPreview:: |
public | function |
Validates entity form of a BUEditor Editor. Overrides BUEditorPluginBase:: |