You are here

public static function AdvancedPluginSelectorBase::processBuildSelectorForm in Plugin 8.2

Implements a Form API #process callback.

File

src/Plugin/Plugin/PluginSelector/AdvancedPluginSelectorBase.php, line 127

Class

AdvancedPluginSelectorBase
Provides a default base for most plugin selectors.

Namespace

Drupal\plugin\Plugin\Plugin\PluginSelector

Code

public static function processBuildSelectorForm(array $element, FormStateInterface $form_state, array $form) {

  /** @var static $plugin_selector */
  $plugin_selector = static::getPluginSelector($form_state, $element['#plugin_selector_form_state_key']);
  if (count($element['#available_plugins']) == 0) {
    return $plugin_selector
      ->buildNoAvailablePlugins($element, $form_state);
  }
  elseif (count($element['#available_plugins']) == 1 && !$plugin_selector
    ->getSelectorVisibilityForSingleAvailability()) {
    return $plugin_selector
      ->buildOneAvailablePlugin($element, $form_state);
  }
  else {
    return $plugin_selector
      ->buildMultipleAvailablePlugins($element, $form_state);
  }
}