TTG Upload Template Manager

save & load upload templates

目前为 2020-09-14 提交的版本。查看 最新版本

// ==UserScript==
// @name         TTG Upload Template Manager
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  save & load upload templates
// @author       You
// @match        https://totheglory.im/upload.php*
// @grant        unsafeWindow
// @grant        GM_setValue
// @grant        GM_getValue
// ==/UserScript==

const slotSize = 10;

function loadSlotTemplate(slotIndex) {
    let snapshot = JSON.parse(GM_getValue("ttg" + slotIndex, '{"name":"","descr":"","type":"0","anonymity":"-1","nodistr":"no","imdb_c":""}'));
    unsafeWindow.document.querySelector('#upload tbody input[name="name"]').value = snapshot.name;
    unsafeWindow.document.querySelector('#upload tbody textarea[name="descr"]').value = snapshot.descr;
    unsafeWindow.document.querySelector('#upload tbody select[name="type"]').value = snapshot.type;
    unsafeWindow.document.querySelector('#upload tbody select[name="anonymity"]').value = snapshot.anonymity;
    unsafeWindow.document.querySelector('#upload tbody select[name="nodistr"]').value = snapshot.nodistr;
    unsafeWindow.document.querySelector('#upload tbody input[name="imdb_c"]').value = snapshot.imdb_c;
}

function saveSlotTemplate(slotIndex) {
    let snapshot = {
        "name": unsafeWindow.document.querySelector('#upload tbody input[name="name"]').value,
        "descr": unsafeWindow.document.querySelector('#upload tbody textarea[name="descr"]').value,
        "type": unsafeWindow.document.querySelector('#upload tbody select[name="type"]').value,
        "anonymity": unsafeWindow.document.querySelector('#upload tbody select[name="anonymity"]').value,
        "nodistr": unsafeWindow.document.querySelector('#upload tbody select[name="nodistr"]').value,
        "imdb_c": unsafeWindow.document.querySelector('#upload tbody input[name="imdb_c"]').value
    };
    GM_setValue("ttg" + slotIndex, JSON.stringify(snapshot));
}

function setUpNewRow(prefix, callback) {
    let uploadTable = unsafeWindow.document.querySelector("#upload tbody");
    let navigatorRow = uploadTable.insertRow(0);
    let navigatorColumn = navigatorRow.insertCell(0);
    navigatorColumn.colSpan = 2;
    navigatorColumn.style.textAlign = "center";
    for (let slotIndex=0; slotIndex<slotSize; slotIndex++) {
        let slotButton = unsafeWindow.document.createElement("button");
        let slotName = prefix + slotIndex;
        slotButton.innerHTML = slotName;
        slotButton.onclick = callback(slotIndex);
        slotButton.type = "button";
        slotButton.classList.add("btn");
        navigatorColumn.appendChild(slotButton);
    }
}

(function() {
    'use strict';

    setUpNewRow("Save", function(slotIndex) { return function() { saveSlotTemplate(slotIndex); }; });
    setUpNewRow("Load", function(slotIndex) { return function() { loadSlotTemplate(slotIndex); }; });
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址