dashboard.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*******************************************************************************
  2. ηMatrix - a browser extension to black/white list requests.
  3. Copyright (C) 2014-2019 Raymond Hill
  4. Copyright (C) 2019-2022 Alessio Vanni
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see {http://www.gnu.org/licenses/}.
  15. Home: https://gitlab.com/vannilla/ematrix
  16. uMatrix Home: https://github.com/gorhill/uMatrix
  17. */
  18. 'use strict';
  19. (function() {
  20. let loadDashboardPanel = function (hash) {
  21. var button = uDom(hash);
  22. var url = button.attr('data-dashboard-panel-url');
  23. uDom('iframe').attr('src', url);
  24. uDom('.tabButton').forEach(function (button) {
  25. button.toggleClass('selected',
  26. button.attr('data-dashboard-panel-url') === url);
  27. });
  28. };
  29. let onTabClickHandler = function () {
  30. loadDashboardPanel(window.location.hash);
  31. };
  32. uDom.onLoad(function () {
  33. window.addEventListener('hashchange', onTabClickHandler);
  34. let hash = window.location.hash;
  35. if (hash.length < 2) {
  36. hash = '#settings';
  37. }
  38. loadDashboardPanel(hash);
  39. });
  40. })();