outside_in_toolbar_alter

outside_in_toolbar_alter(&$items)

Implements hook_toolbar_alter().

Includes outside_library if Edit link is in toolbar.

File

core/modules/outside_in/outside_in.module, line 108
Allows configuring blocks and other configuration from the site front-end.

Code

function outside_in_toolbar_alter(&$items) {
  $items['contextual']['#cache']['contexts'][] = 'outside_in_is_applied';
  if (isset($items['contextual']['tab']) && \Drupal::service('outside_in.manager')->isApplicable()) {
    $items['contextual']['#weight'] = -1000;
    $items['contextual']['#attached']['library'][] = 'outside_in/drupal.outside_in';
    $items['contextual']['tab']['#attributes']['data-drupal-outsidein'] = 'toggle';

    // Set a class on items to mark whether they should be active in edit mode.
    // @todo Create a dynamic method for modules to set their own items.
    //   https://www.drupal.org/node/2784589

    $edit_mode_items = ['contextual', 'block_place'];
    foreach ($items as $key => $item) {
      if (!in_array($key, $edit_mode_items) && (!isset($items[$key]['#wrapper_attributes']['class']) || !in_array('hidden', $items[$key]['#wrapper_attributes']['class']))) {
        $items[$key]['#wrapper_attributes']['class'][] = 'edit-mode-inactive';
      }
    }
  }
}
doc_Drupal
2016-10-29 09:32:44
Comments
Leave a Comment

Please login to continue.