MQTT smart home web interface
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

autotab.js 749B

12345678910111213141516171819202122232425262728293031
  1. // https://stackoverflow.com/a/72358089
  2. const tabs = document.querySelector('#nav-tab').querySelectorAll('button[data-bs-toggle="tab"]');
  3. tabs.forEach(tab => {
  4. tab.addEventListener('shown.bs.tab', (event) => {
  5. const { target } = event;
  6. const { id: targetId } = target;
  7. saveTabId(targetId);
  8. });
  9. });
  10. const saveTabId = (selector) => {
  11. localStorage.setItem('activeTabId', selector);
  12. };
  13. const getTabId = () => {
  14. const activeTabId = localStorage.getItem('activeTabId');
  15. // if local storage item is null, show default tab
  16. if (!activeTabId) return;
  17. // call 'show' function
  18. const someTabTriggerEl = document.querySelector(`#${activeTabId}`)
  19. const tab = new bootstrap.Tab(someTabTriggerEl);
  20. tab.show();
  21. };
  22. getTabId();