You are here

public static function WebformElementHelper::removeIgnoredProperties in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Utility/WebformElementHelper.php \Drupal\webform\Utility\WebformElementHelper::removeIgnoredProperties()

Remove ignored properties from an element.

Parameters

array $element: A webform element.

Return value

array A webform element with ignored properties removed.

3 calls to WebformElementHelper::removeIgnoredProperties()
OptionsBase::processOptionsProperties in src/Plugin/WebformElement/OptionsBase.php
Processes options (custom) properties.
Webform::initElements in src/Entity/Webform.php
Initialize and parse webform elements.
WebformElementHelperTest::testRemoveIgnoredProperties in tests/src/Unit/Utility/WebformElementHelperTest.php
Tests WebformElementHelper::removeIgnoredProperties().

File

src/Utility/WebformElementHelper.php, line 448

Class

WebformElementHelper
Helper class webform element methods.

Namespace

Drupal\webform\Utility

Code

public static function removeIgnoredProperties(array $element) {
  foreach ($element as $key => $value) {
    if (static::property($key) && self::isIgnoredProperty($key)) {

      // Computed elements use #ajax as boolean and should not be ignored.
      // @see \Drupal\webform\Element\WebformComputedBase
      $is_ajax_computed = $key === '#ajax' && is_bool($value);
      if (!$is_ajax_computed) {
        unset($element[$key]);
      }
    }
    elseif (is_array($value)) {
      $element[$key] = static::removeIgnoredProperties($value);
    }
  }
  return $element;
}