entity_browser-8.x-2.x-dev/src/WidgetInterface.php
src/WidgetInterface.php
<?php namespace Drupal\entity_browser; use Drupal\Component\Plugin\ConfigurableInterface; use Drupal\Component\Plugin\DependentPluginInterface; use Drupal\Component\Plugin\PluginInspectionInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Plugin\PluginFormInterface; /** * Defines the interface for entity browser widgets. * * Entity browser widgets present a form for actually selecting entities in an * entity browser. Once entities have been selected, they are delivered upstream * to the entity browser's selection display plugin. */ interface WidgetInterface extends PluginInspectionInterface, ConfigurableInterface, PluginFormInterface, DependentPluginInterface { /** * Returns the widget id. * * @return string * The widget id. */ public function id(); /** * Returns the widget UUID. * * @return string * The widget UUID. */ public function uuid(); /** * Returns the widget label. * * @return string * The widget label. */ public function label(); /** * Sets the widget's label. * * @param string $label * New plugin label. * * @return \Drupal\entity_browser\WidgetInterface * This object. */ public function setLabel($label); /** * Returns the widget's weight. * * @return int * Widget's weight. */ public function getWeight(); /** * Sets the widget's weight. * * @param int $weight * New plugin weight. * * @return \Drupal\entity_browser\WidgetInterface * This object. */ public function setWeight($weight); /** * Returns widget form. * * @param array $original_form * Entire form bult up to this point. Form elements for widget should generally * not be added directly to it but returned from function as a separated * unit. * @param \Drupal\Core\Form\FormStateInterface $form_state * Form state object. * @param array $additional_widget_parameters * Additional parameters that we want to pass to the widget. * * @return array * Form structure. */ public function getForm(array &$original_form, FormStateInterface $form_state, array $additional_widget_parameters); /** * Validates form. * * @param array $form * Form. * @param \Drupal\Core\Form\FormStateInterface $form_state * Form state object. */ public function validate(array &$form, FormStateInterface $form_state); /** * Submits form. * * @param array $element * Widget part of the form. * @param array $form * Form. * @param \Drupal\Core\Form\FormStateInterface $form_state * Form state object. */ public function submit(array &$element, array &$form, FormStateInterface $form_state); /** * Returns if widget requires JS commands support by selection display. * * @return bool * True is auto selection is enabled and add/remove of entities will be done * over javascript events on selection display. */ public function requiresJsCommands(); /** * Defines if the widget is visible / accessible in a given context. * * @return \Drupal\Core\Access\AccessResultInterface * The access result. */ public function access(); }