public function ConditionCreatorForm::submitForm in Block Visibility Groups 8
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- block_visibility_groups_admin/
src/ Form/ ConditionCreatorForm.php, line 149
Class
- ConditionCreatorForm
- Provides a form to create conditions.
Namespace
Drupal\block_visibility_groups_admin\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$id = $form_state
->getValue('id');
$label = $form_state
->getValue('label');
$route_name = $form_state
->getValue('route_name');
$conditions = $this
->getConditionValues($form_state);
$configs = [];
foreach ($conditions as $plugin_id => $plugin_info) {
/** @var \Drupal\block_visibility_groups_admin\Plugin\ConditionCreatorInterface $plugin */
$plugin = $this->manager
->createInstance($plugin_id, [
'route_name' => $route_name,
]);
if ($plugin
->itemSelected($plugin_info)) {
$configs[] = $plugin
->createConditionConfig($plugin_info);
}
}
$group = $this
->createGroup($id, $label, $configs);
$form_state
->setRedirect('entity.block_visibility_group.edit_form', [
'block_visibility_group' => $group
->id(),
]);
}