You are here

function _require_on_publish_add_indicator_to_paragraph in Require on Publish 8

Helper function that adds an indicator to paragraph elements.

2 calls to _require_on_publish_add_indicator_to_paragraph()
require_on_publish_field_widget_entity_reference_paragraphs_form_alter in ./require_on_publish.module
Implements hook_field_widget_entity_reference_paragraphs_form_alter().
require_on_publish_field_widget_paragraphs_form_alter in ./require_on_publish.module
Implements hook_field_widget_WIDGET_TYPE_form_alter().

File

./require_on_publish.module, line 188
Module file for the Require on Publish module.

Code

function _require_on_publish_add_indicator_to_paragraph(&$element, FormStateInterface $form_state, $context) {
  $paragraph_type = $element['#paragraph_type'];
  $fields = \Drupal::service('entity_field.manager')
    ->getFieldDefinitions('paragraph', $paragraph_type);
  foreach ($fields as $field_config) {
    if (!$field_config instanceof FieldConfigInterface) {
      continue;
    }
    if ($field_config
      ->getThirdPartySetting('require_on_publish', 'require_on_publish', FALSE)) {
      $field_name = $field_config
        ->getName();
      $element['#attached']['library'][] = 'require_on_publish/require_on_publish';
      if (isset($element['subform'][$field_name]['widget'])) {
        require_on_publish_add_indicator($element['subform'][$field_name]['widget']);
      }
    }
  }
}