public static function SettingsFormBuilder::layoutForm in UI Patterns Settings 8.2
Same name and namespace in other branches
- 8 src/Form/SettingsFormBuilder.php \Drupal\ui_patterns_settings\Form\SettingsFormBuilder::layoutForm()
Build pattern settings fieldset.
Parameters
array $form: Form array.
\Drupal\ui_patterns\Definition\PatternDefinition $definition: The pattern definition.
array $configuration: The pattern configuration.
1 call to SettingsFormBuilder::layoutForm()
File
- src/
Form/ SettingsFormBuilder.php, line 55
Class
- SettingsFormBuilder
- Build settings in manage display form.
Namespace
Drupal\ui_patterns_settings\FormCode
public static function layoutForm(array &$form, PatternDefinition $definition, array $configuration) {
$settings = UiPatternsSettings::getPatternDefinitionSettings($definition);
self::buildTokenLink($form);
$form['#attached']['library'][] = 'ui_patterns_settings/widget';
if (UiPatternsSettingsManager::allowVariantToken($definition)) {
$variant_token_value = isset($configuration['pattern']['variant_token']) ? $configuration['pattern']['variant_token'] : NULL;
$form['variant_token'] = [
'#type' => 'textfield',
'#title' => 'Variant token',
'#attributes' => [
'class' => [
'js-ui-patterns-settings-show-token-link',
],
],
'#default_value' => $variant_token_value,
];
}
$form['variant']['#attributes']['class'][] = 'ui-patterns-variant-selector-' . $definition
->id();
if (!empty($settings)) {
foreach ($settings as $key => $setting) {
if (empty($setting
->getType()) || !$setting
->isFormVisible()) {
continue;
}
if (!isset($form['settings'])) {
$form['settings'] = [
'#type' => 'fieldset',
'#title' => t('Settings'),
];
}
$setting_value = isset($configuration['pattern']['settings'][$key]) ? $configuration['pattern']['settings'][$key] : NULL;
$token_value = isset($configuration['pattern']['settings'][$key . "_token"]) ? $configuration['pattern']['settings'][$key . "_token"] : "";
$settingType = UiPatternsSettings::createSettingType($definition, $setting);
$form['settings'] += $settingType
->buildConfigurationForm([], $setting_value, $token_value, 'layouts_display');
}
SettingsFormBuilder::buildVariantsForm(".ui-patterns-variant-selector-" . $definition
->id(), $form['settings'], $definition);
}
}