ModuleHider

hides empty modules in the uspace overview

  1. // ==UserScript==
  2. // @name ModuleHider
  3. // @namespace hem
  4. // @description hides empty modules in the uspace overview
  5. // @match https://uspace.univie.ac.at/web/studierende/pruefungspass*
  6. // @include https://uspace.univie.ac.at/de/web/studierende/pruefungspass*
  7. // @include https://uspace.univie.ac.at/en/web/studierende/pruefungspass*
  8. // @author oerpli
  9. // @version 1.2
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. String.prototype.contains = function (it) { return this.indexOf(it) != -1; };
  17. //var textS = $('#language_selection_dropdown').text().contains('DE')?'Leere Module einblenden':'Show empty modules';
  18.  
  19. var textH = $('#language_selection_dropdown').text().contains('DE') ? 'Leere Module ausblenden' : 'Hide empty modules';
  20. var emptyM = true;
  21. $('.nav-pills').append('<li id=\'switchB\'><a href=\'#\' id=\'sBT\'>' + textH + '</a></li>');
  22. $('#switchB').toggle('highlight').toggle('highlight');
  23. $('#switchB').click(function () {
  24. var eelems = $('.red').parent().parent().parent().parent();
  25. if (emptyM) {
  26. $('#sBT').html($(this).html().replace('aus', 'ein').replace('Hide', 'Show'));
  27. eelems.hide();
  28. } else {
  29. $('#sBT').html($(this).html().replace('ein', 'aus').replace('Show', 'Hide'));
  30. eelems.show();
  31. }
  32. emptyM = !emptyM;
  33. });
  34. })();