class GlobalSettingsForm in Layout Builder Component Attributes 1.0.x
Same name and namespace in other branches
- 1.2.x src/Form/GlobalSettingsForm.php \Drupal\layout_builder_component_attributes\Form\GlobalSettingsForm
- 1.1.x src/Form/GlobalSettingsForm.php \Drupal\layout_builder_component_attributes\Form\GlobalSettingsForm
Global settings form.
Hierarchy
- class \Drupal\Core\Form\FormBase implements ContainerInjectionInterface, FormInterface uses DependencySerializationTrait, LoggerChannelTrait, MessengerTrait, RedirectDestinationTrait, StringTranslationTrait
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
- class \Drupal\layout_builder_component_attributes\Form\GlobalSettingsForm
- class \Drupal\Core\Form\ConfigFormBase uses ConfigFormBaseTrait
Expanded class hierarchy of GlobalSettingsForm
1 string reference to 'GlobalSettingsForm'
File
- src/
Form/ GlobalSettingsForm.php, line 11
Namespace
Drupal\layout_builder_component_attributes\FormView source
class GlobalSettingsForm extends ConfigFormBase {
/**
* Config settings.
*
* @var string
*/
const SETTINGS = 'layout_builder_component_attributes.settings';
/**
* {@inheritdoc}
*/
public function getFormId() {
return 'layout_builder_component_attributes_settings';
}
/**
* {@inheritdoc}
*/
protected function getEditableConfigNames() {
return [
static::SETTINGS,
];
}
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config(static::SETTINGS)
->get();
// Convert the true/false values back into a format FAPI expects.
// attribute => attribute (for true).
// attribute => 0 (for false).
foreach ($config as $category => $cat_config) {
foreach ($cat_config as $attribute => $value) {
$config[$category][$attribute] = $value ? $attribute : 0;
}
}
$options = [
'id' => $this
->t('ID'),
'class' => $this
->t('Class(es)'),
'style' => $this
->t('Inline CSS styles'),
'data' => $this
->t('Custom data-* attributes'),
];
$form['intro'] = [
'#markup' => $this
->t('<p>Attributes can be added to 1) the block (outer) element, 2) the block title, and 3) the block content (inner) element. Control which attributes are made available to content editors below:</p>'),
];
$form['allowed_block_attributes'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Allowed block attributes'),
'#options' => $options,
'#default_value' => $config['allowed_block_attributes'],
];
$form['allowed_block_title_attributes'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Allowed block title attributes'),
'#options' => $options,
'#default_value' => $config['allowed_block_title_attributes'],
];
$form['allowed_block_content_attributes'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Allowed block content attributes'),
'#options' => $options,
'#default_value' => $config['allowed_block_content_attributes'],
'#description' => $this
->t('In order for attributes to be rendered on the the block content (inner) element, the active front-end theme must support <code>content_attributes</code> in its block.html.twig file. See README.md for more information.'),
];
return parent::buildForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state) {
$config = $this->configFactory
->getEditable(static::SETTINGS);
$form_values = [
'allowed_block_attributes' => $form_state
->getValue('allowed_block_attributes'),
'allowed_block_title_attributes' => $form_state
->getValue('allowed_block_title_attributes'),
'allowed_block_content_attributes' => $form_state
->getValue('allowed_block_content_attributes'),
];
// Convert the FAPI values into booleans for config storage.
foreach ($form_values as $category => $cat_config) {
foreach ($cat_config as $attribute => $value) {
$form_values[$category][$attribute] = $value ? TRUE : FALSE;
}
}
$config
->set('allowed_block_attributes', $form_values['allowed_block_attributes']);
$config
->set('allowed_block_title_attributes', $form_values['allowed_block_title_attributes']);
$config
->set('allowed_block_content_attributes', $form_values['allowed_block_content_attributes']);
$config
->save();
parent::submitForm($form, $form_state);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigFormBase:: |
public static | function |
Instantiates a new instance of this class. Overrides FormBase:: |
18 |
ConfigFormBase:: |
public | function | Constructs a \Drupal\system\ConfigFormBase object. | 16 |
ConfigFormBaseTrait:: |
protected | function | Retrieves a configuration object. | |
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
FormBase:: |
protected | property | The config factory. | 3 |
FormBase:: |
protected | property | The request stack. | 1 |
FormBase:: |
protected | property | The route match. | |
FormBase:: |
protected | function | Gets the config factory for this form. | 3 |
FormBase:: |
private | function | Returns the service container. | |
FormBase:: |
protected | function | Gets the current user. | |
FormBase:: |
protected | function | Gets the request object. | |
FormBase:: |
protected | function | Gets the route match. | |
FormBase:: |
protected | function | Gets the logger for a specific channel. | |
FormBase:: |
protected | function | Returns a redirect response object for the specified route. | |
FormBase:: |
public | function | Resets the configuration factory. | |
FormBase:: |
public | function | Sets the config factory for this form. | |
FormBase:: |
public | function | Sets the request stack object to use. | |
FormBase:: |
public | function |
Form validation handler. Overrides FormInterface:: |
72 |
GlobalSettingsForm:: |
public | function |
Form constructor. Overrides ConfigFormBase:: |
|
GlobalSettingsForm:: |
protected | function |
Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait:: |
|
GlobalSettingsForm:: |
public | function |
Returns a unique string identifying the form. Overrides FormInterface:: |
|
GlobalSettingsForm:: |
constant | Config settings. | ||
GlobalSettingsForm:: |
public | function |
Form submission handler. Overrides ConfigFormBase:: |
|
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
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. |