Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 23
0.00% covered (danger)
0.00%
0 / 161
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
IslandConfigurationFormTrait
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 23
0.00% covered (danger)
0.00%
0 / 161
0.00% covered (danger)
0.00%
0 / 2
132
0.00% covered (danger)
0.00%
0 / 1
 validateConfigurationForm
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 submitConfigurationForm
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 22
0.00% covered (danger)
0.00%
0 / 160
0.00% covered (danger)
0.00%
0 / 1
110
1<?php
2
3declare(strict_types=1);
4
5namespace Drupal\display_builder\Island;
6
7use Drupal\Component\Plugin\ConfigurableInterface;
8use Drupal\Core\Form\FormStateInterface;
9
10/**
11 * Add methods to make plugin configuration forms.
12 */
13trait IslandConfigurationFormTrait {
14
15  /**
16   * Validate the Island configuration.
17   *
18   * @param array $form
19   *   The form.
20   * @param \Drupal\Core\Form\FormStateInterface $form_state
21   *   The form state.
22   */
23  public function validateConfigurationForm(array &$form, FormStateInterface $form_state): void {}
24
25  /**
26   * Submit the island configuration.
27   *
28   * @param array $form
29   *   The form.
30   * @param \Drupal\Core\Form\FormStateInterface $form_state
31   *   The form state.
32   */
33  public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void {
34    $values = $form_state->getValues();
35    $flatValues = [];
36
37    // Define keys that represent structural wrappers without data
38    // You might need to add 'container' or others depending on your forms.
39    $wrappers = ['fieldset', 'details', 'container'];
40
41    foreach ($values as $key => $value) {
42      // Check if this top-level key corresponds to a wrapper element in the
43      // form, we check the $form array to confirm the type.
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
45        // If it's a wrapper, merge its children into the main array.
46        if (\is_array($value)) {
47          $flatValues = \array_merge($flatValues, $value);
48        }
49      }
50      else {
51        // Otherwise, keep the value as is.
52        $flatValues[$key] = $value;
53      }
54    }
55
56    $configuration = [];
57
58    foreach ($flatValues as $key => $value) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
60        // Remove unchecked values.
61        $value = \array_filter($value);
62      }
63      $configuration[$key] = $value;
64    }
65
66    if ($this instanceof ConfigurableInterface) {
67      $this->setConfiguration($configuration);
68    }
69  }
70
71}

Branches

Below are the source code lines that represent each code branch as identified by Xdebug. Please note a branch is not necessarily coterminous with a line, a line may contain multiple branches and therefore show up more than once. Please also be aware that some branches may be implicit rather than explicit, e.g. an if statement always has an else as part of its logical flow even if you didn't write one.

IslandConfigurationFormTrait->submitConfigurationForm
33  public function submitConfigurationForm(array &$form, FormStateInterface $form_state): void {
34    $values = $form_state->getValues();
35    $flatValues = [];
36
37    // Define keys that represent structural wrappers without data
38    // You might need to add 'container' or others depending on your forms.
39    $wrappers = ['fieldset', 'details', 'container'];
40
41    foreach ($values as $key => $value) {
41    foreach ($values as $key => $value) {
41    foreach ($values as $key => $value) {
42      // Check if this top-level key corresponds to a wrapper element in the
43      // form, we check the $form array to confirm the type.
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
46        if (\is_array($value)) {
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
45        // If it's a wrapper, merge its children into the main array.
46        if (\is_array($value)) {
47          $flatValues = \array_merge($flatValues, $value);
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
41    foreach ($values as $key => $value) {
42      // Check if this top-level key corresponds to a wrapper element in the
43      // form, we check the $form array to confirm the type.
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
45        // If it's a wrapper, merge its children into the main array.
46        if (\is_array($value)) {
47          $flatValues = \array_merge($flatValues, $value);
48        }
49      }
50      else {
51        // Otherwise, keep the value as is.
52        $flatValues[$key] = $value;
41    foreach ($values as $key => $value) {
41    foreach ($values as $key => $value) {
42      // Check if this top-level key corresponds to a wrapper element in the
43      // form, we check the $form array to confirm the type.
44      if (isset($form[$key]['#type']) && \in_array($form[$key]['#type'], $wrappers, TRUE)) {
45        // If it's a wrapper, merge its children into the main array.
46        if (\is_array($value)) {
47          $flatValues = \array_merge($flatValues, $value);
48        }
49      }
50      else {
51        // Otherwise, keep the value as is.
52        $flatValues[$key] = $value;
53      }
54    }
55
56    $configuration = [];
57
58    foreach ($flatValues as $key => $value) {
58    foreach ($flatValues as $key => $value) {
58    foreach ($flatValues as $key => $value) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
61        $value = \array_filter($value);
62      }
63      $configuration[$key] = $value;
58    foreach ($flatValues as $key => $value) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
60        // Remove unchecked values.
61        $value = \array_filter($value);
62      }
63      $configuration[$key] = $value;
58    foreach ($flatValues as $key => $value) {
59      if (($key === 'exclude' || $key === 'status') && \is_array($value)) {
60        // Remove unchecked values.
61        $value = \array_filter($value);
62      }
63      $configuration[$key] = $value;
64    }
65
66    if ($this instanceof ConfigurableInterface) {
67      $this->setConfiguration($configuration);
68    }
69  }
69  }
IslandConfigurationFormTrait->validateConfigurationForm
23  public function validateConfigurationForm(array &$form, FormStateInterface $form_state): void {}