mmmturkeybacon Show Only HIT Posts

Show only posts that contain links to mturk.

  1. // ==UserScript==
  2. // @name mmmturkeybacon Show Only HIT Posts
  3. // @version 1.17
  4. // @description Show only posts that contain links to mturk.
  5. // @author mmmturkeybacon
  6. // @namespace http://userscripts.org/users/523367
  7. // @match http://mturkgrind.com/threads/*
  8. // @match http://www.mturkgrind.com/threads/*
  9. // @match http://mturkgrind.com/showthread.php?*
  10. // @match http://www.mturkgrind.com/showthread.php?*
  11. // @match http://mturkforum.com/showthread.php?*
  12. // @match http://www.mturkforum.com/showthread.php?*
  13. // @match http://turkernation.com/showthread.php?*
  14. // @match http://www.turkernation.com/showthread.php?*
  15. // @exclude http://mturkgrind.com/threads/*#post*
  16. // @exclude http://www.mturkgrind.com/threads/*#post*
  17. // @exclude http://mturkgrind.com/showthread.php?*post*
  18. // @exclude http://www.mturkgrind.com/showthread.php?*post*
  19. // @exclude http://mturkforum.com/showthread.php?*post*
  20. // @exclude http://www.mturkforum.com/showthread.php?*post*
  21. // @exclude http://turkernation.com/showthread.php?*post*
  22. // @exclude http://www.turkernation.com/showthread.php?*post*
  23. // @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
  24. // @grant GM_getValue
  25. // @grant GM_setValue
  26. // ==/UserScript==
  27.  
  28.  
  29. $(document).ready(function()
  30. {
  31. function show_only_hits()
  32. {
  33. $('li[id^="post_"], li[id^="post-"]').not('li[id^="post_thanks_box_"], li[id^="likes-post"], li[id^="ln_thanks_box"]').each(function()
  34. {
  35. if ($(this).find('a[href^="https://www.mturk.com/mturk/preview"]').length == 0)
  36. {
  37. var $this = $(this);
  38. $this.hide();
  39. $this.attr('hidden_post', 'true');
  40. var $thanks = $this.next('li[id^="post_thanks_box_"], li[id^="likes-post"][style!="display:none"], li[id^="ln_thanks_box"][style!="display:none"]');
  41. $thanks.hide();
  42. $thanks.attr('hidden_post', 'true');
  43. }
  44. });
  45. }
  46.  
  47. function toggle_hidden()
  48. {
  49. if (toggle_button.textContent == 'Show Only HITs')
  50. {
  51. toggle_button.textContent = 'Show All Posts';
  52. GM_setValue('toggle_button.textContent', 'Show All Posts');
  53.  
  54. show_only_hits();
  55. }
  56. else if(toggle_button.textContent == 'Show All Posts')
  57. {
  58. toggle_button.textContent = 'Show Only HITs';
  59. GM_setValue('toggle_button.textContent', 'Show Only HITs');
  60.  
  61. $('li[id^="post_"], li[id^="post-"][hidden_post="true"]').not('li[id^="post_thanks_box_"], li[id^="likes-post"], li[id^="ln_thanks_box"]').each(function()
  62. {
  63. var $this = $(this);
  64. $this.show();
  65. $this.next('li[id^="post_thanks_box_"], li[id^="likes-post"][hidden_post="true"], li[id^="ln_thanks_box"][hidden_post="true"]').show();
  66. });
  67.  
  68. }
  69. }
  70.  
  71. var top_offset = (document.domain.indexOf('turkernation.com') > -1) ? '150px' : '10px';
  72. var button_holder = document.createElement('DIV');
  73. button_holder.style.cssText = 'position: fixed; top: '+top_offset+'; left: 10px; z-index: 1899999; font-size: 15px';
  74. var toggle_button = document.createElement('BUTTON');
  75. toggle_button.textContent = GM_getValue('toggle_button.textContent', 'Show Only HITs');
  76. toggle_button.onclick = function(){toggle_hidden();};
  77. if (toggle_button.textContent == 'Show All Posts')
  78. {
  79. show_only_hits();
  80. }
  81. document.body.insertBefore(button_holder, document.body.firstChild);
  82. button_holder.appendChild(toggle_button);
  83. });