public static function PaymentLineItemsInput::addMoreSubmit in Payment 8.2
Implements form #submit callback.
File
- src/
Element/ PaymentLineItemsInput.php, line 258
Class
- PaymentLineItemsInput
- Provides a payment line items configuration element.
Namespace
Drupal\payment\ElementCode
public static function addMoreSubmit(array &$form, FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
$parents = array_slice($triggering_element['#array_parents'], 0, -2);
$root_element = NestedArray::getValue($form, $parents);
$values = $form_state
->getValues();
$values = NestedArray::getValue($values, array_slice($triggering_element['#parents'], 0, -2));
$line_item = \Drupal::service('plugin.manager.payment.line_item')
->createInstance($values['add_more']['type']);
$line_item
->setName(static::createLineItemName($root_element, $form_state, $values['add_more']['type']));
$line_items = static::getLineItems($root_element, $form_state);
$line_items[] = $line_item;
static::setLineItems($root_element, $form_state, $line_items);
$form_state
->setRebuild();
}