public static function PaymentLineItemsInput::deleteSubmit in Payment 8.2
Implements form #submit callback.
File
- src/
Element/ PaymentLineItemsInput.php, line 285
Class
- PaymentLineItemsInput
- Provides a payment line items configuration element.
Namespace
Drupal\payment\ElementCode
public static function deleteSubmit(array &$form, FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
$root_element_parents = array_slice($triggering_element['#array_parents'], 0, -3);
$root_element = NestedArray::getValue($form, $root_element_parents);
$parents = $triggering_element['#array_parents'];
$line_item_name = $parents[count($parents) - 2];
/** @var \Drupal\payment\Plugin\Payment\LineItem\PaymentLineItemInterface[] $line_items */
$line_items = array_values(static::getLineItems($root_element, $form_state));
foreach ($line_items as $i => $line_item) {
if ($line_item
->getName() == $line_item_name) {
unset($line_items[$i]);
}
}
static::setLineItems($root_element, $form_state, $line_items);
$form_state
->setRebuild();
}