public function PatternSettingTypeBase::buildConfigurationForm in UI Patterns Settings 8.2
Same name and namespace in other branches
- 8 src/Plugin/PatternSettingTypeBase.php \Drupal\ui_patterns_settings\Plugin\PatternSettingTypeBase::buildConfigurationForm()
Creates a generic configuration form for all settings types. Individual settings plugins can add elements to this form by overriding PatternSettingTypeBaseInterface::settingsForm(). Most plugins should not override this method unless they need to alter the generic form elements.
Overrides PatternSettingTypeInterface::buildConfigurationForm
See also
\Drupal\Core\Block\BlockBase::blockForm()
File
- src/
Plugin/ PatternSettingTypeBase.php, line 326
Class
- PatternSettingTypeBase
- Base class for UI Patterns Setting plugins.
Namespace
Drupal\ui_patterns_settings\PluginCode
public function buildConfigurationForm(array $form, $value, $token_value, $form_type) {
$dependencies = $this
->getSettingTypeDependencies();
$def = $this
->getPatternSettingDefinition();
foreach ($dependencies as $dependency) {
if (!$this->moduleHandler
->moduleExists($dependency)) {
$form[$def
->getName()] = [
'#markup' => "Missing SettingType {$def->getName()} dependency {$dependency}.",
];
return $form;
}
}
$form = $this
->settingsForm($form, $value, $def, $form_type);
$form[$def
->getName()]['#pattern_setting_definition'] = $def;
$form[$def
->getName()]['#pattern_definition'] = $this->patternDefinition;
if (!empty($def
->getWeight())) {
$form[$def
->getName()]['#weight'] = $def
->getWeight();
}
if ($def
->getAllowToken()) {
$form = $this
->tokenForm($form, $token_value, $def);
if (isset($form[$def
->getName() . '_token'])) {
$classes = 'js-ui-patterns-settings__wrapper';
if (!empty($token_value)) {
$classes .= ' js-ui-patterns-settings--token-has-value';
}
$form[$def
->getName()]['#prefix'] = '<div class="' . $classes . '">';
$form[$def
->getName() . '_token']['#suffix'] = '</div>';
$form[$def
->getName() . '_token']['#pattern_setting_definition'] = $def;
$form[$def
->getName() . '_token']['#pattern_definition'] = $this->patternDefinition;
}
}
return $form;
}