You are here

function wingsuit_link_ui_pattern_settings_settings_alter in Gin Layout Builder 8.2

Implements hook_ui_pattern_settings_settings_alter().

Replace settings with link options.

File

modules/wingsuit_link/wingsuit_link.module, line 77

Code

function wingsuit_link_ui_pattern_settings_settings_alter(array &$settings, array $context) {
  if ($context['#pattern_id'] === 'button') {

    /** @var \Drupal\ui_patterns\Element\PatternContext $pattern_context */
    $pattern_context = $context['#pattern_context'];

    /** @var \Drupal\link\Plugin\Field\FieldType\LinkItem $link */
    $link = $pattern_context
      ->getProperty('item');
    if ($link !== NULL) {
      $options = $link
        ->get('options');
      $values = $options
        ->getValue();
      if (isset($values['attributes'])) {
        foreach ($values['attributes'] as $name => $value) {
          if (!empty($value)) {
            $settings[$name] = $value;
          }
        }
      }
    }
  }
}