Filter Extra Flags

Filtering specific regional flags for int

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

// ==UserScript==
// @name        Filter Extra Flags
// @namespace   http://vexxed.github.io/
// @description Filtering specific regional flags for int
// @include     http*://boards.4chan.org/int/*
// @include     http*://boards.4chan.org/pol/*
// @include     http*://boards.4chan.org/bant/*
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// @version     0.01
// @grant       none
// @run-at document-end
// ==/UserScript==

//TODO: Make a native 4chan version, only filter and check new posts when updating
$(window).load(function(){
	dBug("Document is ready!");
	var filteredRegions = ["California", "Iroquois"]; //replace these with any you like
	var regions = [];

	document.addEventListener('ThreadUpdate', function (e) {
		getFlags();
	}, false);

	function matchRegions(filteredFlags, flags){
		for (var i = flags.length - 1; i >= 0; i--) {
			for (var j = filteredFlags.length - 1; j >= 0; j--) {
				if (flags[i].children[0].title == filteredFlags[j]){
					dBug("filtered: " + filteredFlags[j]);
					if ( isVisible(flags[i].parentNode.parentNode.parentNode.previousSibling.children[0]))
						flags[i].parentNode.parentNode.parentNode.previousSibling.children[0].click();
				}
			}
		}
	};

	function isVisible(e) {
    	return !!( e.offsetWidth || e.offsetHeight || e.getClientRects().length );
	}

	function getFlags(){
		regions = document.getElementsByClassName("extraFlag");
		matchRegions(filteredRegions, regions);
	};

	function dBug(data){
		//console.log(data);
	};

	setTimeout(function() {
		getFlags();
    }, 0);
});