Lernu.net vortaro filtrilo

Filtras la lingvojn de la lernu.net vortaro

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name         Lernu.net vortaro filtrilo
// @namespace    
// @version      0.6
// @description  Filtras la lingvojn de la lernu.net vortaro
// @author       panicbit
// @match        http://*.lernu.net/cgi-bin/vortaro.pl
// @require      https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js
// @require      https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.0.3/js.cookie.min.js
// @grant        none
// ==/UserScript==

// Fix prototype.js JSON crap
// Kudos to https://github.com/mozilla/jschannel/pull/18
var _json_stringify = JSON.stringify;
JSON.stringify = function(value) {
    var _array_tojson = Array.prototype.toJSON;
    delete Array.prototype.toJSON;
    var r=_json_stringify(value);
    Array.prototype.toJSON = _array_tojson;
    return r;
};

$.noConflict();

var settingsIcon = 'data:image/png;base64,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';
var defaultLangs = ['eo--eo', 'en--eo', 'eo--en'];
var langOptionsSelector = '#ElektiLingvon option';
var shownLangs = undefined;

var selectedLang = function(lang) {
    return Cookies.get('nlernuvortaro_lingvoparo');
};

var isShownLang = function(lang) {
    return shownLangs.indexOf(lang) != -1;
};

var loadLangs = function() {
    if (localStorage.filtermod_shownLangs === undefined) {
        shownLangs = defaultLangs;
        saveLangs();
    }
    else {
        try {
            shownLangs = JSON.parse(localStorage.filtermod_shownLangs);
        }
        catch(_) {
            shownLangs = defaultLangs;
        }
        if (!Array.isArray(shownLangs)) {
            shownLangs = defaultLangs;
        }
    }
    addLang(selectedLang());
};

var saveLangs = function() {
    localStorage.filtermod_shownLangs = JSON.stringify(shownLangs);
};

var addLang = function(lang) {
    if (lang === undefined || lang === null) {
        return;
    }
    if (!isShownLang(lang)) {
        shownLangs.push(lang);
    }
    saveLangs();
};

var removeLang = function(lang) {
    var index = shownLangs.indexOf(lang);
    if (index != -1) {
        shownLangs.splice(index, 1);
    }
    saveLangs();
};

loadLangs();

var settingsButton = jQuery('<img>')
    .attr('src', settingsIcon)
    .css({
        'width': '18px',
        'height': '18px',
        'float': 'right',
        'cursor': 'pointer'
    });

var exitButton = jQuery('<button>Eliri</button>')
    .css({
        'display': 'block',
        'margin-bottom': '0.25rem'
    });

var settings = jQuery('<div></div>')
    .css({
        'height': '15em',
        'overflow': 'auto',
        'margin-left': '0.25rem',
        'margin-top': '0.25rem'
    })
    .hide()
    .append(exitButton);

var vortaro = jQuery('body > *');

// Inject elements
jQuery('p').first().append(settingsButton);
jQuery('body').append(settings);

// Set up buttons
settingsButton.click(function() {
    vortaro.hide();
    settings.show();
});

exitButton.click(function() {
    settings.hide();
    vortaro.show();
});

// Inject settings page

var getLang = function(langdef) {
    var langs = langdef.split('--');
    if (langs[0] == 'eo') {
        return langs[1];
    }
    else {
        return langs[0];
    }
};

var skipArg = function(cb) {
    return function() {
        var args = jQuery(arguments).slice(1);
        return cb.apply(this, args);
    };
};

var optionToLang = function(option) {
    return getLang(option.value);
};

var isShownLangOption = function(option) {
    return isShownLang(optionToLang(option));
};

var availableOptions = jQuery(langOptionsSelector);

var refreshOptions = function() {
    jQuery('#ElektiLingvon').html('');
    availableOptions.each(function(_, option) {
        if (isShownLang(option.value)) {
            jQuery('#ElektiLingvon').append(option);
        }
    });
    jQuery('#ElektiLingvon').val(selectedLang());
};

refreshOptions();

availableOptions.each(function(_, el) {
    var label = jQuery('<label>'+jQuery(el).text()+'</label>');
    var checkbox = jQuery('<input type="checkbox">');
    
    if (isShownLang(el.value)) {
        checkbox.attr('checked', true);
    }
    
    if (selectedLang() == el.value) {
        checkbox.prop('disabled', true);
    }
    
    // Disable checkbox if its language is selected
    jQuery('#ElektiLingvon').change(function(event) {
        if (el.value == jQuery(event.target).val()) {
            checkbox.prop('disabled', true);
        }
        else {
            checkbox.prop('disabled', false);
        }
    });
    
    label.prepend(checkbox);
    settings
        .append(label)
        .append('<br>');
    
    // Add/Remove languages on click
    checkbox.click(function() {
        if (this.checked) {
            addLang(el.value);
        }
        else {
            removeLang(el.value);
        }
        refreshOptions();
    });
});