60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Functions to support theming in the Classy theme.
|
|
*
|
|
* No changes that impact functionality should be made to this file, as Classy
|
|
* will be deprecated in Drupal 9. Changes should instead be made in the core
|
|
* themes Bartik, Seven, Claro and/or Umami.
|
|
*/
|
|
|
|
use Drupal\Core\Form\FormStateInterface;
|
|
use Drupal\views\Form\ViewsForm;
|
|
|
|
/**
|
|
* Implements hook_preprocess_links__media_library_menu().
|
|
*
|
|
* This targets the menu of available media types in the media library's modal
|
|
* dialog.
|
|
*
|
|
* @todo Do this in the relevant template once
|
|
* https://www.drupal.org/project/drupal/issues/3088856 is resolved.
|
|
*/
|
|
function classy_preprocess_links__media_library_menu(array &$variables) {
|
|
foreach ($variables['links'] as &$link) {
|
|
$link['link']['#options']['attributes']['class'][] = 'media-library-menu__link';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implements hook_form_alter().
|
|
*/
|
|
function classy_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
|
|
$form_object = $form_state->getFormObject();
|
|
if ($form_object instanceof ViewsForm && strpos($form_object->getBaseFormId(), 'views_form_media_library') === 0) {
|
|
$form['#attributes']['class'][] = 'media-library-views-form';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Implements hook_preprocess_image_widget().
|
|
*/
|
|
function classy_preprocess_image_widget(array &$variables) {
|
|
$data = &$variables['data'];
|
|
|
|
// This prevents image widget templates from rendering preview container HTML
|
|
// to users that do not have permission to access these previews.
|
|
// @todo revisit in https://drupal.org/node/953034
|
|
// @todo revisit in https://drupal.org/node/3114318
|
|
if (isset($data['preview']['#access']) && $data['preview']['#access'] === FALSE) {
|
|
unset($data['preview']);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* No changes that impact functionality should be made to this file, as Classy
|
|
* will be deprecated in Drupal 9. Changes should instead be made in the core
|
|
* themes Bartik, Seven, Claro and/or Umami.
|
|
*/
|