You are here

public function ConfigSplitDeactivateForm::buildForm in Configuration Split 2.0.x

Form constructor.

Parameters

array $form: An associative array containing the structure of the form.

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

Return value

array The form structure.

Overrides FormInterface::buildForm

File

src/Form/ConfigSplitDeactivateForm.php, line 84

Class

ConfigSplitDeactivateForm
The form for de-activating a split.

Namespace

Drupal\config_split\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $split = $this
    ->getSplit();
  $comparer = new StorageComparer($this->manager
    ->singleDeactivate($split, FALSE), $this->activeStorage);
  $options = [
    'route' => [
      'config_split' => $split
        ->getName(),
      'operation' => 'deactivate',
    ],
    'operation label' => $this
      ->t('Import all'),
  ];
  $form = $this
    ->buildFormWithStorageComparer($form, $form_state, $comparer, $options);
  $locallyActivated = $this->statusOverride
    ->getSplitOverride($split
    ->getName()) === TRUE;
  $form['deactivate_local_only'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Deactivate locally only'),
    '#description' => $this
      ->t('If this is set, the split config will not be made inactive by default but instead it will be locally overwritten to be inactive.'),
    '#default_value' => !$locallyActivated,
  ];
  if ($locallyActivated) {
    $form['deactivation_notice'] = [
      '#type' => 'markup',
      '#markup' => $this
        ->t('The local activation state override will be removed'),
    ];
  }
  $entity = $this->manager
    ->getSplitEntity($split
    ->getName());
  $form['export_before'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Export the config before deactivating.'),
    '#description' => $this
      ->t('To manually export and see what is exported check <a href="@export-page">the export page</a>.', [
      '@export-page' => $entity
        ->toUrl('export')
        ->toString(),
    ]),
    '#default_value' => !$locallyActivated,
  ];
  return $form;
}