contacts_events-8.x-1.x-dev/modules/villages/src/Plugin/VillageGroupTypeInterface.php

modules/villages/src/Plugin/VillageGroupTypeInterface.php
<?php

namespace Drupal\contacts_events_villages\Plugin;

use Drupal\contacts_events_villages\Entity\VillageGroupInterface;
use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\entity\BundlePlugin\BundlePluginInterface;

/**
 * Defines an interface for Village group type plugins.
 */
interface VillageGroupTypeInterface extends BundlePluginInterface {

  /**
   * Is the Village Group type expanded into multiple options.
   *
   * @return bool
   *   Whether the plugin type expands.
   */
  public function isExpanded() : bool;

  /**
   * Build the group entity content subform.
   *
   * @param \Drupal\Core\Field\EntityReferenceFieldItemListInterface $items
   *   The village group field items.
   *
   * @return array
   *   The form array.
   */
  public function form(EntityReferenceFieldItemListInterface $items);

  /**
   * Build entity data from form submission values.
   *
   * @param array $values
   *   The values as submitted by the form.
   * @param \Drupal\contacts_events_villages\Entity\VillageGroupInterface $group
   *   The group being built.
   *
   * @return \Drupal\contacts_events_villages\Entity\VillageGroupInterface
   *   The fully built village group entity.
   */
  public function buildFormEntity(array $values, VillageGroupInterface $group) : VillageGroupInterface;

  /**
   * Get an existing Village Group if one exists.
   *
   * @param \Drupal\contacts_events_villages\Entity\VillageGroupInterface $group
   *   The village group to check for duplicates for.
   *
   * @return \Drupal\contacts_events_villages\Entity\VillageGroupInterface
   *   Either the new village group or an existing replacement to prevent
   *   duplicates.
   */
  public function getExisting(VillageGroupInterface $group) : VillageGroupInterface;

  /**
   * Performs validation.
   *
   * @param array $element
   *   Form element representing the subform generated by this plugin.
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   *   The current form state.
   * @param array $complete_form
   *   The complete form.
   */
  public function validate(array &$element, FormStateInterface $form_state, array &$complete_form);

  /**
   * Allows pre-processing of the plugin's sub-form.
   *
   * @param array $subform
   *   The element representing the sub-form.
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   *   The current form state.
   * @param array $complete_form
   *   The complete form.
   * @param string $path_to_containing_widget
   *   The path to the parent widget, in annotated format.
   *
   * @return array
   *   The processed form element.
   */
  public function process(array &$subform, FormStateInterface $form_state, array &$complete_form, $path_to_containing_widget);

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc