Skip to content
Snippets Groups Projects
Commit dce0bb44 authored by Alexander Purr's avatar Alexander Purr Committed by Mathias Maaß
Browse files

refs #24792 [fid_adlr] remove inline script

* move chevron-down into svg
* move inline script into js head script section
** on delegate keydown to click
** move focus
** remove legacy lang switcher
* close menu toggler on escape
* remove debugger
parent ffb951e8
Branches
Tags
No related merge requests found
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" x="12px" y="0px" width="24px" height="3px" viewBox="0 0 6 3" enable-background="new 0 0 6 3" xml:space="preserve"><polygon points="5.992,0 2.992,3 -0.008,0 "/></svg>
\ No newline at end of file
...@@ -38,8 +38,7 @@ form { ...@@ -38,8 +38,7 @@ form {
select, select,
#advSearchForm select { #advSearchForm select {
// FIXME: change background-image to chevron-down as svg background-image: url('../images/chevron-down.svg');
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
} }
// Change Autocomplete styles in Chrome // Change Autocomplete styles in Chrome
......
...@@ -142,8 +142,7 @@ ...@@ -142,8 +142,7 @@
data-toggle="dropdown" data-toggle="dropdown"
tabindex="3" tabindex="3"
aria-controls="langmenu" aria-controls="langmenu"
aria-expanded="false" aria-expanded="false">
onkeydown="forceFocus('#langmenu li a')">
<span class="sr-only">Toggle language</span> <span class="sr-only">Toggle language</span>
<span class="decorate"><?= $this->layout()->userLang ?></span> <span class="decorate"><?= $this->layout()->userLang ?></span>
<i class="icon icon-chevron-down" aria-hidden="true"></i> <i class="icon icon-chevron-down" aria-hidden="true"></i>
...@@ -154,8 +153,7 @@ ...@@ -154,8 +153,7 @@
<?php foreach ($this->layout()->allLangs as $langCode => $langName): ?> <?php foreach ($this->layout()->allLangs as $langCode => $langName): ?>
<li<?= $this->layout()->userLang == $langCode ? ' class="active"' : '' ?>> <li<?= $this->layout()->userLang == $langCode ? ' class="active"' : '' ?>>
<?php $fullLangName = $this->displayLanguageOption($langName); ?> <?php $fullLangName = $this->displayLanguageOption($langName); ?>
<a class="btn" href="#" <a class="btn" href="<?=$this->escapeHtmlAttr($this->url()->addQueryParameters(['lng' => $langCode])) ?>" rel="nofollow">
<?= $this->layout()->userLang != $langCode ? 'onClick="document.langForm.mylang.value=\'' . $langCode . '\';document.langForm.submit()"' : '' ?>>
<?= $fullLangName ? ($this->layout()->userLang != $langCode ? $this->transEsc($fullLangName) : $fullLangName) : $langCode ?> <?= $fullLangName ? ($this->layout()->userLang != $langCode ? $this->transEsc($fullLangName) : $fullLangName) : $langCode ?>
</a> </a>
</li> </li>
...@@ -173,7 +171,6 @@ ...@@ -173,7 +171,6 @@
<div> <div>
<a class="navbar-header-link collapsed" <a class="navbar-header-link collapsed"
id="submenuToggler" id="submenuToggler"
onkeydown='clickElementOnKeyDown(event, "#submenuToggler"); forceFocus(".submenu-collapse li a")'
tabindex="4" tabindex="4"
data-toggle="collapse" data-toggle="collapse"
data-target="header, #submenu, #language-dropdown, #register-menu"> data-target="header, #submenu, #language-dropdown, #register-menu">
...@@ -229,8 +226,7 @@ ...@@ -229,8 +226,7 @@
<li class="visible-xs visible-sm visible-md submenu-additionals-lang" > <li class="visible-xs visible-sm visible-md submenu-additionals-lang" >
<?php foreach ($this->layout()->allLangs as $langCode => $langName): ?> <?php foreach ($this->layout()->allLangs as $langCode => $langName): ?>
<?php $fullLangName = $this->displayLanguageOption($langName); ?> <?php $fullLangName = $this->displayLanguageOption($langName); ?>
<a href="#" <a href="<?=$this->escapeHtmlAttr($this->url()->addQueryParameters(['lng' => $langCode])) ?>" rel="nofollow">
<?= $this->layout()->userLang != $langCode ? 'onClick="document.langForm.mylang.value=\'' . $langCode . '\';document.langForm.submit()"' : '' ?>>
<span <?= $this->layout()->userLang == $langCode ? ' class="active"' : '' ?>><?= $fullLangName ? ($this->layout()->userLang != $langCode ? $this->transEsc($fullLangName) : $fullLangName) : $langCode ?></span> <span <?= $this->layout()->userLang == $langCode ? ' class="active"' : '' ?>><?= $fullLangName ? ($this->layout()->userLang != $langCode ? $this->transEsc($fullLangName) : $fullLangName) : $langCode ?></span>
</a> </a>
<?php endforeach; ?> <?php endforeach; ?>
...@@ -298,6 +294,25 @@ ...@@ -298,6 +294,25 @@
$('#language-dropdown').collapse('hide'); $('#language-dropdown').collapse('hide');
} }
}); });
// #17913, catch keydown and move focus
$('#quickfilter-language').on('keydown', function(){
forceFocus('#langmenu li a')
});
// #17913, catch keydown: delegate click and move focus
$("#submenuToggler").on('keydown', function(){
clickElementOnKeyDown(event, "#submenuToggler");
forceFocus(".submenu-collapse li a");
});
// #24792 handle esc for closing toggler
$("#submenu .submenu-collapse").on('keydown', function() {
if (event.key === 'Escape') {
document.getElementById("submenuToggler").click();
forceFocus("#submenuToggler");
}
});
}); });
function clickElementOnKeyDown(event, elementId) { function clickElementOnKeyDown(event, elementId) {
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<?php endif; ?> <?php endif; ?>
/> />
<?php $id = "filter-" . str_replace(' ', '', $tab['label']); ?> <?php $id = "filter-" . str_replace(' ', '', $tab['label']); ?>
<label tabindex="0" onkeydown="clickElementOnKeyDown(event, '#<?=$id?>');" for="<?=$id?>"><?= $this->transEsc($tab['label']) ?></label> <label tabindex="0" for="<?=$id?>"><?= $this->transEsc($tab['label']) ?></label>
<?php elseif ($block = $this->permission()->getAlternateContent($tab['permission'])): ?> <?php elseif ($block = $this->permission()->getAlternateContent($tab['permission'])): ?>
<input type="radio" id="filter-<?= str_replace(' ', '', $tab['label']) . '_permission_denied' ?>" disabled /> <input type="radio" id="filter-<?= str_replace(' ', '', $tab['label']) . '_permission_denied' ?>" disabled />
<label tabindex="0" for="filter-<?= str_replace(' ', '', $tab['label']) . '_permission_denied' ?>"><?=$block?></label> <label tabindex="0" for="filter-<?= str_replace(' ', '', $tab['label']) . '_permission_denied' ?>"><?=$block?></label>
...@@ -88,6 +88,11 @@ ...@@ -88,6 +88,11 @@
return true; return true;
}); });
// #17913; delegate keydown on filter-option-lable as click event to real input
$(".filter-option label").on('keydown', function() {
clickElementOnKeyDown(event, '#' + $(this).attr('for'));
});
}); });
JS; JS;
?> ?>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment