diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2022-03-03 14:18:51 +0000 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2022-03-03 14:18:51 +0000 |
commit | dc4374cb9e7d0aa117e62a1cd026dd81ff7cc3e6 (patch) | |
tree | 6471901627388dae5a391bcf6cc04f09e233fa4b /media/admin/js/nav_sidebar.js | |
parent | 7f41017ce3569cd89c706f089e3f51179e5edc7b (diff) | |
download | troggle-dc4374cb9e7d0aa117e62a1cd026dd81ff7cc3e6.tar.gz troggle-dc4374cb9e7d0aa117e62a1cd026dd81ff7cc3e6.tar.bz2 troggle-dc4374cb9e7d0aa117e62a1cd026dd81ff7cc3e6.zip |
Update to new Django admin styles for v3.x
Diffstat (limited to 'media/admin/js/nav_sidebar.js')
-rw-r--r-- | media/admin/js/nav_sidebar.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/media/admin/js/nav_sidebar.js b/media/admin/js/nav_sidebar.js new file mode 100644 index 0000000..efaa721 --- /dev/null +++ b/media/admin/js/nav_sidebar.js @@ -0,0 +1,39 @@ +'use strict'; +{ + const toggleNavSidebar = document.getElementById('toggle-nav-sidebar'); + if (toggleNavSidebar !== null) { + const navLinks = document.querySelectorAll('#nav-sidebar a'); + function disableNavLinkTabbing() { + for (const navLink of navLinks) { + navLink.tabIndex = -1; + } + } + function enableNavLinkTabbing() { + for (const navLink of navLinks) { + navLink.tabIndex = 0; + } + } + + const main = document.getElementById('main'); + let navSidebarIsOpen = localStorage.getItem('django.admin.navSidebarIsOpen'); + if (navSidebarIsOpen === null) { + navSidebarIsOpen = 'true'; + } + if (navSidebarIsOpen === 'false') { + disableNavLinkTabbing(); + } + main.classList.toggle('shifted', navSidebarIsOpen === 'true'); + + toggleNavSidebar.addEventListener('click', function() { + if (navSidebarIsOpen === 'true') { + navSidebarIsOpen = 'false'; + disableNavLinkTabbing(); + } else { + navSidebarIsOpen = 'true'; + enableNavLinkTabbing(); + } + localStorage.setItem('django.admin.navSidebarIsOpen', navSidebarIsOpen); + main.classList.toggle('shifted'); + }); + } +} |