123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?php
- namespace Drupal\Core\Plugin;
- use Drupal\Core\Form\FormStateInterface;
- /**
- * Provides an interface for an embeddable plugin form.
- *
- * Plugins can implement this form directly, or a standalone class can be used.
- * Decoupled forms can implement \Drupal\Component\Plugin\PluginAwareInterface
- * in order to gain access to the plugin.
- *
- * @ingroup plugin_api
- */
- interface PluginFormInterface {
- /**
- * Form constructor.
- *
- * Plugin forms are embedded in other forms. In order to know where the plugin
- * form is located in the parent form, #parents and #array_parents must be
- * known, but these are not available during the initial build phase. In order
- * to have these properties available when building the plugin form's
- * elements, let this method return a form element that has a #process
- * callback and build the rest of the form in the callback. By the time the
- * callback is executed, the element's #parents and #array_parents properties
- * will have been set by the form API. For more documentation on #parents and
- * #array_parents, see \Drupal\Core\Render\Element\FormElement.
- *
- * @param array $form
- * An associative array containing the initial structure of the plugin form.
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * The current state of the form. Calling code should pass on a subform
- * state created through
- * \Drupal\Core\Form\SubformState::createForSubform().
- *
- * @return array
- * The form structure.
- */
- public function buildConfigurationForm(array $form, FormStateInterface $form_state);
- /**
- * Form validation handler.
- *
- * @param array $form
- * An associative array containing the structure of the plugin form as built
- * by static::buildConfigurationForm().
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * The current state of the form. Calling code should pass on a subform
- * state created through
- * \Drupal\Core\Form\SubformState::createForSubform().
- */
- public function validateConfigurationForm(array &$form, FormStateInterface $form_state);
- /**
- * Form submission handler.
- *
- * @param array $form
- * An associative array containing the structure of the plugin form as built
- * by static::buildConfigurationForm().
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * The current state of the form. Calling code should pass on a subform
- * state created through
- * \Drupal\Core\Form\SubformState::createForSubform().
- */
- public function submitConfigurationForm(array &$form, FormStateInterface $form_state);
- }
|