X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tpl%2Fdefault%2Fjs%2Fshaarli.js;h=01e22022edd4ccbad8c679066be888003973ebce;hb=2bbf5d03ca47c9ce5bc88aabae6096f90f646cab;hp=24d11cdb23465105a23570b6cb53a5fa42f098f0;hpb=60d64256393ec4156ef7873860c14aa1028ffb60;p=github%2Fshaarli%2FShaarli.git diff --git a/tpl/default/js/shaarli.js b/tpl/default/js/shaarli.js index 24d11cdb..01e22022 100644 --- a/tpl/default/js/shaarli.js +++ b/tpl/default/js/shaarli.js @@ -138,27 +138,6 @@ if (newVersionDismiss != null) { }); } -/** - * Login button - */ -var loginButton = document.getElementById('login-button'); -var loginBlock = document.getElementById('header-login-form'); - -if (loginButton != null) { - loginButton.addEventListener('click', function(event) { - event.preventDefault(); - loginBlock.classList.toggle('open'); - document.getElementById('content').style.boxShadow = 'none'; - }); -} - -// Focus on login field. -if (loginBlock != null) { - loginBlock.addEventListener('transitionend', function () { - loginBlock.firstElementChild.focus(); - }); -} - var hiddenReturnurl = document.getElementsByName('returnurl'); if (hiddenReturnurl != null) { hiddenReturnurl.value = window.location.href; @@ -173,15 +152,39 @@ if (autofocusElements != null) { } /** - * Hide search bar, and display it on search click. + * Hide search bar */ -var searchBar = document.getElementById('search'); -var searchButton = document.getElementById('search-button'); -if (searchBar != null && searchButton != null) { - searchBar.classList.toggle('closed'); - searchButton.addEventListener('click', function(event) { - event.preventDefault(); - searchBar.classList.toggle('closed'); - searchBar.classList.toggle('open'); +var search = document.getElementById('search'); +if (search != null) { + removeClass(search, 'open'); +} + +/** + * Handle sub menus/forms + */ +var openers = document.getElementsByClassName('subheader-opener'); +if (openers != null) { + console.log(openers); + [].forEach.call(openers, function(opener) { + opener.addEventListener('click', function(event) { + event.preventDefault(); + + var id = opener.getAttribute('data-open-id'); + var sub = document.getElementById(id); + + if (sub != null) { + [].forEach.call(document.getElementsByClassName('subheader-form'), function (element) { + if (element != sub) { + removeClass(element, 'open') + } + }); + + sub.classList.toggle('open'); + } + }); }); } + +function removeClass(element, classname) { + element.className = element.className.replace(new RegExp('(?:^|\\s)'+ classname + '(?:\\s|$)'), ' '); +} \ No newline at end of file