AtCoderLabelChanger

提出結果をまとめるスクリプト.ついでに色も変えます.

Pada tanggal 28 Maret 2020. Lihat %(latest_version_link).

  1. // ==UserScript==
  2. // @name AtCoderLabelChanger
  3. // @version 1.2
  4. // @description 提出結果をまとめるスクリプト.ついでに色も変えます.
  5. // @author y-oksaku
  6. // @namespace https://github.com/y-oksaku/AtCoderLabelChanger
  7. // @match https://atcoder.jp/contests/*/submissions/*
  8. // @grant none
  9. // @license CC0-1.0
  10. // ==/UserScript==
  11.  
  12. (function(callback) {
  13. var script = document.createElement("script");
  14. script.setAttribute("src", "//code.jquery.com/jquery-3.3.1.min.js");
  15. script.addEventListener('load', function() {
  16. var script = document.createElement("script");
  17. script.textContent = "(" + callback.toString() + ")(jQuery.noConflict(true));";
  18. document.body.appendChild(script);
  19. }, false);
  20. document.body.appendChild(script);
  21. })(function ($) {
  22. let ac = 0;
  23. let wa = 0;
  24. let tle = 0;
  25. let other = 0;
  26.  
  27. $('table > tbody > tr > td:not(#judge-status, .waiting-judge) > span.label').each(function () {
  28. const result = $(this).text();
  29.  
  30. switch (result) {
  31. case 'AC':
  32. $(this).removeClass('label-success');
  33. $(this).addClass('label-success');
  34. ac++;
  35. break;
  36. case 'WA':
  37. $(this).removeClass('label-warning');
  38. $(this).addClass('label-danger');
  39. wa++;
  40. break;
  41. case 'TLE':
  42. tle++;
  43. break;
  44. default:
  45. other++;
  46. break;
  47. }
  48. });
  49.  
  50. let html = '';
  51. if(ac > 0) html += `<span class="label label-success">AC</span> ${ac}&emsp;`;
  52. if(wa > 0) html += `<span class="label label-danger">WA</span> ${wa}&emsp;`;
  53. if(tle > 0) html += `<span class="label label-warning">TLE</span> ${tle}&emsp;`;
  54. if(other > 0) html += `<span class="label label-warning">other</span> ${other}&emsp;`;
  55.  
  56. if(html != '') $('#judge-status').html(html);
  57. });