function IconExtractorSettingsForm::initSettingForm

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php \Drupal\Core\Theme\Icon\IconExtractorSettingsForm::initSettingForm()

Init setting from common JSON Schema properties.

Parameters

string $setting_id: The setting id from the icon pack definition.

array $setting: The settings from the icon pack definition.

array $saved_values: The default saved values if any.

Return value

array The form API generated with minimal keys.

4 calls to IconExtractorSettingsForm::initSettingForm()
IconExtractorSettingsForm::buildBooleanForm in core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php
Build Drupal form for a boolean setting to a checkbox.
IconExtractorSettingsForm::buildEnumForm in core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php
Build Drupal form for an enumerations to a select.
IconExtractorSettingsForm::buildNumberForm in core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php
Build Drupal form for a number or integer setting.
IconExtractorSettingsForm::buildStringForm in core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php
Build Drupal form for a string setting to a textfield.

File

core/lib/Drupal/Core/Theme/Icon/IconExtractorSettingsForm.php, line 97

Class

IconExtractorSettingsForm
Handle icon extractor settings form conversion from YAML to Drupal Form API.

Namespace

Drupal\Core\Theme\Icon

Code

protected static function initSettingForm(string $setting_id, array $setting, array $saved_values) : array {
  $form = [
    '#title' => $setting['title'] ?? $setting_id,
  ];
  if (isset($setting['description'])) {
    $form['#description'] = $setting['description'];
  }
  if (isset($setting['default'])) {
    $form['#default_value'] = $setting['default'];
  }
  if (isset($saved_values[$setting_id])) {
    $form['#default_value'] = $saved_values[$setting_id];
  }
  return $form;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.