MonzooBourse

Amélioration de la page de la bourse sur le site monzoo.net

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name        MonzooBourse
// @namespace   grenad-monzoo
// @description Amélioration de la page de la bourse sur le site monzoo.net
// @include     http://www.monzoo.net/bourse.php*
// @version     1.03
// @copyright   Copyright 2017 -- Grenad
// @author      Grenad
// ==/UserScript==

var x = document.querySelectorAll(".content_site table");
var head = x[3].tBodies[0].rows;
var head_tx = ["Nom", "Prix de base", "Prix actuel", "Tendance"];
x = x[4];
var tb = x.tBodies[0];
var arr_row = Array.prototype.slice.call(tb.rows, 0);

var config = 0;
var reverse = true;

init_b();
set_percent_b();
sort_b(0);

function init_b() {
    for( var it = 0 ; it < 4 ; it ++) {
        head[0].cells[it].style.cursor = "pointer";
        head[0].cells[it].setAttribute("n", it);
        head[0].cells[it].onclick = function() { sort_b(this.getAttribute("n")); };
    }
    x.insertAdjacentHTML('beforebegin', '<input style="margin-bottom: 16px;width: 558px;font-size: 14px;padding: 12px 20px 12px 20px;" type="text" id="search_name" onkeyup="search()" placeholder="Recherche par nom">');
}

function sort_b(_c) {
    if(config == _c) 
        reverse = !reverse;
    else
        reverse = false;
    config = _c;
    if(config == 0) {
        arr_row = arr_row.sort( function(a, b) {
            return a.cells[0].textContent.trim().localeCompare(b.cells[0].textContent.trim()) * ((reverse) ? -1 : 1);
        });
    } else if (config == 3) {
        arr_row = arr_row.sort( function(a, b) {
            if(reverse)
                return parseFloat(a.cells[config].textContent) > parseFloat(b.cells[config].textContent);
            else
                return parseFloat(a.cells[config].textContent) < parseFloat(b.cells[config].textContent);
        });
    }
    else {
        arr_row = arr_row.sort( function(a, b) {
            if(reverse)
                return parseInt(a.cells[config].textContent) > parseInt(b.cells[config].textContent);
            else
                return parseInt(a.cells[config].textContent) < parseInt(b.cells[config].textContent);
        });
    }
    update_tb_b();
    update_hd_b();
}

function update_tb_b() {
    var e = 0;
    for(var it = 0 ; it < arr_row.length ; it ++) {
        if(arr_row[it].style.display != "none")
            e++;
        arr_row[it].setAttribute("bgcolor", (e % 2) ? "#FCF0DB" : "");
        tb.appendChild(arr_row[it]);
    }
}

function update_hd_b() {
    for( var it = 0 ; it < 4 ; it ++) {
        head[0].cells[it].style.fontWeight = (it == config) ? "800" : "inherit";
        head[0].cells[it].style.textDecoration = (it == config) ? "underline" : "inherit";
        head[0].cells[it].textContent = (it == config) ? head_tx[it] + ((reverse) ? " ▼" : " ▲") : head_tx[it];
    }
}

function set_percent_b() {
    for(var it = 0 ; it < arr_row.length ; it ++) {
        var pc = (parseInt(arr_row[it].cells[2].textContent) * 100 / parseInt(arr_row[it].cells[1].textContent)).toFixed(2);
        if(pc == 100) { 
            arr_row[it].cells[3].setAttribute("percent", pc);
            arr_row[it].cells[3].innerHTML = '<img src="images/bourse/=.gif" style="float: left;">';
            arr_row[it].cells[3].innerHTML += "<span> 0.00%</span>";
            continue;
        }
        arr_row[it].cells[3].setAttribute("percent", pc);
        arr_row[it].cells[3].innerHTML = '<img src="images/bourse/'+ ((pc - 100 > 0) ? "+" : "-") + '.gif" style="float: left;">';
        arr_row[it].cells[3].innerHTML += "<span> " + ((pc - 100 > 0) ? "+" : "") + (pc - 100).toFixed(2) + "%</span>";
    }
}

unsafeWindow.search = function() {
    q = document.getElementById("search_name").value.toUpperCase().trim();
    for(var it = 0 ; it < arr_row.length ; it ++) {
        arr_row[it].style.display = (arr_row[it].textContent.toUpperCase().indexOf(q) > -1) ? "block" : "none";
    }
    update_tb_b();
}