Skip to content

Instantly share code, notes, and snippets.

@NoxArt
Last active November 29, 2023 12:38
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NoxArt/8085521 to your computer and use it in GitHub Desktop.
Save NoxArt/8085521 to your computer and use it in GitHub Desktop.
AdminerRestoreMenuScroll plugin for Adminer
<?php
/** Remembers and restores scollbar position of side menu
* @author Jiří @NoxArt Petruželka, www.noxart.cz
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
*/
class AdminerRestoreMenuScroll {
protected $script;
/**
* @param string text to append before first calendar usage
*/
public function __construct($script = "<script type='text/javascript'>\n(function(){\nvar executed = false;\nvar saveAndRestore = function() {\nif( executed ) {\nreturn;\n}\n
executed = true;\nvar menu = document.getElementById('menu');\nvar scrolled = localStorage.getItem('_adminerScrolled');\nif( scrolled && scrolled >= 0 ) {\nmenu.scrollTop = scrolled;\n}\n
window.addEventListener('unload', function(){\nlocalStorage.setItem('_adminerScrolled', menu.scrollTop);\n});\n};\ndocument.addEventListener && document.addEventListener('DOMContentLoaded', saveAndRestore);\ndocument.attachEvent && document.attachEvent('onreadystatechange', saveAndRestore);\n})();\n</script>")
{
$this->script = $script;
}
public function head()
{
echo $this->script;
}
}
@NoxArt
Copy link
Author

NoxArt commented Sep 30, 2021

Glad you find it helpful. Thank you for fixing it and also reformatting, much more readable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment