您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Customize the number of wrap-up items
当前为
- // ==UserScript==
- // @name WaniKani Customize Wrap Up
- // @namespace http://alsanchez.es/
- // @include /^https?://(www\.)?wanikani\.com/review/session/?$/
- // @version 3
- // @grant none
- // @description Customize the number of wrap-up items
- // ==/UserScript==
- (function()
- {
- var numberOfItems = localStorage.getItem("wanikani-addon-number-of-wrap-up-items") || 10;
- var fn = loadingScreen.remove;
- var wrapUpActive = false;
- loadingScreen.remove = function()
- {
- loadingScreen.remove = fn;
- fn();
- initialize();
- }
- function initialize()
- {
- createIcon();
- var wrapUp = document.getElementById("option-wrap-up");
- wrapUp.addEventListener("click", function()
- {
- wrapUpActive = !wrapUpActive;
- if(wrapUpActive)
- {
- updateQueues(numberOfItems);
- }
- // Force available-count update
- $.jStorage.set("activeQueue", $.jStorage.get("activeQueue"));
- });
- }
- function createIcon()
- {
- var container = $('<span style="cursor: pointer;">');
- container.append($('<i class="icon-time"></i>'));
- var numberOfItemsLabel = $("<span>").html(numberOfItems);
- container.append(numberOfItemsLabel);
- container.click(function()
- {
- var answer = prompt("Number of items");
- if(answer !== null)
- {
- numberOfItems = answer;
- numberOfItemsLabel.html(numberOfItems);
- localStorage.setItem("wanikani-addon-number-of-wrap-up-items", numberOfItems);
- }
- });
- $("#stats").prepend(container);
- }
- function updateQueues(numberOfItems)
- {
- var activeQueue = getSortedActiveQueue();
- var reviewQueue = $.jStorage.get("reviewQueue");
- var newQueue = getSortedActiveQueue().concat(reviewQueue);
- numberOfItems = Math.min(numberOfItems, newQueue.length);
- $.jStorage.set("activeQueue", newQueue.slice(0, numberOfItems));
- $.jStorage.set("reviewQueue", newQueue.slice(numberOfItems));
- }
- function getSortedActiveQueue()
- {
- var currentItem = $.jStorage.get("currentItem");
- var otherItems = $.jStorage.get("activeQueue").filter(function(item)
- {
- return item.id !== currentItem.id;
- });
- return [ currentItem ].concat(otherItems);
- }
- })();