function ui_patterns_settings_form_field_storage_config_edit_form_alter in UI Patterns Settings 8.2
Implements hook_form_field_storage_config_edit_form_alter().
File
- ./
ui_patterns_settings.module, line 28 - Contains ui_patterns_settings.module.
Code
function ui_patterns_settings_form_field_storage_config_edit_form_alter(&$form, FormStateInterface $form_state) {
/** @var \Drupal\field\Entity\FieldStorageConfig $entity */
$entity = $form_state
->getFormObject()
->getEntity();
array_unshift($form['actions']['submit']['#submit'], 'ui_patterns_settings_form_field_storage_config_edit_form_submit');
$definitions = UiPatterns::getPatternDefinitions();
$settings_options = [];
foreach ($definitions as $definition) {
$infos = UiPatternsSettings::getExposedPatternDefinition($definition, $entity
->getType());
foreach ($infos as $key => $info) {
$settings_options[$key] = $info['label'];
}
}
if (count($settings_options) > 0) {
$mapping = UiPatternsSettings::getConfigManager()
->getMapping($entity
->id());
$form['settings']['use_pattern'] = [
'#type' => 'checkbox',
'#title' => t('Expose pattern setting'),
'#default_value' => $mapping !== NULL,
'#description' => '',
];
$form['settings']['pattern_setting'] = [
'#type' => 'select',
'#options' => $settings_options,
'#title' => 'Pattern Setting',
'#states' => [
'invisible' => [
':input[name="settings[use_pattern]"]' => [
'checked' => FALSE,
],
],
],
'#default_value' => $mapping,
];
}
}