labStartProjectFilterAddon1

Аддон для скрипта https://greasyfork.org/ru/scripts/5385-labstartprojectfilter . Фильтр для выпадающего списка запуска исследований технологии: добавляет чекбоксы "скрыть уже изучаемые" и "скрыть ресурсы".

  1. // ==UserScript==
  2. // @name labStartProjectFilterAddon1
  3. // @description Аддон для скрипта https://greasyfork.org/ru/scripts/5385-labstartprojectfilter . Фильтр для выпадающего списка запуска исследований технологии: добавляет чекбоксы "скрыть уже изучаемые" и "скрыть ресурсы".
  4. // @author cobra3125
  5. // @namespace virtonomica
  6. // @license MIT
  7. // @version 1.3
  8. // @include http*://*virtonomica.*/*/window/unit/view/*/project_create
  9. // ==/UserScript==
  10.  
  11. // [1] Оборачиваем скрипт в замыкание, для кроссбраузерности (opera, ie)
  12. (function (window, undefined) {
  13.  
  14. // [2] нормализуем window
  15. var w;
  16.  
  17. if (typeof unsafeWindow != undefined) {
  18. w = unsafeWindow
  19. } else {
  20. w = window;
  21. }
  22.  
  23. // [3] не запускаем скрипт во фреймах
  24. // без этого условия скрипт будет запускаться несколько раз на странице с фреймами
  25. if (w.self != w.top) {
  26. return;
  27. }
  28.  
  29. // a function that loads jQuery and calls a callback function when jQuery has finished loading
  30. function addJQuery(callback) {
  31. var script = document.createElement("script");
  32. script.setAttribute("src", "https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js");
  33. script.addEventListener('load', function () {
  34. var script = document.createElement("script");
  35. script.textContent = "(" + callback.toString() + ")();";
  36. document.body.appendChild(script);
  37. }, false);
  38. document.body.appendChild(script);
  39. }
  40.  
  41.  
  42. // the guts of this userscript
  43. function main() {
  44. //для добавления в выпадающий список отметок о текущих исследованиях
  45. if (/\w*virtonomica\.\w+\/\w+\/window\/unit\/view\/\d+\/project_create$/.test(window.location)) {
  46. var svToggleHideInProgress = '<label><input id="toggleHideInProgress" type="checkbox">Скрыть уже изучаемые</label>';
  47. var svToggleHideMinableAndGrown = '<label><input id="toggleHideMinableAndGrown" type="checkbox">Скрыть ресурсы</label>';
  48. /////////////////
  49. var row = $('tr:has(td):has(select[name="unit_type"])');
  50. row.after('<tr><td></td><td>'+svToggleHideInProgress+svToggleHideMinableAndGrown+'</td></tr>');
  51. /////////////////
  52. $('#toggleHideInProgress').change( function(){
  53. var bvChecked = $(this).is(':checked');
  54. if (bvChecked) {
  55. $('select[name=unit_type] > option:contains(+)').hide();
  56. } else {
  57. $('select[name=unit_type] > option:contains(+)').show();
  58. }
  59. $("select[name=unit_type]").trigger("chosen:updated");
  60. });
  61. $('#toggleHideMinableAndGrown').change( function(){
  62. var bvChecked = $(this).is(':checked');
  63. if (bvChecked) {
  64. $('select[name=unit_type] > option:contains(рудник)').hide();
  65. $('select[name=unit_type] > option:contains(карьер)').hide();
  66. $('select[name=unit_type] > option:contains(шахта)').hide();
  67. $('select[name=unit_type] > option:contains(Шахта)').hide();
  68. $('select[name=unit_type] > option:contains(Плантация)').hide();
  69. $('select[name=unit_type] > option:contains(Лесопилка)').hide();
  70. $('select[name=unit_type] > option:contains(Земледельческая ферма)').hide();
  71. $('select[name=unit_type] > option:contains(Золотодобывающее предприятие)').hide();
  72. } else {
  73. $('select[name=unit_type] > option:contains(рудник)').show();
  74. $('select[name=unit_type] > option:contains(карьер)').show();
  75. $('select[name=unit_type] > option:contains(шахта)').show();
  76. $('select[name=unit_type] > option:contains(Шахта)').show();
  77. $('select[name=unit_type] > option:contains(Плантация)').show();
  78. $('select[name=unit_type] > option:contains(Лесопилка)').show();
  79. $('select[name=unit_type] > option:contains(Земледельческая ферма)').show();
  80. $('select[name=unit_type] > option:contains(Золотодобывающее предприятие)').show();
  81. }
  82. $("select[name=unit_type]").trigger("chosen:updated");
  83. });
  84. }
  85. }
  86.  
  87. // load jQuery and execute the main function
  88. addJQuery(main);
  89. })(window);