You are here

public static function DateRecurBasicFormatter::validateSettingsCountPerItem in Recurring Dates Field 3.x

Same name and namespace in other branches
  1. 8.2 src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::validateSettingsCountPerItem()
  2. 3.0.x src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::validateSettingsCountPerItem()
  3. 3.1.x src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php \Drupal\date_recur\Plugin\Field\FieldFormatter\DateRecurBasicFormatter::validateSettingsCountPerItem()

Validation callback for count_per_item.

Parameters

array $element: The element being processed.

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

array $complete_form: The complete form structure.

File

src/Plugin/Field/FieldFormatter/DateRecurBasicFormatter.php, line 236

Class

DateRecurBasicFormatter
Basic recurring date formatter.

Namespace

Drupal\date_recur\Plugin\Field\FieldFormatter

Code

public static function validateSettingsCountPerItem(array &$element, FormStateInterface $form_state, array &$complete_form) : void {
  $countPerItem = $element['#value'] == static::COUNT_PER_ITEM_ITEM;
  $arrayParents = array_slice($element['#array_parents'], 0, -2);
  $formatterForm = NestedArray::getValue($complete_form, $arrayParents);
  $parents = $formatterForm['#parents'];
  $parents[] = 'count_per_item';
  $form_state
    ->setValue($parents, $countPerItem);
}