You are here

public function ProductAttributeForm::removeValueSubmit in Commerce Core 8.2

Submit callback for removing a value.

File

modules/product/src/Form/ProductAttributeForm.php, line 350

Class

ProductAttributeForm

Namespace

Drupal\commerce_product\Form

Code

public function removeValueSubmit(array $form, FormStateInterface $form_state) {
  $value_index = $form_state
    ->getTriggeringElement()['#value_index'];
  $value_map = (array) $form_state
    ->get('value_map');
  $value_id = $value_map[$value_index];
  unset($value_map[$value_index]);
  $form_state
    ->set('value_map', $value_map);

  // Non-new values also need to be deleted from storage.
  if ($value_id != '_new') {
    $delete_queue = (array) $form_state
      ->get('delete_queue');
    $delete_queue[] = $value_id;
    $form_state
      ->set('delete_queue', $delete_queue);
  }
  $form_state
    ->setRebuild();
}