// ==UserScript==
// @name WaniKani Review Order
// @namespace https://www.wanikani.com
// @description WaniKani Review Order by Alucardeck
// @version 0.35
// @include https://www.wanikani.com/review/session
// @include http://www.wanikani.com/review/session
// @grant none
// @downloadURL https://update.greasyfork.org/scripts/4770/WaniKani%20Review%20Order.user.js
// @updateURL https://update.greasyfork.org/scripts/4770/WaniKani%20Review%20Order.meta.js
// ==/UserScript==
function get(id) {
if (id && typeof id === 'string') {
id = document.getElementById(id);
}
return id || null;
}
function init(){
console.log('init() start');
var stats = $("#stats")[0];
var t = document.createElement('div');
stats.appendChild(t);
t.innerHTML = '
'+
'Rad | |
'+
'Kan | |
'+
'Voc | |
'+
'
Not Ordered!
'+
''+
''+
'';
$.jStorage.listenKeyChange("activeQueue",displayUpdate);
window.addEventListener('reorderWKSingle',reorderSingle);
window.addEventListener('reorderWKBulk',reorderBulk);
displayUpdate();
console.log('init() end');
}
function reorderBulk(){
//Reordering method following original parameters of 10 activeQueue list
method = "BULK";
reorder();
}
function reorderSingle(){
//Reordering method following the 1 activeQueue list, that makes both reading/meaning coming in pairs.
//method = "SINGLE";
//reorder();
try{
unsafeWindow.Math.random = function() { return 0; }
}catch(e){
Math.random = function() { return 0; }
}
reorderBulk();
}
function reorder(){
console.log('reorder() start');
var divSt = get("divSt");
var reorderBtn1= get("reorderBtn1");
var reorderBtn2= get("reorderBtn2");
reorderBtn1.style.visibility="hidden";
reorderBtn2.style.visibility="hidden";
divSt.innerHTML = 'Reordering.. please wait!';
var cur = $.jStorage.get("currentItem");
var qt = $.jStorage.get("questionType");
var actList = $.jStorage.get("activeQueue");
var revList = $.jStorage.get("reviewQueue");
console.log('current item: '+cur);
var curt = cur.kan?'kan':cur.voc?'voc':'rad';
var removedCount = 0;
for(var i=0;i=0;i--){
var it=revList[i];
if(it.kan){
revList.splice(i,1);
revList.push(it);
//console.log('kan '+it.kan);
}
}
for(var i=revList.length-1;i>=0;i--){
var it=revList[i];
if(it.rad){
revList.splice(i,1);
revList.push(it);
//console.log('rad '+it.rad);
}
}
if(method=='BULK')
for(var i=0;i