Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 63b13ed9 authored by escuriola's avatar escuriola
Browse files

OEL-1307: Move language_modal to oe_whitelabel_multilingual module.

parent 9f67ebc2
No related branches found
No related tags found
2 merge requests!103Merge 1.x into EPIC-OEL-1255-migrate-paragraphs, and up oebt version.,!91OEL-1307: Update oe_whitelabel to BCL 0.20.0
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
declare(strict_types = 1); declare(strict_types = 1);
use Drupal\Component\Utility\Html; use Drupal\Component\Utility\Html;
use Drupal\oe_whitelabel_helper\EuropeanUnionLanguages;
/** /**
* Implements hook_preprocess_links(). * Implements hook_preprocess_links().
...@@ -70,6 +71,10 @@ function oe_whitelabel_multilingual_preprocess_links__oe_multilingual_content_la ...@@ -70,6 +71,10 @@ function oe_whitelabel_multilingual_preprocess_links__oe_multilingual_content_la
function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables) { function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables) {
$currentLanguage = \Drupal::languageManager()->getCurrentLanguage(); $currentLanguage = \Drupal::languageManager()->getCurrentLanguage();
$current_language_id = $currentLanguage->getId(); $current_language_id = $currentLanguage->getId();
$language_internal = $current_language_id;
if (EuropeanUnionLanguages::hasLanguage($current_language_id)) {
$language_internal = EuropeanUnionLanguages::getInternalLanguageCode($current_language_id);
}
$language_config_storage = \Drupal::entityTypeManager()->getStorage('configurable_language'); $language_config_storage = \Drupal::entityTypeManager()->getStorage('configurable_language');
$eu_links = []; $eu_links = [];
$non_eu_links = []; $non_eu_links = [];
...@@ -84,10 +89,11 @@ function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables ...@@ -84,10 +89,11 @@ function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables
$label = $link['link']['#title']; $label = $link['link']['#title'];
$link = [ $link = [
'href' => $href, 'path' => $href,
'name' => $label, 'name' => $label,
'id' => 'link_' . $language_code, 'id' => 'link_' . $language_code,
'hreflang' => $language_code, 'label' => $label,
'lang' => $language_internal,
]; ];
if (!empty($current_language_id) && $language_code === $current_language_id) { if (!empty($current_language_id) && $language_code === $current_language_id) {
...@@ -107,17 +113,14 @@ function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables ...@@ -107,17 +113,14 @@ function oe_whitelabel_multilingual_preprocess_links__language_block(&$variables
} }
} }
$variables['language']['modal'] = [ $variables['language']['modal']['language_list'] = [
'overlay' => TRUE,
'variant' => $variables['bcl_component_library'],
'title' => t('Select your language'),
'items' => $eu_links,
'non_eu_items' => $non_eu_links,
'icon_path' => $variables['bcl_icon_path'],
'id' => 'languageModal', 'id' => 'languageModal',
'size' => 'fullscreen', 'size' => 'fullscreen',
'header' => [
'title' => t('Select your language'),
'label' => t('Close'),
],
'eu_links' => $eu_links,
'non_eu_links' => $non_eu_links,
'footer' => [
'label' => t('Close'),
],
]; ];
} }
...@@ -11,66 +11,6 @@ use Drupal\Core\Form\FormStateInterface; ...@@ -11,66 +11,6 @@ use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url; use Drupal\Core\Url;
use Drupal\oe_whitelabel_helper\EuropeanUnionLanguages; use Drupal\oe_whitelabel_helper\EuropeanUnionLanguages;
/**
* Implements hook__preprocess_links__language_block().
*/
function oe_whitelabel_preprocess_links__language_block(&$variables) {
$currentLanguage = \Drupal::languageManager()->getCurrentLanguage();
$current_language_id = $currentLanguage->getId();
$language_internal = $current_language_id;
if (EuropeanUnionLanguages::hasLanguage($current_language_id)) {
$language_internal = EuropeanUnionLanguages::getInternalLanguageCode($current_language_id);
}
$language_config_storage = \Drupal::entityTypeManager()->getStorage('configurable_language');
$eu_links = [];
$non_eu_links = [];
foreach ($variables['links'] as $language_code => $link) {
/** @var \Drupal\Core\Url $url */
$url = $link['link']['#url'];
$href = $url
->setOptions($link['link']['#options'])
->setAbsolute(TRUE)
->toString();
$label = $link['link']['#title'];
$link = [
'path' => $href,
'name' => $label,
'id' => 'link_' . $language_code,
'label' => $label,
'lang' => $language_internal,
];
if (!empty($current_language_id) && $language_code === $current_language_id) {
$variables['language']['link'] = $link;
$variables['language']['link']['target'] = 'languageModal';
$link['active'] = TRUE;
}
$language_config = $language_config_storage->load($language_code);
$category = $language_config->getThirdPartySetting('oe_multilingual', 'category');
if ($category === 'eu') {
$eu_links[$language_code] = $link;
}
else {
$non_eu_links[$language_code] = $link;
}
}
$variables['language']['modal']['language_list'] = [
'overlay' => TRUE,
'variant' => $variables['bcl_component_library'],
'title' => t('Select your language'),
'items' => $eu_links,
'non_eu_items' => $non_eu_links,
'icon_path' => $variables['bcl_icon_path'],
'id' => 'languageModal',
'size' => 'fullscreen',
];
}
/** /**
* Implements hook_form_FORM_ID_alter() for facets_forms. * Implements hook_form_FORM_ID_alter() for facets_forms.
*/ */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment