Personal Stats: Extended Player Graph Periods

Add more options [3 years and Max] to player graph period selection.

目前為 2018-05-06 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Personal Stats: Extended Player Graph Periods
// @namespace    https://greasyforks.org/users/3898
// @version      1.2
// @description  Add more options [3 years and Max] to player graph period selection.
// @author       Xiphias[187717]
// @match        http://www.torn.com/personalstats.php*
// @match        https://www.torn.com/personalstats.php*
// @grant        none
// ==/UserScript==

'use strict';

(function() {

    /**
     * Adds a new option to a select widget. The new option is placed last in the list.
     */
    function addSelectOption(selectWidgetId, option, value, beforeLast) {

        var select_widget = document.getElementById(selectWidgetId);
        var item_option = document.createElement('option');
        item_option.setAttribute('value', value);
        item_option.innerHTML = option;
        var name_option;
        if (beforeLast) {
            name_option = select_widget.lastChild.previousSibling;
        } else {
            name_option = select_widget.lastChild;
        }

        select_widget.insertBefore(item_option, name_option);

        $("#" + selectWidgetId).selectmenu(); // Refresh the selectmenu widget
    }

    function getDaysSinceEpoch() {
        var epoch = new Date(2012, 0, 1);
        var today = new Date();
        return Date.daysBetween(epoch, today);
    }

    Date.daysBetween = function(date1, date2) {
        //Get 1 day in milliseconds
        var one_day = 1000 * 60 * 60 * 24;

        // Convert both dates to milliseconds
        var date1_ms = date1.getTime();
        var date2_ms = date2.getTime();

        // Calculate the difference in milliseconds
        var difference_ms = date2_ms - date1_ms;

        // Convert back to days and return
        return Math.round(difference_ms / one_day);
    }

    var daysSinceEpoch = getDaysSinceEpoch();
    addSelectOption("period-stats", "3 years", 1095, true);
    addSelectOption("period-stats", "Max", daysSinceEpoch, false);

    $(".select-list.period-stats").find(".list").css("background-size", "contain");
    $(".select-list.period-stats").find(".list > .l").css("background-size", "cover");
    $(".select-list.period-stats").find(".list > .r").css("background-size", "cover");
})();
长期地址
遇到问题?请前往 GitHub 提 Issues。