Warning: fopen(/www/sites/update.greasyfork.icu/index/store/temp/96f48cbf555a95de52a1c9b36ed4276a.js): failed to open stream: No space left on device in /www/sites/update.greasyfork.icu/index/scriptControl.php on line 65
// ==UserScript==
// @name mmmturkeybacon Checkpoint Creator
// @author mmmturkeybacon
// @description Adds checkboxes next to HIT links so that you can set a checkpoint.
// A checkpoint will notify you that you've already seen a HIT by
// changing the HIT link to display the date the checkpoint was set. A
// well-placed checkpoint is useful when browsing HITs by creation date
// (newest first) because it will alert you that you've already seen the
// checkpoint HIT and probably all the HITs that come after it.
// It's best to place a checkpoint on a HIT that won't be recreated
// because recreated HITs jump to the first page.
// mmmturkeybacon Color Coded Search with Checkpoints has the same
// functionality built-in. So if you have that installed you don't
// need this script.
// @namespace http://userscripts.org/users/523367
// @match https://*.mturk.com/mturk/viewhits*
// @match https://*.mturk.com/mturk/findhits*
// @match https://*.mturk.com/mturk/sorthits*
// @match https://*.mturk.com/mturk/searchbar*
// @match https://*.mturk.com/mturk/viewsearchbar*
// @match https://*.mturk.com/mturk/sortsearchbar*
// @match https://*.mturk.com/mturk/preview?*
// @match https://*.mturk.com/mturk/statusdetail*
// @match https://*.mturk.com/mturk/return*
// @require http://code.jquery.com/jquery-latest.min.js
// @version 1.3
// @grant GM_getValue
// @grant GM_setValue
// @downloadURL https://update.greasyfork.icu/scripts/3112/mmmturkeybacon%20Checkpoint%20Creator.user.js
// @updateURL https://update.greasyfork.icu/scripts/3112/mmmturkeybacon%20Checkpoint%20Creator.meta.js
// ==/UserScript==
//var CHECKPOINT_COLOR = "#00AAAA"; // dark green-blue
var CHECKPOINT_COLOR = "#000000"; // black
var CHECKPOINT_MESSAGE = "CHECKPOINT REACHED!";
//var CHECKPOINT_MESSAGE = "YOU SHALL NOT PASS!";
var is_HIT = $("input[type='hidden'][name='isAccepted']").length > 0;
if (is_HIT)
{
// not on a search page so quit
return;
}
// This script won't place a checkbox next to HITs for which you are not
// qualified that don't have a link.
$('a[href^="/mturk/preview?groupId="]').each(function()
{
var checkbox = document.createElement('INPUT');
checkbox.type = 'checkbox';
checkbox.name = $(this).attr('href').slice(23); // groupId
checkbox.checked = GM_getValue(checkbox.name+'_checked', false);
checkbox.addEventListener('click', set_checkpoint);
//checkbox.addEventListener('click', (function(checkbox,$link_obj){return function(){set_checkpoint(checkbox,$link_obj);};})(checkbox,$(this)) );
checkbox.style.cssText ='vertical-align:middle;';
$(this).after(checkbox);
mark_checkpoint(checkbox, $(this));
});
function set_checkpoint(e)
{
var caller = e.target || e.srcElement;
var d = new Date();
GM_setValue(caller.name+'_checked', caller.checked);
GM_setValue(caller.name+'_date', '['+d.toLocaleDateString()+'] ');
}
function mark_checkpoint(checkbox, $link_obj)
{
if (checkbox.checked == true)
{
var checkpoint_date = GM_getValue(checkbox.name+'_date');
$link_obj.closest('table[width="100%"][cellspacing="0"][cellpadding="0"][border="0"][height="100%"]').css('border', '50px solid '+CHECKPOINT_COLOR);
$link_obj.text(checkpoint_date+CHECKPOINT_MESSAGE);
}
}