ProductRnR

Marks a default radio button depending on the HIT.

Version au 26/10/2015. Voir la dernière version.

Vous devrez installer une extension telle que Tampermonkey, Greasemonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Violentmonkey pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey ou Userscripts pour installer ce script.

Vous devrez installer une extension telle que Tampermonkey pour installer ce script.

Vous devrez installer une extension de gestionnaire de script utilisateur pour installer ce script.

(J'ai déjà un gestionnaire de scripts utilisateur, laissez-moi l'installer !)

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension telle que Stylus pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

Vous devrez installer une extension du gestionnaire de style pour utilisateur pour installer ce style.

(J'ai déjà un gestionnaire de style utilisateur, laissez-moi l'installer!)

// ==UserScript==
// @name         ProductRnR
// @namespace    https://greasyfork.org/users/11580
// @version      1.5.3
// @description  Marks a default radio button depending on the HIT.
// @author       Kadauchi
// @icon         http://www.mturkgrind.com/data/avatars/l/1/1084.jpg?1432698290
// @include      https://www.mturkcontent.com/dynamic/*
// @grant        GM_log
// @require      http://code.jquery.com/jquery-2.1.4.min.js
// ==/UserScript==

// Marks radio buttons.
$(".label.nal").click();
$("input[value='notadult']").click(); // Marks Non-Adult.

// Checks to see if we are on Label images based on their relevance for the query.
if ($("b:contains(Unrelated/Only Indirectly Related)").length){
	ProductRnR_Relevance_Query();
}

function ProductRnR_Relevance_Query(){
	$(":radio").on('change',function(){
		$(this).next(":contains(Related)").parent().parent().css("opacity", "1").css({ backgroundColor: "lightgreen", opacity: "1"});
		$(this).next(":contains(Unrelated/Indirectly Related)").parent().parent().css("opacity", "1").css({ backgroundColor: "red", opacity: "1"});
		$(this).next(":contains(Image didn't load)").parent().parent().css({ backgroundColor: "", opacity: "0.1"});
	});
	$("input[value='QueryImage_Unrelated']").prop("checked", true).change();
	$(".documentbox").click(function(e){e.preventDefault();});
	$('.documentbox').contextmenu( function() {
		return false;
	});
	$(".documentbox").mousedown(function(e){
		switch (e.which) {
			case 1:
				if($(this).find("input:radio:checked").next(":contains(Related):not(:contains('Unrelated'))").length > 0){
					$(this).find("input[value='QueryImage_Unrelated']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Image didn't load)").length > 0){
					$(this).find("input[value='QueryImage_Related']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Unrelated/Indirectly Related)").length > 0){
					$(this).find("input[value='QueryImage_Related']").prop("checked", true).change();return false;
				}
				break;
			case 3:
				$(this).find("input[value='NoLoad']").prop("checked", true).change();return false;
				break;
		}
	});
	$("img").error(function(){
		$(this).parents(".documentbox").find("input[value='NoLoad']").prop("checked", true).change();
	});
}

// Checks to see if we are on mark excellent HITs.
if ($("b:contains(excellent)").length){
	ProductRnR_Excellent();
}

function ProductRnR_Excellent(){
	$(":radio").on('change',function(){
		$(this).next(":contains(Excellent)").parent().parent().css("opacity", "1").css({ backgroundColor: "lightgreen", opacity: "1"});
		$(this).next(":contains(Not Excellent)").parent().parent().css("opacity", "1").css({ backgroundColor: "red", opacity: "1"});
		$(this).next(":contains(Image didn't load)").parent().parent().css({ backgroundColor: "", opacity: "0.1"});
	});
	$("input[value='Excellent']").prop("checked", true).change();
	$(".documentbox").click(function(e){e.preventDefault();});
	$('.documentbox').contextmenu( function() {
		return false;
	});
	$(".documentbox").mousedown(function(e){
		switch (e.which) {
			case 1:
				if($(this).find("input:radio:checked").next(":contains(Excellent):not(:contains('Not'))").length > 0){
					$(this).find("input[value='Bad']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Image didn't load)").length > 0){
					$(this).find("input[value='Excellent']").prop("checked", true).change();return false;
				}
				if($(this).find("input:radio:checked").next(":contains(Not Excellent)").length > 0){
					$(this).find("input[value='Excellent']").prop("checked", true).change();return false;
				}
				break;
			case 3:
				$(this).find("input[value='NoLoad']").prop("checked", true).change();return false;
				break;
		}
	});
	$("img").error(function(){
		$(this).parents(".documentbox").find("input[value='NoLoad']").prop("checked", true).change();
	});
}

// Enter will submit the HIT.
window.onkeydown = function(event) {
	if (event.keyCode === 13) {
		$("button[name='SubmitButton']").click();
	}
};