dashboard.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*******************************************************************************
  2. ηMatrix - a browser extension to black/white list requests.
  3. Copyright (C) 2014-2019 Raymond Hill
  4. Copyright (C) 2019 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. uMatrix Home: https://github.com/gorhill/uMatrix
  16. */
  17. /* global uDom */
  18. 'use strict';
  19. /******************************************************************************/
  20. (function() {
  21. var loadDashboardPanel = function(hash) {
  22. var button = uDom(hash);
  23. var url = button.attr('data-dashboard-panel-url');
  24. uDom('iframe').attr('src', url);
  25. uDom('.tabButton').forEach(function(button){
  26. button.toggleClass(
  27. 'selected',
  28. button.attr('data-dashboard-panel-url') === url
  29. );
  30. });
  31. };
  32. var onTabClickHandler = function() {
  33. loadDashboardPanel(window.location.hash);
  34. };
  35. uDom.onLoad(function() {
  36. window.addEventListener('hashchange', onTabClickHandler);
  37. var hash = window.location.hash;
  38. if ( hash.length < 2 ) {
  39. hash = '#settings';
  40. }
  41. loadDashboardPanel(hash);
  42. });
  43. })();