// ==UserScript== // @name RYM: Label page filters // @namespace https://rateyourmusic.com/~pandrew // @version 0.1 // @description apply various filters to label pages // @author Ayn Pand // @match https://rateyourmusic.com/label/* // @match http://rateyourmusic.com/label/* // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js // @downloadURL none // ==/UserScript== var filterButton = $('#filter_va'); $(filterButton).parent().before('Min Average Rating: '); $(filterButton).parent().before(''); $(filterButton).parent().before(' | ') document.getElementById('minAvg').addEventListener('change', filterReleases, false); $(filterButton).parent().before('Min No. Ratings: '); $(filterButton).parent().before(''); $(filterButton).parent().before(' | '); document.getElementById('minRatings').addEventListener('change', filterReleases, false); function filterReleases(){ $.each($('a[href*="/release/"]'), function(){ var minAvgFlt = parseFloat($("#minAvg").val()); var minRatingsNum = parseInt($("#minRatings").val()); //if (isNaN(minAvgFlt)) {minAvgFlt = 0.5;} if (isNaN(minRatingsNum)) {minRatingsNum = 0;} row = $(this).parent().parent(); var ratings = parseInt($(row).find('td:eq(5)').text()); var rating = parseFloat($(row).find('td:eq(7)').text()); //if (isNaN(minAvgFlt)) {minAvgFlt = 0.5;} if (isNaN(ratings)) {ratings = 0;} if ((ratings == "" || ratings < minRatingsNum) || (rating == undefined || rating < minAvgFlt)){ $(row).hide() } else { $(row).show() } }) }