From 3048594a8b95194707c095c2d30e9d9acc93e89b Mon Sep 17 00:00:00 2001 From: Rosie Le Faive Date: Mon, 15 Aug 2022 15:27:07 -0300 Subject: [PATCH] Allow media to use integer weight selector. (#894) --- islandora.views.inc | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/islandora.views.inc b/islandora.views.inc index 97dbf08c..f249c633 100644 --- a/islandora.views.inc +++ b/islandora.views.inc @@ -9,19 +9,21 @@ * Implements hook_views_data_alter(). */ function islandora_views_data_alter(&$data) { - // For now only support Nodes. - $fields = \Drupal::service('entity_field.manager')->getFieldStorageDefinitions('node'); - foreach ($fields as $field => $field_storage_definition) { - if ($field_storage_definition->getType() == 'integer' && strpos($field, "field_") === 0) { - $prefixed_field = 'node__' . $field; - if (isset($data[$prefixed_field])) { - $data[$prefixed_field][$field . '_value']['field'] = $data[$prefixed_field][$field]['field']; - $data[$prefixed_field][$field]['title'] = t('Integer Weight Selector (@field)', [ - '@field' => $field, - ]); - $data[$prefixed_field][$field]['help'] = t('Provides a drag-n-drop reordering of integer-based weight fields.'); - $data[$prefixed_field][$field]['title short'] = t('Integer weight selector'); - $data[$prefixed_field][$field]['field']['id'] = 'integer_weight_selector'; + // For now only support Nodes and Media. + foreach (['node', 'media'] as $entity_type) { + $fields = \Drupal::service('entity_field.manager')->getFieldStorageDefinitions($entity_type); + foreach ($fields as $field => $field_storage_definition) { + if ($field_storage_definition->getType() == 'integer' && strpos($field, "field_") === 0) { + $prefixed_field = $entity_type . '__' . $field; + if (isset($data[$prefixed_field])) { + $data[$prefixed_field][$field . '_value']['field'] = $data[$prefixed_field][$field]['field']; + $data[$prefixed_field][$field]['title'] = t('Integer Weight Selector (@field)', [ + '@field' => $field, + ]); + $data[$prefixed_field][$field]['help'] = t('Provides a drag-n-drop reordering of integer-based weight fields.'); + $data[$prefixed_field][$field]['title short'] = t('Integer weight selector'); + $data[$prefixed_field][$field]['field']['id'] = 'integer_weight_selector'; + } } } }