Käyttäjä:Hunsvotti/Testi2.js

Hei, olet tullut tänne etsimään sanan Käyttäjä:Hunsvotti/Testi2.js merkitystä. DICTIOUS-sanakirjasta löydät paitsi kaikki sanan Käyttäjä:Hunsvotti/Testi2.js sanakirjamerkitykset, myös sen etymologian, ominaisuudet ja sen, miten Käyttäjä:Hunsvotti/Testi2.js sanotaan yksikössä ja monikossa. Kaikki mitä sinun tarvitsee tietää sanasta Käyttäjä:Hunsvotti/Testi2.js on tässä. Sanan Käyttäjä:Hunsvotti/Testi2.js määritelmä auttaa sinua olemaan täsmällisempi ja oikeampi puhuessasi tai kirjoittaessasi tekstejäsi. Kun tunnet sananKäyttäjä:Hunsvotti/Testi2.js määritelmän sekä muiden sanojen määritelmät, rikastutat sanavarastoasi ja saat lisää ja parempia kielellisiä resursseja.
// perustuu https://sv.wiktionary.orghttps://dictious.com/fi/MediaWiki:Gadget-nytt_uppslag.js

(function(w){
var paLoad = false; // avaktivera prototypartiklar
importScript("MediaWiki:Gadget-headings.js");

window.languages = {
  fi: "suomi", en: "englanti", es: "espanja", it: "italia", pt: "portugali", sv: "ruotsi", fr: "ranska", de: "saksa", ru: "venäjä", et: "viro"
};

window.h3 = {
  subs: "substantiivi", verbi: "verbi", adj: "adjektiivi", adv: "adverbi", eris: "erisnimi", numeraali: "numeraali", prepositio: "prepositio", 
  konjunktio: "konjunktio", interjektio: "interjektio", pronomini: "pronomini", artikkeli: "artikkeli", prefiksi: "prefiksi", 
  suffiksi: "suffiksi"
};

function main($) {

    function ucFirst(str) {
        return str.charAt(0).toUpperCase() + str.substr(1);
    }

    function malline_kielelle(kk, sl) {
        if ( sr_mallineet == undefined || sr_mallineet == undefined ) {
            return sr_o_mallineet + kk;
        } else {
            return sr_mallineet;
        }
    }

    var h3s; // mindre förvirring
    // Kielikohtaiset mallineet, sisältää joka kielelle oman osan joka sisältää sanaluokille omat osat.
    // Sanaluokkien lyhenteet on määrätty ]-tiedostossa.
    var sr_mallineet = { 
        fi: { subs:  "fi-subs", adj: "fi-adj", adv: "fi-adv", verbi: "fi-verbi" }, 
        es: { verbi: "es-verbi" }, 
        sv: { verbi: "sv-verbi" }, 
        de: { verbi: "de-verbi" }, 
        fr: { verbi: "fr-verbi" }, 
        et: { subs:  "et-subs", verbi: "et-verbi" }, 
        it: { verbi: "it-verbi" }, 
        pt: { verbi: "pt-verbi" }, 
    };
    // oletusarvot, kun kielelle ei löydy omaa sanaluokkakohtaista mallinetta. Huom. kielikoodi lisätään perään
    var sr_o_mallineet = { subs: "substantiivi|", adj: "adjektiivi|", adv: "adverbi|", eris: "erisnimi|" };

    var n = window.nytt_uppslag = {
        lang: function(lang) {
            if (lang) $("#nu_lang").prop("value", languages);
        },
        h3: function(h3) {
            if (h3) $("#nu_h3").prop("value", h3s);
        },
        generate: function(e) {
            if (!e) var e = window.event;
            e.cancelBubble = true;
            if (e.preventDefault) e.preventDefault();

            var lang = $("#nu_lang").prop("value"),
            h3 = $("#nu_h3").prop("value"),
            definition = $("#nu_definition").prop("value"),
            textarea = $("#wpTextbox1"),
            summary = $("#wpSummary"),
            save = $("#wpSave"),
            saveTooltip = $("#nu_saveTooltip");
            function getCode(all, chosen) {
                chosen = chosen.toLowerCase();
                if (all) {
                    return chosen;
                }
                for (var i in all) {
                    if (all == chosen) {
                        return i;
                    }
                }
                return false;
            }

            lang = getCode(languages, lang);
            h3 = getCode(h3s, h3);
            definition = definition.replace(/^\s*(.*?)\s*$/, "$1");
            if (!lang) {
                alert("Et ole antanut oikeaa kieltä. Valitse listasta.");
                $("#nu_lang").focus();
                return false;
            }
            if (!h3) {
                alert("Et ole antanut oikeaa sanaluokkaa/H3-otsikkoa. Valitse listasta.");
                $("#nu_h3").focus();
                return false;
            }
            if (!definition) {
                alert("Sinun täytyy kirjoittaa sananselitys.");
                $("#nu_definition").focus();
                return false;
            }

            $.cookie( 'edellinen_nu_lang', $('nu_lang').prop("value"), { expires: 1,  path: '/' } );
            $.cookie( 'edellinen_nu_h3', $('nu_h3').prop("value"), { expires: 1,  path: '/' } );
            var wikicode = "=="+ucFirst(languages)+"==\n" +
                "===" + ucFirst(h3s) + "===\n" +
                "{{" + malline_kielelle(lang, h3) + "|{{sub" + "st:auto-aak|" + lang  + "|" + wgTitle + "}}" + "}}\n" +
                "# " + definition + "\n"
            "";
            if ( $("#cb_aant").checked ) {
                wikicode += "\n"  +
                    "====Ääntäminen====\n" + 
                    "\n";
            }
            if ( $("#cb_taiv").checked ) {
                wikicode += "\n"  +
                    "====Taivutus====\n";
                wikicode += "\n";
            }
            if ( $("#cb_ety").checked ) {
                wikicode += "\n"  +
                    "====Etymologia====\n" +
                    "\n";
            }
            if ( lang == "fi" ) {
                wikicode += "\n"  +
                    "====Käännökset====\n" +
                    "{{subst" + ":kohta|||\n" +
                    "*en: \n" + 
                    "*es: \n" +
                    "*fr: \n" +
                    "*sv: \n" +
                    "*de: \n" +
                    "*ru: \n" +
                    "*et: \n" +
                    "|loppu}}\n" +
                    "\n";
            }
            if ( $("#cb_liit").checked ) {
                wikicode += "\n"  +
                    "====Liittyvät sanat====\n" + 
                    "\n";
            }
            if ( $("#cb_laht").checked ) {
                wikicode += "\n"  +
                    "==Lähteet==\n" + 
                    "\n";
            }

            $("#nu_definition").prop("value", "");
            
            textarea.prop("value", textarea.prop("value") + (textarea.value?"\n\n":"") + wikicode);
	    textarea.rows = textarea.prop("value").split("\n", 17).length + 8; // standard: 25
            summary.prop("value", summary.prop("value") + (summary.value?"; ":"") + "uusi artikkeli ("+languages+")");
            saveTooltip.css("display", "block");
            save.focus();
            return false;
        },
        fadeSaveTooltip: function() {
            var s = $("#nu_saveTooltip").css();
            s.css("opacity", s.css("opacity") - 0.1);
            if (s.css("opacity") > 0) {
                setTimeout(nytt_uppslag.fadeSaveTooltip, 80);
            } else {
                s.css("display", "none");
                s.css("opacity", 1);
            }
        },
        init: function() {
        	console.log("init");
            if (typeof avaktivera_nytt_uppslag != "undefined" && avaktivera_nytt_uppslag) {
                //return;
                console.log("avaktiverad");
            }
            h3s = window.h3;
            var i,
            langs = window.languages, // bägge från ]
            container = $("#nytt_uppslag"),
            def_input = $("#nu_definition_input"),
            lang_input = $("#nu_language_input"),
            h3_input = $("#nu_h3_input"),
            tips = $("#nu_tips"),
            submit = $("#nu_submit_button"),
            help_link = $("#nu_help_link");
            mo_input = $("#muut_otsikot_input");

            if (!container) {
                return;
            }
            var showLangs, showH3s;
            if (typeof window.nyttUppslagSprak == "undefined") {
                showLangs = $("#nu_language_input").html();
            } else {
                showLangs = window.nyttUppslagSprak;
            }
            if (typeof window.nyttUppslagH3 == "undefined") {
                showH3s = $("#nu_h3_input").html();
            } else {
                showH3s = window.nyttUppslagH3;
            }
            showLangs = showLangs.split(",");
            showH3s = showH3s.split(",");
            
            // för språk och ordklass
            function multipleChoice(o) {
                var i, links = , select = , show_flip = {},
                show = o.show, // länkar som visas direkt
                all = o.all; // i <select>
                for (i = 0; i < show.length; i++) {
                    links.push("<a href=\"\" onclick=\"nytt_uppslag."+o.func+"('" + show + "'); return false;\">" + all] + "</a> - ");
                    show_flip ] = true;
                }
                links = links.join("");
                for (i in all) {
                    if (!show_flip) { // lägg inte till den dubbelt
                        select.push('<option value="' + i + '">' + all + '</option>\n');
                    }
                }
                select = '<select style="display:inline; size: small;" onchange="nytt_uppslag.'+o.func+'(this.value);">' +
                    "<option value=''>" + o.selectTitle + "</option>" +
                    select.join("") + 
                    "</select>";
                var valittu = all];  if ( o.prev ) valittu = o.prev;
                return '<input type="text" id="' + o.id + '" value="' + valittu + '" tabindex="1"/> <span>' + links + select + '</span>';
            }
            var lang = multipleChoice({
                show: showLangs,
                all: langs,
                func: "lang",
                id: "nu_lang",
                prev:  $.cookie( 'edellinen_nu_lang'),
                selectTitle: "Lisää kieliä..."
            });
            var h3 = multipleChoice({
                show: showH3s,
                all: h3s,
                func: "h3",
                id: "nu_h3",
                prev:  $.cookie( 'edellinen_nu_h3'),
                selectTitle: "Lisää H3-otsikoita..."
            });
            // sätt en <form> runt alltihop
            var form = document.createElement("form");
            //addHandler(form, "submit", n.generate);
	    $(form).bind("submit", n.generate);
            $(container).wrap(form);
            
            $('infoteksti').html('Huom! Poissa käytöstä. Merkintöjen generoiminen on rikkoutunut.');
            // tips
            var new_tips = $(tips).clone(true);
            new_tips.prop("id", "nu_tips_new");
            new_tips.prop("className", "");
            $("#nu_tips_position").append(new_tips);
            $(tips).remove();
            
            def_input.html('<input type="text" id="nu_definition" tabindex="1"/>');
            submit.html('<button type="submit" tabindex="1">' + submit.html() + '</button>');
            $(help_link).first().prop("target", "_blank"); // hjälplänken öppnas i nytt fönster
            lang_input.html(lang);
            h3_input.html(h3);
            mo_input.html(' <input type="checkbox" id="cb_aant" tabindex="1"/> Ääntäminen <input type="checkbox" id="cb_taiv" tabindex="1"/> Taivutus <input type="checkbox" id="cb_ety"  tabindex="1"/> Etymologia <input type="checkbox" id="cb_liit" tabindex="1" /> Liittyvät sanat <input type="checkbox" id="cb_laht" tabindex="1"/> Lähteet');
            
            container.className = "enabled";
            var width = 750; // viewport width
            // för alla vanliga webbläsare
            if (typeof window.innerWidth != 'undefined') {
                width = window.innerWidth;
                // IE6
            } else if (typeof document.documentElement != 'undefined'
                       && typeof document.documentElement.clientWidth != 'undefined'
                       && document.documentElement.clientWidth != 0) {
                width = document.documentElement.clientWidth;
                
            } // annars uråldrig, ännu äldre IE - vi struntar i dem
            if (width < 750) {
                container.className += " smallscreen";
            }

            var save = $("#wpSave"),
            saveTooltip = $("#nu_saveTooltip");
            $(saveTooltip).bind("mouseout", function() {
                if (saveTooltip.css("opacity")) {
                    setTimeout(n.fadeSaveTooltip, 500);
                } else {
                    setTimeout(function(){saveTooltip.css("display", "none")}, 500);
                }
            });
            $(save).insertBefore(saveTooltip);
        }
    };
    console.log("halojaa");
    n.init();
}

if ((wgAction == "edit" || wgAction == "submit") && wgNamespaceNumber == 0) {
    jQuery(document).ready(main);
}


})(window);