class ExampleWebformVariant in Webform 6.x
Same name and namespace in other branches
- 8.5 modules/webform_example_variant/src/Plugin/WebformVariant/ExampleWebformVariant.php \Drupal\webform_example_variant\Plugin\WebformVariant\ExampleWebformVariant
Webform example variant.
Plugin annotation
@WebformVariant(
id = "example",
label = @Translation("Example"),
category = @Translation("Example"),
description = @Translation("Example of a webform variant."),
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\webform\Plugin\WebformVariantBase implements WebformVariantInterface uses WebformEntityInjectionTrait, WebformPluginSettingsTrait
- class \Drupal\webform_example_variant\Plugin\WebformVariant\ExampleWebformVariant
- class \Drupal\webform\Plugin\WebformVariantBase implements WebformVariantInterface uses WebformEntityInjectionTrait, WebformPluginSettingsTrait
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of ExampleWebformVariant
File
- modules/
webform_example_variant/ src/ Plugin/ WebformVariant/ ExampleWebformVariant.php, line 19
Namespace
Drupal\webform_example_variant\Plugin\WebformVariantView source
class ExampleWebformVariant extends WebformVariantBase {
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [
'debug' => FALSE,
'description__markup' => '',
'notes__type' => 'textfield',
];
}
/**
* {@inheritdoc}
*/
public function isApplicable(WebformInterface $webform) {
// Only allow variant to be applicable to webform_example_variant_ webforms.
return strpos($webform
->id(), 'webform_example_variant_') === 0;
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form['example'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Example settings'),
];
$form['example']['description__markup'] = [
'#type' => 'webform_html_editor',
'#title' => $this
->t('Description'),
'#parents' => [
'settings',
'description__markup',
],
'#default_value' => $this->configuration['description__markup'],
];
$form['example']['notes__type'] = [
'#type' => 'select',
'#title' => $this
->t('Notes element type'),
'#options' => [
'textarea' => $this
->t('Text area'),
'textfield' => $this
->t('Text field'),
],
'#empty_value' => '',
'#default_value' => $this->configuration['notes__type'],
'#parents' => [
'settings',
'notes__type',
],
];
// Development.
$form['development'] = [
'#type' => 'details',
'#title' => $this
->t('Development settings'),
];
$form['development']['debug'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Enable debugging'),
'#description' => $this
->t('If checked, variant information will be displayed onscreen to all users.'),
'#return_value' => TRUE,
'#default_value' => $this->configuration['debug'],
'#parents' => [
'settings',
'debug',
],
];
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$this->configuration = $form_state
->getValues();
$this->configuration['debug'] = (bool) $this->configuration['debug'];
}
/**
* {@inheritdoc}
*/
public function applyVariant() {
$webform = $this
->getWebform();
if (!$this
->isApplicable($webform)) {
return FALSE;
}
// Set description markup.
$description_markup = $this->configuration['description__markup'];
$description_element = $webform
->getElementDecoded('description');
if ($description_element && $description_markup) {
$description_element['#markup'] = $description_markup;
$webform
->setElementProperties('description', $description_element);
}
// Set notes type.
$notes_type = $this->configuration['notes__type'];
$notes_element = $webform
->getElementDecoded('notes');
if ($notes_element && $notes_type) {
$notes_element['#type'] = $notes_type;
$webform
->setElementProperties('notes', $notes_element);
}
return TRUE;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
ExampleWebformVariant:: |
public | function |
Apply variant to the webform. Overrides WebformVariantBase:: |
|
ExampleWebformVariant:: |
public | function |
Form constructor. Overrides WebformVariantBase:: |
|
ExampleWebformVariant:: |
public | function |
Gets default configuration for this plugin. Overrides WebformVariantBase:: |
|
ExampleWebformVariant:: |
public | function |
Determine if this variant is applicable to the webform. Overrides WebformVariantBase:: |
|
ExampleWebformVariant:: |
public | function |
Form submission handler. Overrides WebformVariantBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
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:: |
2 |
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. | 98 |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
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. | |
WebformEntityInjectionTrait:: |
protected | property | The webform. | 1 |
WebformEntityInjectionTrait:: |
protected | property | The webform submission. | 1 |
WebformEntityInjectionTrait:: |
public | function | Get the webform that this handler is attached to. | |
WebformEntityInjectionTrait:: |
public | function | Set webform and webform submission entity. | |
WebformEntityInjectionTrait:: |
public | function | Reset webform and webform submission entity. | |
WebformEntityInjectionTrait:: |
public | function | ||
WebformEntityInjectionTrait:: |
public | function | Set the webform that this is handler is attached to. | |
WebformEntityInjectionTrait:: |
public | function | Get the webform submission that this handler is handling. | |
WebformPluginSettingsTrait:: |
public | function | ||
WebformPluginSettingsTrait:: |
public | function | ||
WebformPluginSettingsTrait:: |
public | function | ||
WebformPluginSettingsTrait:: |
public | function | ||
WebformVariantBase:: |
protected | property | The configuration factory. | |
WebformVariantBase:: |
protected | property | The element key of the webform variant. | |
WebformVariantBase:: |
protected | property | The webform variant label. | |
WebformVariantBase:: |
protected | property | The webform variant notes. | |
WebformVariantBase:: |
protected | property | The webform variant status. | |
WebformVariantBase:: |
protected | property | The webform variant ID. | |
WebformVariantBase:: |
protected | property | The weight of the webform variant. | |
WebformVariantBase:: |
public | function | ||
WebformVariantBase:: |
public static | function |
IMPORTANT:
Webform handlers are initialized and serialized when they are attached to a
webform. Make sure not include any services as a dependency injection
that directly connect to the database. This will prevent
"LogicException: The database… Overrides ContainerFactoryPluginInterface:: |
1 |
WebformVariantBase:: |
public | function |
Returns the webform variant description. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Disables the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Enables the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the element key of the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the label of the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the webform variant machine name replacement character. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the webform variant machine name replacement pattern. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns notes of the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Get configuration form's off-canvas width. Overrides WebformVariantInterface:: |
1 |
WebformVariantBase:: |
public | function |
Returns the status of the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns a render array summarizing the configuration of the webform variant. Overrides WebformVariantInterface:: |
1 |
WebformVariantBase:: |
public | function |
Returns the unique ID representing the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the weight of the webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the webform variant disabled indicator. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the webform variant enabled indicator. Overrides WebformVariantInterface:: |
1 |
WebformVariantBase:: |
public | function |
Checks if the variant is excluded via webform.settings. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Returns the webform variant label. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the element key of this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the label for this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Set notes for this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the status for this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the id for this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Sets the weight for this webform variant. Overrides WebformVariantInterface:: |
|
WebformVariantBase:: |
public | function |
Form validation handler. Overrides PluginFormInterface:: |
1 |