Browse Source

facet decimal removal

master
rdrew 3 weeks ago
parent
commit
84e6757211
  1. 1
      .php-cs-fixer.cache
  2. 28
      .php-cs-fixer.dist.php
  3. 3
      Untitled
  4. 45
      js/nouislider-year-format.js
  5. 6
      olivesnews.libraries.yml
  6. 183
      olivesnews.theme

1
.php-cs-fixer.cache

@ -0,0 +1 @@
{"php":"8.5.4","version":"3.94.2","indent":" ","lineEnding":"\n","rules":{"nullable_type_declaration":true,"operator_linebreak":true,"ordered_types":{"null_adjustment":"always_last","sort_algorithm":"none"},"single_class_element_per_statement":true,"types_spaces":true,"array_indentation":true,"array_syntax":true,"attribute_block_no_spaces":true,"cast_spaces":true,"concat_space":{"spacing":"one"},"function_declaration":{"closure_fn_spacing":"none"},"method_argument_space":{"after_heredoc":false},"new_with_parentheses":{"anonymous_class":false},"single_line_empty_body":true,"single_space_around_construct":{"constructs_followed_by_a_single_space":["abstract","as","case","catch","class","const","const_import","do","else","elseif","enum","final","finally","for","foreach","function","function_import","if","insteadof","interface","match","named_argument","namespace","new","private","protected","public","readonly","static","switch","trait","try","type_colon","use","use_lambda","while"],"constructs_preceded_by_a_single_space":["as","else","elseif","use_lambda"]},"trailing_comma_in_multiline":{"after_heredoc":true,"elements":["arguments","array_destructuring","arrays","match","parameters"]},"binary_operator_spaces":{"default":"at_least_single_space"},"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"blank_lines_before_namespace":true,"braces_position":{"allow_single_line_anonymous_functions":false,"allow_single_line_empty_anonymous_classes":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_type_declaration":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"modifier_keywords":true,"no_blank_lines_after_class_opening":true,"no_extra_blank_lines":{"tokens":["use"]},"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"none"},"return_type_declaration":true,"short_scalar_cast":true,"single_import_per_statement":{"group_to_single_imports":false},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"unary_operator_spaces":{"only_dec_inc":true},"blank_line_after_namespace":true,"constant_case":true,"control_structure_braces":true,"control_structure_continuation_position":true,"elseif":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"no_break_comment":true,"no_closing_tag":true,"no_multiple_statements_per_line":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_line_after_imports":true,"spaces_inside_parentheses":true,"statement_indentation":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"ruleCustomisationPolicyVersion":"null-policy","hashes":{".conform.8290495.olivesnews.theme":"ba279df37643b4e7b3b1d36edca92d5a",".conform.9049921.olivesnews.theme":"ba279df37643b4e7b3b1d36edca92d5a",".conform.4231873.olivesnews.theme":"e576b2c4cb832ca7a39815102ad561ab"}}

28
.php-cs-fixer.dist.php

@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
return (new Config())
->setRiskyAllowed(false)
->setRules([
'@auto' => true
])
// 💡 by default, Fixer looks for `*.php` files excluding `./vendor/` - here, you can groom this config
->setFinder(
(new Finder())
// 💡 root folder to check
->in(__DIR__)
// 💡 additional files, eg bin entry file
// ->append([__DIR__.'/bin-entry-file'])
// 💡 folders to exclude, if any
// ->exclude([/* ... */])
// 💡 path patterns to exclude, if any
// ->notPath([/* ... */])
// 💡 extra configs
// ->ignoreDotFiles(false) // true by default in v3, false in v4 or future mode
// ->ignoreVCS(true) // true by default
)
;

3
Untitled

@ -1,3 +0,0 @@
:q
:q

45
js/nouislider-year-format.js

@ -0,0 +1,45 @@
(function (Drupal) {
"use strict";
Drupal.behaviors.nouisliderYearFormat = {
attach: function (context, settings) {
// Target the slider directly by its rendered ID.
// Your facet renders the slider as <div id="year" class="facet-slider noUi-target">
const sliderEl = context.querySelector("#year.noUi-target");
if (!sliderEl || !sliderEl.noUiSlider) return;
const integerFormat = {
to: function (value) {
return String(Math.round(value));
},
from: function (value) {
return Math.round(Number(value));
},
};
// Override format and tooltips together
sliderEl.noUiSlider.updateOptions({
format: integerFormat,
tooltips: [integerFormat, integerFormat],
});
// Also fix the input fields — they get their initial value from the slider's
// 'update' event, but that fires before our override. Re-trigger manually:
const inputFrom = document.getElementById("nouislider-input-from");
const inputTo = document.getElementById("nouislider-input-to");
if (inputFrom && inputTo) {
const values = sliderEl.noUiSlider.get();
inputFrom.value = Math.round(Number(values[0]));
inputTo.value = Math.round(Number(values[1]));
// Keep inputs in sync going forward
sliderEl.noUiSlider.on("update", function (values) {
inputFrom.value = Math.round(Number(values[0]));
inputTo.value = Math.round(Number(values[1]));
});
}
},
};
})(Drupal);

6
olivesnews.libraries.yml

@ -67,6 +67,12 @@ global-styling:
- core/tabbable - core/tabbable
- olivesnews/navigation-base - olivesnews/navigation-base
nouislider-year-format:
js:
js/nouislider-year-format.js: {}
dependencies:
- core/drupal
book: book:
version: VERSION version: VERSION
css: css:

183
olivesnews.theme

@ -17,7 +17,8 @@ use Drupal\user\UserInterface;
* *
* Adds body classes if certain regions have content. * Adds body classes if certain regions have content.
*/ */
function olivesnews_preprocess_html(&$variables) { function olivesnews_preprocess_html(&$variables)
{
if (theme_get_setting('mobile_menu_all_widths') === 1) { if (theme_get_setting('mobile_menu_all_widths') === 1) {
$variables['attributes']['class'][] = 'is-always-mobile-nav'; $variables['attributes']['class'][] = 'is-always-mobile-nav';
} }
@ -37,7 +38,7 @@ function olivesnews_preprocess_html(&$variables) {
// stylesheet for primary menu. // stylesheet for primary menu.
$variables['noscript_styles'] = [ $variables['noscript_styles'] = [
'#type' => 'html_tag', '#type' => 'html_tag',
'#noscript' => TRUE, '#noscript' => true,
'#tag' => 'link', '#tag' => 'link',
'#attributes' => [ '#attributes' => [
'rel' => 'stylesheet', 'rel' => 'stylesheet',
@ -64,7 +65,8 @@ function olivesnews_preprocess_html(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for page title templates. * Implements hook_preprocess_HOOK() for page title templates.
*/ */
function olivesnews_preprocess_page_title(&$variables) { function olivesnews_preprocess_page_title(&$variables)
{
// Since the title and the shortcut link are both block level elements, // Since the title and the shortcut link are both block level elements,
// positioning them next to each other is much simpler with a wrapper div. // positioning them next to each other is much simpler with a wrapper div.
if (!empty($variables['title_suffix']['add_or_remove_shortcut']) && $variables['title']) { if (!empty($variables['title_suffix']['add_or_remove_shortcut']) && $variables['title']) {
@ -85,7 +87,7 @@ function olivesnews_preprocess_page_title(&$variables) {
// Unset shortcut link on front page. // Unset shortcut link on front page.
$variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage(); $variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage();
if ($variables['is_front'] === TRUE) { if ($variables['is_front'] === true) {
unset($variables['title_suffix']['add_or_remove_shortcut']); unset($variables['title_suffix']['add_or_remove_shortcut']);
} }
} }
@ -93,7 +95,8 @@ function olivesnews_preprocess_page_title(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for maintenance-page.html.twig. * Implements hook_preprocess_HOOK() for maintenance-page.html.twig.
*/ */
function olivesnews_preprocess_maintenance_page(&$variables) { function olivesnews_preprocess_maintenance_page(&$variables)
{
// By default, site_name is set to Drupal if no db connection is available // By default, site_name is set to Drupal if no db connection is available
// or during site installation. Setting site_name to an empty string makes // or during site installation. Setting site_name to an empty string makes
// the site and update pages look cleaner. // the site and update pages look cleaner.
@ -109,7 +112,8 @@ function olivesnews_preprocess_maintenance_page(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for node.html.twig. * Implements hook_preprocess_HOOK() for node.html.twig.
*/ */
function olivesnews_preprocess_node(&$variables) { function olivesnews_preprocess_node(&$variables)
{
// Remove the "Add new comment" link on teasers or when the comment form is // Remove the "Add new comment" link on teasers or when the comment form is
// displayed on the page. // displayed on the page.
if ($variables['teaser'] || !empty($variables['content']['comments']['comment_form'])) { if ($variables['teaser'] || !empty($variables['content']['comments']['comment_form'])) {
@ -117,7 +121,7 @@ function olivesnews_preprocess_node(&$variables) {
} }
// Apply custom date formatter to "date" field. // Apply custom date formatter to "date" field.
if (!empty($variables['date']) && !empty($variables['display_submitted']) && $variables['display_submitted'] === TRUE) { if (!empty($variables['date']) && !empty($variables['display_submitted']) && $variables['display_submitted'] === true) {
$variables['date'] = \Drupal::service('date.formatter')->format($variables['node']->getCreatedTime(), 'olivesnews_medium'); $variables['date'] = \Drupal::service('date.formatter')->format($variables['node']->getCreatedTime(), 'olivesnews_medium');
} }
@ -132,7 +136,8 @@ function olivesnews_preprocess_node(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for block.html.twig. * Implements hook_preprocess_HOOK() for block.html.twig.
*/ */
function olivesnews_preprocess_block(&$variables) { function olivesnews_preprocess_block(&$variables)
{
if (!empty($variables['elements']['#id'])) { if (!empty($variables['elements']['#id'])) {
/** @var \Drupal\block\BlockInterface $block */ /** @var \Drupal\block\BlockInterface $block */
$block = \Drupal::entityTypeManager() $block = \Drupal::entityTypeManager()
@ -152,8 +157,7 @@ function olivesnews_preprocess_block(&$variables) {
if ($region === 'primary_menu') { if ($region === 'primary_menu') {
$variables['#attached']['library'][] = 'olivesnews/search-narrow'; $variables['#attached']['library'][] = 'olivesnews/search-narrow';
$variables['content']['actions']['submit']['#theme_wrappers'] = ['input__submit__header_search']; $variables['content']['actions']['submit']['#theme_wrappers'] = ['input__submit__header_search'];
} } elseif ($region === 'secondary_menu') {
elseif ($region === 'secondary_menu') {
$variables['#attached']['library'][] = 'olivesnews/search-wide'; $variables['#attached']['library'][] = 'olivesnews/search-wide';
$variables['content']['actions']['submit']['#theme_wrappers'] = ['input__submit__header_search']; $variables['content']['actions']['submit']['#theme_wrappers'] = ['input__submit__header_search'];
} }
@ -181,7 +185,8 @@ function olivesnews_preprocess_block(&$variables) {
/** /**
* Implements hook_theme_suggestions_HOOK_alter() for menu. * Implements hook_theme_suggestions_HOOK_alter() for menu.
*/ */
function olivesnews_theme_suggestions_menu_alter(&$suggestions, array $variables) { function olivesnews_theme_suggestions_menu_alter(&$suggestions, array $variables)
{
if (isset($variables['attributes']['region'])) { if (isset($variables['attributes']['region'])) {
$suggestions[] = 'menu__' . $variables['attributes']['region']; $suggestions[] = 'menu__' . $variables['attributes']['region'];
} }
@ -190,7 +195,8 @@ function olivesnews_theme_suggestions_menu_alter(&$suggestions, array $variables
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_menu(&$variables) { function olivesnews_preprocess_menu(&$variables)
{
if (isset($variables['attributes']['region'])) { if (isset($variables['attributes']['region'])) {
if ($variables['attributes']['region'] === 'sidebar') { if ($variables['attributes']['region'] === 'sidebar') {
$variables['attributes']['class'][] = 'menu--sidebar'; $variables['attributes']['class'][] = 'menu--sidebar';
@ -202,7 +208,8 @@ function olivesnews_preprocess_menu(&$variables) {
/** /**
* Implements hook_theme_suggestions_HOOK_alter() for form templates. * Implements hook_theme_suggestions_HOOK_alter() for form templates.
*/ */
function olivesnews_theme_suggestions_form_alter(array &$suggestions, array $variables) { function olivesnews_theme_suggestions_form_alter(array &$suggestions, array $variables)
{
if ($variables['element']['#form_id'] === 'search_block_form') { if ($variables['element']['#form_id'] === 'search_block_form') {
$suggestions[] = 'form__search_block_form'; $suggestions[] = 'form__search_block_form';
} }
@ -211,7 +218,8 @@ function olivesnews_theme_suggestions_form_alter(array &$suggestions, array $var
/** /**
* Implements hook_form_alter() for adding classes and placeholder text to the search forms. * Implements hook_form_alter() for adding classes and placeholder text to the search forms.
*/ */
function olivesnews_form_alter(&$form, FormStateInterface $form_state, $form_id) { function olivesnews_form_alter(&$form, FormStateInterface $form_state, $form_id)
{
if (isset($form['actions']['submit']) && (count($form['actions'])) <= 2) { if (isset($form['actions']['submit']) && (count($form['actions'])) <= 2) {
$form['actions']['submit']['#attributes']['class'][] = 'button--primary'; $form['actions']['submit']['#attributes']['class'][] = 'button--primary';
} }
@ -236,7 +244,8 @@ function olivesnews_form_alter(&$form, FormStateInterface $form_state, $form_id)
/** /**
* Implements hook_theme_suggestions_HOOK_alter() for block(). * Implements hook_theme_suggestions_HOOK_alter() for block().
*/ */
function olivesnews_theme_suggestions_block_alter(&$suggestions, array $variables) { function olivesnews_theme_suggestions_block_alter(&$suggestions, array $variables)
{
if (!empty($variables['elements']['#id'])) { if (!empty($variables['elements']['#id'])) {
/** @var \Drupal\block\BlockInterface $block */ /** @var \Drupal\block\BlockInterface $block */
@ -259,7 +268,8 @@ function olivesnews_theme_suggestions_block_alter(&$suggestions, array $variable
/** /**
* Implements hook_preprocess_HOOK() for menu-local-tasks templates. * Implements hook_preprocess_HOOK() for menu-local-tasks templates.
*/ */
function olivesnews_preprocess_menu_local_tasks(&$variables) { function olivesnews_preprocess_menu_local_tasks(&$variables)
{
foreach (Element::children($variables['primary']) as $key) { foreach (Element::children($variables['primary']) as $key) {
$variables['primary'][$key]['#level'] = 'primary'; $variables['primary'][$key]['#level'] = 'primary';
} }
@ -271,8 +281,9 @@ function olivesnews_preprocess_menu_local_tasks(&$variables) {
/** /**
* Implements hook_preprocess_form_element(). * Implements hook_preprocess_form_element().
*/ */
function olivesnews_preprocess_form_element(&$variables) { function olivesnews_preprocess_form_element(&$variables)
if (in_array($variables['element']['#type'] ?? FALSE, ['checkbox', 'radio'], TRUE)) { {
if (in_array($variables['element']['#type'] ?? false, ['checkbox', 'radio'], true)) {
$variables['attributes']['class'][] = 'form-type-boolean'; $variables['attributes']['class'][] = 'form-type-boolean';
} }
@ -288,18 +299,20 @@ function olivesnews_preprocess_form_element(&$variables) {
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_form_element_label(&$variables) { function olivesnews_preprocess_form_element_label(&$variables)
{
$variables['attributes']['class'][] = 'form-item__label'; $variables['attributes']['class'][] = 'form-item__label';
} }
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_input(&$variables) { function olivesnews_preprocess_input(&$variables)
{
if ( if (
!empty($variables['element']['#title_display']) && !empty($variables['element']['#title_display'])
$variables['element']['#title_display'] === 'attribute' && && $variables['element']['#title_display'] === 'attribute'
!empty((string) $variables['element']['#title']) && !empty((string) $variables['element']['#title'])
) { ) {
$variables['attributes']['title'] = (string) $variables['element']['#title']; $variables['attributes']['title'] = (string) $variables['element']['#title'];
} }
@ -323,7 +336,7 @@ function olivesnews_preprocess_input(&$variables) {
'week', 'week',
]; ];
if (in_array($type_html, $text_types_html, TRUE)) { if (in_array($type_html, $text_types_html, true)) {
$variables['attributes']['class'][] = 'form-element'; $variables['attributes']['class'][] = 'form-element';
$variables['attributes']['class'][] = Html::getClass('form-element--type-' . $type_html); $variables['attributes']['class'][] = Html::getClass('form-element--type-' . $type_html);
$variables['attributes']['class'][] = Html::getClass('form-element--api-' . $type_api); $variables['attributes']['class'][] = Html::getClass('form-element--api-' . $type_api);
@ -335,7 +348,7 @@ function olivesnews_preprocess_input(&$variables) {
} }
} }
if (in_array($type_html, ['checkbox', 'radio'], TRUE)) { if (in_array($type_html, ['checkbox', 'radio'], true)) {
$variables['attributes']['class'][] = 'form-boolean'; $variables['attributes']['class'][] = 'form-boolean';
$variables['attributes']['class'][] = Html::getClass('form-boolean--type-' . $type_html); $variables['attributes']['class'][] = Html::getClass('form-boolean--type-' . $type_html);
} }
@ -344,7 +357,8 @@ function olivesnews_preprocess_input(&$variables) {
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_textarea(&$variables) { function olivesnews_preprocess_textarea(&$variables)
{
$variables['attributes']['class'][] = 'form-element'; $variables['attributes']['class'][] = 'form-element';
$variables['attributes']['class'][] = 'form-element--type-textarea'; $variables['attributes']['class'][] = 'form-element--type-textarea';
$variables['attributes']['class'][] = 'form-element--api-textarea'; $variables['attributes']['class'][] = 'form-element--api-textarea';
@ -353,34 +367,38 @@ function olivesnews_preprocess_textarea(&$variables) {
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_select(&$variables) { function olivesnews_preprocess_select(&$variables)
{
$variables['attributes']['class'][] = 'form-element'; $variables['attributes']['class'][] = 'form-element';
$variables['attributes']['class'][] = $variables['element']['#multiple'] ? $variables['attributes']['class'][] = $variables['element']['#multiple']
'form-element--type-select-multiple' : ? 'form-element--type-select-multiple'
'form-element--type-select'; : 'form-element--type-select';
} }
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_checkboxes(&$variables) { function olivesnews_preprocess_checkboxes(&$variables)
{
$variables['attributes']['class'][] = 'form-boolean-group'; $variables['attributes']['class'][] = 'form-boolean-group';
} }
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_radios(&$variables) { function olivesnews_preprocess_radios(&$variables)
{
$variables['attributes']['class'][] = 'form-boolean-group'; $variables['attributes']['class'][] = 'form-boolean-group';
} }
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_field(&$variables) { function olivesnews_preprocess_field(&$variables)
{
$rich_field_types = ['text_with_summary', 'text', 'text_long']; $rich_field_types = ['text_with_summary', 'text', 'text_long'];
if (in_array($variables['field_type'], $rich_field_types, TRUE)) { if (in_array($variables['field_type'], $rich_field_types, true)) {
$variables['attributes']['class'][] = 'text-content'; $variables['attributes']['class'][] = 'text-content';
} }
@ -392,7 +410,8 @@ function olivesnews_preprocess_field(&$variables) {
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_field_multiple_value_form(&$variables) { function olivesnews_preprocess_field_multiple_value_form(&$variables)
{
// Make disabled available for the template. // Make disabled available for the template.
$variables['disabled'] = !empty($variables['element']['#disabled']); $variables['disabled'] = !empty($variables['element']['#disabled']);
@ -431,8 +450,7 @@ function olivesnews_preprocess_field_multiple_value_form(&$variables) {
if (is_array($cell) && isset($cell['data'])) { if (is_array($cell) && isset($cell['data'])) {
$cell = $cell + ['class' => []]; $cell = $cell + ['class' => []];
$cell['class'][] = 'is-disabled'; $cell['class'][] = 'is-disabled';
} } else {
else {
// We have to modify the structure of this header cell. // We have to modify the structure of this header cell.
$cell = [ $cell = [
'data' => $cell, 'data' => $cell,
@ -447,14 +465,15 @@ function olivesnews_preprocess_field_multiple_value_form(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for menu-local-task templates. * Implements hook_preprocess_HOOK() for menu-local-task templates.
*/ */
function olivesnews_preprocess_menu_local_task(&$variables) { function olivesnews_preprocess_menu_local_task(&$variables)
{
$variables['link']['#options']['attributes']['class'][] = 'tabs__link'; $variables['link']['#options']['attributes']['class'][] = 'tabs__link';
$variables['link']['#options']['attributes']['class'][] = 'js-tabs-link'; $variables['link']['#options']['attributes']['class'][] = 'js-tabs-link';
// Ensure is-active class is set when the tab is active. The generic active // Ensure is-active class is set when the tab is active. The generic active
// link handler applies stricter comparison rules than what is necessary for // link handler applies stricter comparison rules than what is necessary for
// tabs. // tabs.
if (isset($variables['is_active']) && $variables['is_active'] === TRUE) { if (isset($variables['is_active']) && $variables['is_active'] === true) {
$variables['link']['#options']['attributes']['class'][] = 'is-active'; $variables['link']['#options']['attributes']['class'][] = 'is-active';
} }
@ -466,7 +485,8 @@ function olivesnews_preprocess_menu_local_task(&$variables) {
/** /**
* Implements template_preprocess_HOOK() for fieldset. * Implements template_preprocess_HOOK() for fieldset.
*/ */
function olivesnews_preprocess_fieldset(&$variables) { function olivesnews_preprocess_fieldset(&$variables)
{
$element = $variables['element']; $element = $variables['element'];
$composite_types = ['checkboxes', 'radios']; $composite_types = ['checkboxes', 'radios'];
@ -489,9 +509,9 @@ function olivesnews_preprocess_fieldset(&$variables) {
if (!empty($variables['attributes']['class'])) { if (!empty($variables['attributes']['class'])) {
$container_inline_key = array_search('container-inline', $variables['attributes']['class']); $container_inline_key = array_search('container-inline', $variables['attributes']['class']);
if ($container_inline_key !== FALSE) { if ($container_inline_key !== false) {
unset($variables['attributes']['class'][$container_inline_key]); unset($variables['attributes']['class'][$container_inline_key]);
$variables['inline_items'] = TRUE; $variables['inline_items'] = true;
} }
} }
} }
@ -499,14 +519,16 @@ function olivesnews_preprocess_fieldset(&$variables) {
/** /**
* Implements hook_theme_suggestions_HOOK_alter(). * Implements hook_theme_suggestions_HOOK_alter().
*/ */
function olivesnews_theme_suggestions_user_alter(&$suggestions, $variables) { function olivesnews_theme_suggestions_user_alter(&$suggestions, $variables)
{
$suggestions[] = 'user__' . $variables['elements']['#view_mode']; $suggestions[] = 'user__' . $variables['elements']['#view_mode'];
} }
/** /**
* Implements hook_preprocess_HOOK(). * Implements hook_preprocess_HOOK().
*/ */
function olivesnews_preprocess_field__node__created(&$variables) { function olivesnews_preprocess_field__node__created(&$variables)
{
foreach (Element::children($variables['items']) as $item) { foreach (Element::children($variables['items']) as $item) {
unset($variables['items'][$item]['content']['#prefix']); unset($variables['items'][$item]['content']['#prefix']);
} }
@ -515,14 +537,16 @@ function olivesnews_preprocess_field__node__created(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for setting classes. * Implements hook_preprocess_HOOK() for setting classes.
*/ */
function olivesnews_preprocess_filter_caption(&$variables) { function olivesnews_preprocess_filter_caption(&$variables)
{
$variables['classes'] = isset($variables['classes']) && !empty($variables['classes']) ? $variables['classes'] . ' caption' : 'caption'; $variables['classes'] = isset($variables['classes']) && !empty($variables['classes']) ? $variables['classes'] . ' caption' : 'caption';
} }
/** /**
* Implements hook_form_FORM_ID_alter(). * Implements hook_form_FORM_ID_alter().
*/ */
function olivesnews_form_node_preview_form_select_alter(&$form, FormStateInterface $form_state, $form_id) { function olivesnews_form_node_preview_form_select_alter(&$form, FormStateInterface $form_state, $form_id)
{
$form['backlink']['#options']['attributes']['class'][] = 'button'; $form['backlink']['#options']['attributes']['class'][] = 'button';
$form['backlink']['#options']['attributes']['class'][] = 'button--small'; $form['backlink']['#options']['attributes']['class'][] = 'button--small';
$form['backlink']['#options']['attributes']['class'][] = 'button--icon-back'; $form['backlink']['#options']['attributes']['class'][] = 'button--icon-back';
@ -533,7 +557,8 @@ function olivesnews_form_node_preview_form_select_alter(&$form, FormStateInterfa
/** /**
* Implements hook_preprocess_HOOK() for comment.html.twig. * Implements hook_preprocess_HOOK() for comment.html.twig.
*/ */
function olivesnews_preprocess_comment(&$variables) { function olivesnews_preprocess_comment(&$variables)
{
// Getting the node creation time stamp from the comment object. // Getting the node creation time stamp from the comment object.
$date = $variables['comment']->getCreatedTime(); $date = $variables['comment']->getCreatedTime();
// Formatting "created" as "X days ago". // Formatting "created" as "X days ago".
@ -543,7 +568,8 @@ function olivesnews_preprocess_comment(&$variables) {
/** /**
* Implements hook_preprocess_HOOK() for field--comment.html.twig. * Implements hook_preprocess_HOOK() for field--comment.html.twig.
*/ */
function olivesnews_preprocess_field__comment(&$variables) { function olivesnews_preprocess_field__comment(&$variables)
{
// Add a comment_count. // Add a comment_count.
$variables['comment_count'] = count(array_filter($variables['comments'], 'is_numeric', ARRAY_FILTER_USE_KEY)); $variables['comment_count'] = count(array_filter($variables['comments'], 'is_numeric', ARRAY_FILTER_USE_KEY));
@ -564,7 +590,8 @@ function olivesnews_preprocess_field__comment(&$variables) {
/** /**
* Implements hook_element_info_alter(). * Implements hook_element_info_alter().
*/ */
function olivesnews_element_info_alter(&$info) { function olivesnews_element_info_alter(&$info)
{
if (array_key_exists('text_format', $info)) { if (array_key_exists('text_format', $info)) {
$info['text_format']['#pre_render'][] = [OlivesnewsPreRender::class, 'textFormat']; $info['text_format']['#pre_render'][] = [OlivesnewsPreRender::class, 'textFormat'];
} }
@ -579,7 +606,8 @@ function olivesnews_element_info_alter(&$info) {
* *
* @todo Remove when https://www.drupal.org/node/3016343 is fixed. * @todo Remove when https://www.drupal.org/node/3016343 is fixed.
*/ */
function olivesnews_preprocess_text_format_wrapper(&$variables) { function olivesnews_preprocess_text_format_wrapper(&$variables)
{
$description_attributes = []; $description_attributes = [];
if (!empty($variables['attributes']['id'])) { if (!empty($variables['attributes']['id'])) {
$description_attributes['id'] = $variables['attributes']['aria-describedby'] = $variables['attributes']['id']; $description_attributes['id'] = $variables['attributes']['aria-describedby'] = $variables['attributes']['id'];
@ -591,7 +619,8 @@ function olivesnews_preprocess_text_format_wrapper(&$variables) {
/** /**
* Implements hook_preprocess_search_result(). * Implements hook_preprocess_search_result().
*/ */
function olivesnews_preprocess_search_result(&$variables) { function olivesnews_preprocess_search_result(&$variables)
{
// Apply custom date formatter to "date" field. // Apply custom date formatter to "date" field.
if (!empty($variables['result']['date'])) { if (!empty($variables['result']['date'])) {
$variables['info_date'] = \Drupal::service('date.formatter')->format($variables['result']['node']->getCreatedTime(), 'olivesnews_medium'); $variables['info_date'] = \Drupal::service('date.formatter')->format($variables['result']['node']->getCreatedTime(), 'olivesnews_medium');
@ -601,7 +630,8 @@ function olivesnews_preprocess_search_result(&$variables) {
/** /**
* Implements hook_preprocess_links__comment(). * Implements hook_preprocess_links__comment().
*/ */
function olivesnews_preprocess_links__comment(&$variables) { function olivesnews_preprocess_links__comment(&$variables)
{
foreach ($variables['links'] as &$link) { foreach ($variables['links'] as &$link) {
$link['link']['#options']['attributes']['class'][] = 'comment__links-link'; $link['link']['#options']['attributes']['class'][] = 'comment__links-link';
} }
@ -610,16 +640,17 @@ function olivesnews_preprocess_links__comment(&$variables) {
/** /**
* Implements hook_preprocess_table(). * Implements hook_preprocess_table().
*/ */
function olivesnews_preprocess_table(&$variables) { function olivesnews_preprocess_table(&$variables)
{
// Mark the whole table and the first cells if rows are draggable. // Mark the whole table and the first cells if rows are draggable.
if (!empty($variables['rows'])) { if (!empty($variables['rows'])) {
$draggable_row_found = FALSE; $draggable_row_found = false;
foreach ($variables['rows'] as &$row) { foreach ($variables['rows'] as &$row) {
/** @var \Drupal\Core\Template\Attribute $row['attributes'] */ /** @var \Drupal\Core\Template\Attribute $row['attributes'] */
if (!empty($row['attributes']) && $row['attributes']->hasClass('draggable')) { if (!empty($row['attributes']) && $row['attributes']->hasClass('draggable')) {
if (!$draggable_row_found) { if (!$draggable_row_found) {
$variables['attributes']['class'][] = 'draggable-table'; $variables['attributes']['class'][] = 'draggable-table';
$draggable_row_found = TRUE; $draggable_row_found = true;
} }
} }
} }
@ -629,7 +660,8 @@ function olivesnews_preprocess_table(&$variables) {
/** /**
* Implements hook_form_views_exposed_form_alter(). * Implements hook_form_views_exposed_form_alter().
*/ */
function olivesnews_form_views_exposed_form_alter(&$form) { function olivesnews_form_views_exposed_form_alter(&$form)
{
$form['#attributes']['class'][] = 'form--inline'; $form['#attributes']['class'][] = 'form--inline';
} }
@ -652,7 +684,8 @@ function olivesnews_form_views_exposed_form_alter(&$form) {
* *
* @internal * @internal
*/ */
function _olivesnews_hex_to_hsl(string $hex_string) { function _olivesnews_hex_to_hsl(string $hex_string)
{
// Convert hexcode pairs to rgb values (0-255). // Convert hexcode pairs to rgb values (0-255).
$hex_val = trim($hex_string, '#'); $hex_val = trim($hex_string, '#');
$r0 = hexdec($hex_val[0] . $hex_val[1]); $r0 = hexdec($hex_val[0] . $hex_val[1]);
@ -671,8 +704,7 @@ function _olivesnews_hex_to_hsl(string $hex_string) {
if ($delta == 0) { if ($delta == 0) {
$h = 0; $h = 0;
} } else {
else {
switch ($c_max) { switch ($c_max) {
case $r: case $r:
$h = fmod((($g - $b) / $delta), 6); $h = fmod((($g - $b) / $delta), 6);
@ -712,34 +744,7 @@ function _olivesnews_hex_to_hsl(string $hex_string) {
return [$h, $s, $l]; return [$h, $s, $l];
} }
/* function olivesnews_preprocess_page(&$variables)
function olivesnews_preprocess_mirador(&$variables) { {
$block = \Drupal::service('plugin.manager.block')->createInstance($viewer . 'mirador_block', [ $variables['#attached']['library'][] = 'olivesnews/nouislider-year-format';
'iiif_manifest_url' => "/node/$manifest_nid/manifest-single",
'thumbnail_navigation_position' => 'hidden',
'window_config' => [
'allowClose' => FALSE,
'allowMaximize' => FALSE,
'allowTopMenuButton' => FALSE,
'allowWindowSideBar' => FALSE,
'hideWindowTitle' => TRUE,
'panels' => [
'info' => FALSE,
'attribution' => FALSE,
' canvas' => FALSE,
'annotations' => FALSE,
'search' => FALSE,
],
],
'workspace_config' => [
'allowNewWindows' => FALSE,
'isWorkspaceAddVisible' => FALSE,
'workspaceControlPanel' => [
'enable' => FALSE,
],
],
]);
} }
*/

Loading…
Cancel
Save