public function LegacyWidget::formElement

Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::formElement().

Overrides WidgetInterface::formElement

File

drupal/core/modules/field/lib/Drupal/field/Plugin/field/widget/LegacyWidget.php, line 44
Definition of Drupal\field\Plugin\field\widget\LegacyWidget.

Class

LegacyWidget
Plugin implementation for legacy widgets.

Namespace

Drupal\field\Plugin\field\widget

Code

public function formElement(array $items, $delta, array $element, $langcode, array &$form, array &$form_state) {
  $definition = $this
    ->getDefinition();
  $function = $definition['module'] . '_field_widget_form';
  if (function_exists($function)) {

    // hook_field_widget_form() implementations read widget properties directly
    // from $instance. Put the actual properties we use here, which might have
    // been altered by hook_field_widget_property().
    $instance = clone $this->instance;
    $instance['widget']['type'] = $this
      ->getPluginId();
    $instance['widget']['settings'] = $this
      ->getSettings();
    return $function($form, $form_state, $this->field, $instance, $langcode, $items, $delta, $element);
  }
  return array();
}