You are here

public function PaymentForm::formElementProcess in Payment 8.2

Implements form API #process callback.

File

modules/payment_form/src/Plugin/Field/FieldWidget/PaymentForm.php, line 87

Class

PaymentForm
A payment configuration widget.

Namespace

Drupal\payment_form\Plugin\Field\FieldWidget

Code

public function formElementProcess(array $element, FormStateInterface $form_state, array $form) {
  $element['array_parents'] = [
    '#value' => $element['#array_parents'],
    '#type' => 'value',
  ];
  $line_items = [];
  foreach ($element['#items'] as $item) {
    if ($item->plugin_id) {
      $line_items[] = $this->paymentLineItemManager
        ->createInstance($item->plugin_id, $item->plugin_configuration);
    }
  }
  $element['line_items'] = [
    '#cardinality' => $this->fieldDefinition
      ->getFieldStorageDefinition()
      ->getCardinality(),
    '#default_value' => $line_items,
    '#type' => 'payment_line_items_input',
  ];
  return $element;
}