virtualmanager.com - Employee show stars and role

Shows stars and role on employeesearch

当前为 2023-01-13 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name virtualmanager.com - Employee show stars and role
  3. // @namespace https://greasyfork.org/en/users/884999-l%C3%A6ge-manden
  4. // @version 0.5
  5. // @description Shows stars and role on employeesearch
  6. // @author VeryDoc
  7. // @match https://www.virtualmanager.com/employees/search?*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=virtualmanager.com
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15. window.addEventListener('load', () => {
  16. setInterval(function () {
  17. loadPlugin();
  18. }, 1000);
  19. });
  20.  
  21. window.addEventListener('popstate', function (event) {
  22. loadPlugin();
  23. });
  24.  
  25. function loadPlugin() {
  26. let myTable = document.getElementsByTagName("table")[0].getElementsByTagName('tbody')[0];
  27.  
  28. let rows = myTable.rows;
  29.  
  30. for (let row of rows) {
  31. if (row.classList.contains('toprow') === true) {
  32. if (row.classList.contains('changed') === true) {
  33. return;
  34. }
  35.  
  36. let newCell = row.insertCell();
  37. let newText = document.createTextNode('Ability');
  38. newCell.appendChild(newText);
  39.  
  40. newCell = row.insertCell();
  41. newText = document.createTextNode('Should buy!');
  42. newCell.appendChild(newText);
  43. row.classList.add('changed');
  44. } else {
  45. let a = row.cells[7];
  46. let skillstable = a.getElementsByTagName("table")[0].getElementsByTagName('tbody')[0];
  47. let skills = skillstable.children;
  48. let youthSkills = parseInt(skills[0].innerText.trim().replace(' ', '').replace('\n', ':').split(':')[1]);
  49. let goalkeepingSkills = parseInt(skills[1].innerText.trim().replace(' ', '').replace('\n', ':').split(':')[1]);
  50. let fieldplayerSkills = parseInt(skills[2].innerText.trim().replace(' ', '').replace('\n', ':').split(':')[1]);
  51. let disiplinSkills = parseInt(skills[3].innerText.trim().replace(' ', '').replace('\n', ':').split(':')[1]);
  52. let motivationSkills = parseInt(skills[7].innerText.trim().replace(' ', '').replace('\n', ':').split(':')[1]);
  53.  
  54. let totalSkills = youthSkills + goalkeepingSkills + fieldplayerSkills + disiplinSkills + motivationSkills;
  55. let newCell = row.insertCell();
  56.  
  57. let newText = document.createTextNode('⭐');
  58.  
  59. switch (true) {
  60. case (totalSkills > 80):
  61. newText = document.createTextNode('⭐⭐⭐⭐⭐');
  62. break;
  63. case (totalSkills > 60 && totalSkills < 80):
  64. newText = document.createTextNode('⭐⭐⭐⭐');
  65. break;
  66. case (totalSkills > 40 && totalSkills < 60):
  67. newText = document.createTextNode('⭐⭐⭐');
  68. break;
  69. case (totalSkills > 20 && totalSkills < 40):
  70. newText = document.createTextNode('⭐⭐');
  71. break;
  72. }
  73.  
  74. newCell.appendChild(newText);
  75.  
  76. if ((youthSkills === 20 && goalkeepingSkills === 20) || (youthSkills === 20 && fieldplayerSkills === 20) || (fieldplayerSkills === 20 && motivationSkills > 14 && disiplinSkills > 14) || (goalkeepingSkills === 20 && motivationSkills > 14 && disiplinSkills > 14)) {
  77.  
  78. newCell = row.insertCell();
  79. newCell.style.fontSize = "9px";
  80. newText = document.createTextNode("Yes");
  81. newCell.appendChild(newText);
  82. newCell.style.backgroundColor = "green";
  83. }
  84. else {
  85. newCell = row.insertCell();
  86. newCell.style.fontSize = "9px";
  87. newText = document.createTextNode("No");
  88. newCell.appendChild(newText);
  89. newCell.style.backgroundColor = "red";
  90. }
  91. }
  92. }
  93. };
  94. })();