function BlockForm::submitVisibility

Same name and namespace in other branches
  1. 11.x core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::submitVisibility()
  2. 10 core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::submitVisibility()
  3. 8.9.x core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::submitVisibility()

Helper function to independently submit the visibility UI.

Parameters

array $form: A nested array form elements comprising the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

1 method overrides BlockForm::submitVisibility()
BlockEntitySettingTrayForm::submitVisibility in core/modules/settings_tray/src/Block/BlockEntitySettingTrayForm.php
Helper function to independently submit the visibility UI.

File

core/modules/block/src/BlockForm.php, line 383

Class

BlockForm
Provides form for block instance forms.

Namespace

Drupal\block

Code

protected function submitVisibility(array $form, FormStateInterface $form_state) {
  foreach ($form_state->getValue('visibility') as $condition_id => $values) {
    // Allow the condition to submit the form.
    $condition = $form_state->get([
      'conditions',
      $condition_id,
    ]);
    $condition->submitConfigurationForm($form['visibility'][$condition_id], SubformState::createForSubform($form['visibility'][$condition_id], $form, $form_state));
    $condition_configuration = $condition->getConfiguration();
    // Update the visibility conditions on the block.
    $this->entity
      ->getVisibilityConditions()
      ->addInstanceId($condition_id, $condition_configuration);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.