Skip to content
Snippets Groups Projects
Select Git revision
  • project-update-bot-only
  • 8.x-1.x default
  • 3433816-automated-drupal-11
  • 3433816-manual-drupal-11
  • 7.x-1.x
  • previous/3433816-automated-drupal-11/2024-07-28
  • previous/project-update-bot-only/2024-06-18
  • previous/project-update-bot-only/2024-06-08
  • previous/project-update-bot-only/2024-06-02
  • previous/project-update-bot-only/2024-05-30
  • 8.x-1.17
  • 8.x-1.16
  • 8.x-1.15
  • 8.x-1.14
  • 8.x-1.13
  • 8.x-1.12
  • 8.x-1.11
  • 8.x-1.10
  • 8.x-1.9
  • 8.x-1.8
  • 8.x-1.7
  • 8.x-1.6
  • 8.x-1.5
  • 8.x-1.4
  • 8.x-1.3
25 results

ParagraphsBehaviorInterface.php

  • joegraduate's avatar
    Issue #3254258 by joegraduate: PHPDoc @return tag on...
    Joe Parsons authored and Sascha Grossenbacher committed
    Issue #3254258 by joegraduate: PHPDoc @return tag on ParagraphsBehaviorInterface::view() method is wrong
    58767588
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ParagraphsBehaviorInterface.php 5.41 KiB
    <?php
    
    namespace Drupal\paragraphs;
    
    use Drupal\Component\Plugin\ConfigurableInterface;
    use Drupal\Component\Plugin\DependentPluginInterface;
    use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
    use Drupal\Core\Form\FormStateInterface;
    use Drupal\Core\Plugin\PluginFormInterface;
    use Drupal\paragraphs\Entity\Paragraph;
    use Drupal\paragraphs\Entity\ParagraphsType;
    
    /**
     * Provides an interface defining a paragraph behavior.
     *
     * A paragraph behavior plugin adds extra functionality to the paragraph such as
     * adding properties and attributes, it can also add extra classes to the render
     * elements so extra styling can be applied.
     */
    interface ParagraphsBehaviorInterface extends PluginFormInterface, ConfigurableInterface, DependentPluginInterface {
    
      /**
       * Builds a behavior perspective for each paragraph based on its type.
       *
       * This method is responsible for building the behavior form for each
       * Paragraph so the user can set special attributes and properties.
       *
       * @param \Drupal\paragraphs\ParagraphInterface $paragraph
       *   The paragraph.
       * @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.
       *
       * @return array
       *   The fields build array that the plugin creates.
       */
      public function buildBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state);
    
      /**
       * Validates the behavior fields form.
       *
       * This method is responsible for validating the data in the behavior fields
       * form and displaying validation messages.
       *
       * @param \Drupal\paragraphs\ParagraphInterface $paragraph
       *   The paragraph.
       * @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.
       */
      public function validateBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state);
    
      /**
       * Submit the values taken from the form to store the values.
       *
       * This method is responsible for submitting the data and saving it in the
       * paragraphs entity.
       *
       * @param \Drupal\paragraphs\ParagraphInterface $paragraph
       *   The paragraph.
       * @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.
       */
      public function submitBehaviorForm(ParagraphInterface $paragraph, array &$form, FormStateInterface $form_state);
    
      /**
       * Adds a default set of helper variables for preprocessors and templates.
       *
       * This preprocess function is the first in the sequence of preprocessing
       * functions that are called when preparing variables of a paragraph.
       *
       * @param array $variables
       *   An associative array containing:
       *   - elements: An array of elements to display in view mode.
       *   - paragraph: The paragraph object.
       *   - view_mode: The view mode.
       */
      public function preprocess(&$variables);
    
      /**
       * Extends the paragraph render array with behavior.
       *
       * @param array &$build
       *   A renderable array representing the paragraph. The module may add
       *   elements to $build prior to rendering. The structure of $build is a
       *   renderable array as expected by drupal_render().
       * @param \Drupal\paragraphs\Entity\Paragraph $paragraph
       *   The paragraph.
       * @param \Drupal\Core\Entity\Display\EntityViewDisplayInterface $display
       *   The entity view display holding the display options configured for the
       *   entity components.
       * @param string $view_mode
       *   The view mode the entity is rendered in.
       */
      public function view(array &$build, Paragraph $paragraph, EntityViewDisplayInterface $display, $view_mode);
    
      /**
       * Returns if the plugin can be used for the provided Paragraphs type.
       *
       * @param \Drupal\paragraphs\Entity\ParagraphsType $paragraphs_type
       *   The Paragraphs type entity that should be checked.
       *
       * @return bool
       *   TRUE if the formatter can be used, FALSE otherwise.
       */
      public static function isApplicable(ParagraphsType $paragraphs_type);
    
      /**
       * Returns a short summary for the current behavior settings.
       *
       * @param \Drupal\paragraphs\Entity\Paragraph $paragraph
       *   The paragraph.
       *
       * @return string[]
       *   The plugin settings.
       */
      public function settingsSummary(Paragraph $paragraph);
    
      /**
       * Returns a short info icon for the current behavior settings.
       *
       * Usually the information is in the form of an icon or a badge or some
       * similar graphical representation.
       *
       * @param \Drupal\paragraphs\Entity\Paragraph $paragraph
       *   The paragraph.
       *
       * @return string[]
       *   The plugin settings.
       *
       * @see ParagraphInterface::getIcons()
       */
      public function settingsIcon(Paragraph $paragraph);
    
      /**
       * Returns list of field names for the given paragraph type and field type.
       *
       * @param \Drupal\paragraphs\Entity\ParagraphsType $paragraphs_type
       *   The paragraphs type entity.
       * @param string $field_type
       *   (optional) Field type to check for existence. If field type is not
       *   provided, returns all entity fields.
       *
       * @return string[]
       *   The list of field labels keyed by their field name.
       */
      public function getFieldNameOptions(ParagraphsType $paragraphs_type, $field_type = NULL);
    
    }