Järjestelmäviesti:Common.js
Huomautus: Selaimen välimuisti pitää tyhjentää asetusten tallentamisen jälkeen, jotta muutokset tulisivat voimaan.
- Firefox ja Safari: Napsauta Shift-näppäin pohjassa Päivitä, tai paina Ctrl-F5 tai Ctrl-R (⌘-R Macilla)
- Google Chrome: Paina Ctrl-Shift-R (⌘-Shift-R Macilla)
- Internet Explorer ja Edge: Napsauta Ctrl-näppäin pohjassa Päivitä tai paina Ctrl-F5
- Opera: Paina Ctrl-F5.
/** JavaScript for the user toolbar
* Author: Niklas Laxström [[w:fi:user:Nikerabbit]]
* License: Public domain
* Version: 1 (Firefox fix)
* Version: 2 Should work on most of the browsers
* Version: 3 Area is hidden until activated with js
* Version: 4 add missing check
* Version: 5 some weird bugs
*/
/* Globals */
var btb_area = 'fiwikinews-bottom-toolbar';
var btb_sc = 'fiwikinews-bottom-toolbar-sc';
var btb_f = 'fiwikinews-bottom-toolbar-f';
var btb_i_sc = 'fiwikinews-special-character';
var btb_i_f = 'fiwikinews-feature';
var nav_ua = navigator.userAgent.toLowerCase(); // Get client info
var is_ie = ( $.client.profile().name == 'msie' );
function initializebuttons() {
$(document).ready(buttons);
}
/* Call our initializer */
$(document).ready(main_buttons);
/** Painikkeita voidaan määritellä seuraavasti näkyväksi vain tietyillä sivuilla:
*
* Vain keskustelusivulla näkyvät painikkeet:
* if (tNamespaceNumber == 3) {
* // Painikekoodit
* }
*
* Vain artikkeleissa näkyvät painikkeet:
* if (tNamespaceNumber === 0) {
* // Painikekoodit
* }
*
* Käyttäjäryhmäkohtaiset painikkeet:
* if (wgUG.indexOf('user') != -1) {
* // Rekisteröityneiden käyttäjien painikkeet
* }
* if (wgUG.indexOf('sysop') != -1) {
* // Ylläpitäjien painikkeet
* }
* if (wgUG.indexOf('bureaucrat') != -1) {
* // Byrokraattien painikkeet
* }
* Ja niin edelleen. Mahdollisia hakuarvoja ovat:
* * Kaikki käyttäjät
* user Rekisteröityneet käyttäjät
* emailconfirmed Sähköpostin varmentaneet käyttäjät
* autoconfirmed Käyttäjät joiden muutokset merkitään automaattisesti tarkastetuksi
* checkuser Osoitepaljastinoikeudella varustetut käyttäjät
* sysop Ylläpitäjät
* bureaucrat Byrokraatit
*/
function main_buttons() {
var tNamespaceNumber = mw.config.get('wgNamespaceNumber');
area = document.getElementById(btb_area);
/* Don't waste time trying now */
if (!area) return;
addSpecialCharacter('”', 'Kaareva lainausmerkki');
addSpecialCharacter('’', 'Kaareva puolilainausmerkki');
addSpecialCharacter('–', 'Ajatusviiva');
addSpecialCharacter('·', 'Kertomerkki');
addSpecialCharacter('°', 'Astemerkki');
addSpecialCharacter('š', 'Pieni hattu-s');
addSpecialCharacter('Š', 'Iso hattu-s');
addSpecialCharacter('ž', 'Pieni hattu-z');
addSpecialCharacter('Ž', 'Iso hattu-z');
addSpecialCharacter('ß', 'Saksalainen kaksois-s');
/* addSpecialCharacter('¹', 'Yläindeksi 1');*/
addSpecialCharacter('²', 'Yläindeksi 2');
addSpecialCharacter('³', 'Yläindeksi 3');
addSpecialCharacter(' ', 'Sitova välilyönti');
/* addSpecialCharacter('←', 'Nuoli vasemmalle');
addSpecialCharacter('→', 'Nuoli oikealle');*/
var wgUG = mw.config.get('wgUserGroups', []).toString();
// Alarivin mallinepainikkeet, vain rekisteröityneille
if (wgUG.indexOf('user') != -1) {
// Uutispainikkeet
if (tNamespaceNumber === 0) {
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{julkaistu}}\\r\\n\';document.editform.wpSummary.value=\''+
'Merkitty julkaistuksi\';document.editform.wpWatchthis.checked=false;', 'julkaise',
'Julkaise uutinen', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{oma}}\\r\\n\';document.editform.wpSummary.value=\''+
'Merkitty omaksi raportoinniksi\';document.editform.wpWatchthis.checked=false;', 'oma',
'Merkitse omaksi raportoinniksi', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{tarkasta}}\\r\\n\';document.editform.wpSummary.value=\''+
'Tarkastettava\';document.editform.wpWatchthis.checked=false;', 'tarkasta',
'Merkitse tarkastettavaksi', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{kehityksessä}}\\r\\n\';document.editform.wpSummary.value=\''+
'Uutinen kehityksessä\';document.editform.wpWatchthis.checked=false;', 'kehityksessä',
'Merkitse kehitettäväksi', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{lähde}}\\r\\n\';document.editform.wpSummary.value=\''+
'Lähdepyyntö\';document.editform.wpWatchthis.checked=false;', 'lähde?',
'Lähdepyyntö', 'fiwikinews-feature');
//Verkkoviite ref-tagien sisällä
addFeatureButton('<ref>{'+'{Verkkoviite | Osoite = ',
'| Nimeke = | Tekijä = | Tiedostomuoto = | Selite = | ' +
'Julkaisu = | Ajankohta = | Julkaisupaikka = | Julkaisija = | ' +
'Viitattu = | Kieli = }'+'}</ref>', '', 'Verkkoviite ref-tagein', 'Verkkoviite ref-tagein');
//Lehtiviite ref-tagien sisällä
addFeatureButton('<ref>{'+'{Lehtiviite | Tekijä = ',
'| Otsikko = | Julkaisu = | Ajankohta = | Vuosikerta = | Numero = | ' +
'Sivut = | Julkaisupaikka = | Julkaisija = | Selite = | Tunniste = | ' +
'www = | www-teksti = | Tiedostomuoto = | Viitattu = | ' +
'Kieli = | Lopetusmerkki = }'+'}</ref>', '', 'Lehtiviite ref-tagein', 'Lehtiviite ref-tagein');
//Verkkoviite
addFeatureButton('{'+'{Verkkoviite | Osoite = ',
'| Nimeke = | Tekijä = | Tiedostomuoto = | Selite = | ' +
'Julkaisu = | Ajankohta = | Julkaisupaikka = | Julkaisija = | ' +
'Viitattu = | Kieli = }'+'}', '', 'Verkkoviite', 'Verkkoviite');
//Lehtiviite
addFeatureButton('{'+'{Lehtiviite | Tekijä = ',
'| Otsikko = | Julkaisu = | Ajankohta = | Vuosikerta = | Numero = | ' +
'Sivut = | Julkaisupaikka = | Julkaisija = | Selite = | Tunniste = | ' +
'www = | www-teksti = | Tiedostomuoto = | Viitattu = | ' +
'Kieli = | Lopetusmerkki = }'+'}', '', 'Lehtiviite', 'Lehtiviite');
}
// Vain käyttäjän keskustelusivulla näkyvät huomautuspainikkeet
if (tNamespaceNumber == 3) {
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'V1}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Ensimmäinen huomautus\';document.editform.wpWatchthis.checked=false;', 'V',
'Ensimmäinen huomautus', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'V2}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Varoitus häiriköinnistä\';document.editform.wpWatchthis.checked=false;', 'V2',
'Varoitus häiriköinnistä', 'fiwikinews-feature');
/*addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'Hyvä yritys}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Hyvä yritys, ensi kerralla paremmin\';document.editform.wpWatchthis.checked=false;', 'T3',
'Hyvä yritys, ensi kerralla paremmin', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'Liian epämerkittävä}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Artikkelisi ei ollut merkittävä\';document.editform.wpWatchthis.checked=false;', 'T4',
'Artikkelisi ei ollut merkittävä', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'Rikoit tekijänoikeuksia}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Rikoit tekijänoikeuksia\';document.editform.wpWatchthis.checked=false;', 'T5',
'Rikoit tekijänoikeuksia', 'fiwikinews-feature');*/
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'V3}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\''+
'Varoitus vakavasta häiriköinnistä\';document.editform.wpWatchthis.checked=false;', 'V7',
'Varoitus vakavasta häiriköinnistä', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'Hh}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\'[[Wikiuutiset:Ei henkilökohtaisia '+
'hyökkäyksiä]]\';document.editform.wpWatchthis.checked=false;', 'HH',
'Varoitus henkilökohtaisesta hyökkäyksestä', 'fiwikinews-feature');
/*addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'mini}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value=\'Huomautus '+
'minityngistä\';document.editform.wpWatchthis.checked=false;', 'MT',
'Huomautus minityngistä', 'fiwikinews-feature');*/
//Estopainikkeet, vain ylläpitäjille
if (wgUG.indexOf('sysop') != -1) {
addSpecialButton('document.editform.wpTextbox1.value=\'{'+
'{Avoinproxy\'+\'}}\\r\\n\' + document.editform.wpTextbox1.value;document.editform.wpSummary.value='+
'\'Estetty ikuisesti avoimena proxyna\';document.editform.wpWatchthis.checked=false;',
'Avoin proxy', 'Avoin proxy', 'fiwikinews-feature');
addSpecialButton('document.editform.wpTextbox1.value=document.editform.wpTextbox1.value+\'\\r\\n{'+
'{subst:\'+\'Esto|Eston pituus}} –~~\'+\'~~\\r\\n\';document.editform.wpSummary.value='+
'\'Sinut on estetty toistuvan häiriköinnin takia\';document.editform.wpWatchthis.checked=false;',
'Esto', 'Esto', 'fiwikinews-feature');
}
}
addSpecialButton('document.editform.wpTextbox1.value=\'{'+
'{\'+\'pikapoisto\'+\'}}\'+document.editform.wpTextbox1.value;document.editform.wpSummary.value='+
'\'Merkitty poistettavaksi välittömästi\\n\';document.editform.wpWatchthis.checked=false;', 'P',
'Merkitty poistettavaksi välittömästi', 'fiwikinews-feature');
}
/* <pre> */
if (document.getElementById && document.createElement) {}
if ((document.title.indexOf("Keskustelu")!=-1) && document.getElementById && document.createElement) {
document.getElementById("editpage-copywarn").innerHTML += "<br>Tämä on keskustelusivu. Muista allekirjoittaa "+
"kaikki kommenttisi kirjoittamalla ~~" + "~~ kommenttisi loppuun.";
}
}
/* </pre> */
function addSpecialCharacter(f1, ftitle) {
k = document.getElementById(btb_sc);
if ( k ) {
if ( !is_ie ) {
mySpan = document.createElement('span');
myText = document.createTextNode(f1);
mySpan.appendChild(myText);
myOnClick = document.createAttribute('onclick');
//Vuonna 2018 MediaWikistä poistui mediawiki.toolbar. Käytetään sen
//sijaan pienoisohjelman Gadget-mediawiki.toolbar.js mediawiki.toolbar
//-toteutusta. Ks. Phabricator-task T30856 ja Mediawiki.orgin sivu
//Contributors/Projects/Removal_of_the_2006_wikitext_editor
myOnClick.nodeValue =
"$.when( mw.loader.using( 'ext.gadget.mediawiki.toolbar' ), " +
"$.ready ).then( function () { " +
"mw.toolbar.insertTags('" + f1 + "', '', ''); "+
"} );";
//Käytöstä poistettu rivi.
//myOnClick.nodeValue = "insertTags('" + f1 + "', '', '')";
mySpan.setAttributeNode(myOnClick);
myClass = document.createAttribute('class');
myClass.nodeValue = btb_i_sc;
mySpan.setAttributeNode(myClass);
myTitle = document.createAttribute('title');
myTitle.nodeValue = ftitle;
mySpan.setAttributeNode(myTitle);
// Some spacing
k.appendChild(document.createTextNode(' '));
k.appendChild(mySpan);
} else {
// The nonstandard way
k.innerHTML += " <span onClick=\"javascript:insertTags('" + f1 + "','','');\" class=\"" +
btb_i_sc + "\" title=\"" + ftitle + "\" >" + f1 + "</span>";
}
}
}
function addSpecialCharacter() {
}
function addFeatureButton(f1, f2, f3, ftext, ftitle) {
k = document.getElementById(btb_f);
if ( k ) {
if ( !is_ie ) {
mySpan = document.createElement('span');
myText = document.createTextNode(ftext);
mySpan.appendChild(myText);
myOnClick = document.createAttribute('onclick');
//Käytetään pienoisohjelman kautta tulevaa
//mediawiki.toolbar-toteutusta.
myOnClick.nodeValue =
"$.when( mw.loader.using( 'ext.gadget.mediawiki.toolbar' ), " +
"$.ready ).then( function () { " +
"mw.toolbar.insertTags('" + f1 + "','" + f2 + "','" + f3 + "'); "+
"} );";
//Käytöstä poistettu rivi.
//myOnClick.nodeValue = "insertTags('" + f1 + "','" + f2 + "','" + f3 + "')";
mySpan.setAttributeNode(myOnClick);
mySpan.title = ftitle;
myClass = document.createAttribute('class');
myClass.nodeValue = btb_i_f;
mySpan.setAttributeNode(myClass);
// Some spacing
k.appendChild(document.createTextNode(' '));
k.appendChild(mySpan);
} else {
// The nonstandard way
k.innerHTML += " <span onClick=\"javascript:insertTags('" + f1 + "','" + f2 + "','" + f3 + "');\" class=\"" + btb_i_f + "\" title=\"" + ftitle + "\" >" + ftext + "</span>";
}
}
}
function addSpecialButton(faction, ftext, ftitle, fclass) {
k = document.getElementById(btb_f);
if ( k ) {
if ( !is_ie ) {
mySpan = document.createElement('span');
myText = document.createTextNode(ftext);
mySpan.appendChild(myText);
myOnClick = document.createAttribute('onclick');
myOnClick.nodeValue = faction;
mySpan.setAttributeNode(myOnClick);
mySpan.title = ftitle;
myClass = document.createAttribute('class');
myClass.nodeValue = fclass;
mySpan.setAttributeNode(myClass);
// Some spacing
k.appendChild(document.createTextNode(' '));
k.appendChild(mySpan);
} else {
// The nonstandard way
k.innerHTML += " <span onClick=\"" + faction + ";\" class=\"" + fclass + "\" title=\"" +
ftitle + "\" >" + ftext + "</span>";
}
}
}
/* END */
// ============================================================
// BEGIN Dynamic Navigation Bars
// set up the words in your language
var NavigationBarHide = 'Piilota';
var NavigationBarShow = 'Näytä';
// set up max count of Navigation Bars on page,
// if there are more, all will be hidden
// NavigationBarShowDefault = 0; // all bars will be hidden
// NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
var NavigationBarShowDefault = 0;
// shows and hides content and picture (if available) of navigation bars
// Parameters:
// indexNavigationBar: the index of navigation bar to be toggled
function toggleNavigationBar(indexNavigationBar)
{
var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
if (!NavFrame || !NavToggle) {
return false;
}
// if shown now
if (NavToggle.firstChild.data == NavigationBarHide) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'none';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = NavigationBarShow;
}
}
// if hidden now
} else if (NavToggle.firstChild.data == NavigationBarShow) {
for (
var NavChild = NavFrame.firstChild;
NavChild != null;
NavChild = NavChild.nextSibling
) {
if (NavChild.className == 'NavPic') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavContent') {
NavChild.style.display = 'block';
}
if (NavChild.className == 'NavToggle') {
NavChild.firstChild.data = NavigationBarHide;
}
}
}
}
// adds show/hide-button to navigation bars
function createNavigationBarToggleButton()
{
var indexNavigationBar = 0;
// iterate over all < div >-elements
for(
var i=0;
NavFrame = document.getElementsByTagName("div")[i];
i++
) {
// if found a navigation bar
if (NavFrame.className == "NavFrame") {
indexNavigationBar++;
var NavToggle = document.createElement("a");
NavToggle.className = 'NavToggle';
NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
var NavToggleText = document.createTextNode(NavigationBarHide);
NavToggle.appendChild(NavToggleText);
// add NavToggle-Button as first div-element
// in < div class="NavFrame" >
NavFrame.insertBefore(
NavToggle,
NavFrame.firstChild
);
NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
}
}
// if more Navigation Bars found than Default: hide all
if (NavigationBarShowDefault < indexNavigationBar) {
for(
var i=1;
i<=indexNavigationBar;
i++
) {
toggleNavigationBar(i);
}
}
}
$(document).ready(createNavigationBarToggleButton);
// END Dynamic Navigation Bars
// ============================================================
/**
* Funktio välilehtien lisäämiseksi, alkuperäinen koodi
* [[commons:MediaWiki:Extra-tabs.js]] lisättynä api-kutsulla
* joka tarkastaa oletuksena sivun olemassaolon api.php kautta
*
* Käyttöesimerkki:
* function myTabs() {
* // Omat muokkaukset, ei varsinainen sivu joten ohitetaan apikutsu
* global_append_tab('Toiminnot:Muokkaukset/' + mw.config.get('wgUserName'), 'Omat muokkaukset', 'ca-contribs',
false);
* // Välilehti omaan monobook.js-tiedostoon
* global_append_tab('Käyttäjä:' + mw.config.get('wgUserName') + '/monobook.js', 'monobook.js', 'ca-monobookjs');
* }
*
* $( myTabs );
*/
function global_append_tab(url, name, id, apicheck) {
if (apicheck != false) { apicheck = true; }
var path = '/wiki/';
if (url.substring(0, 9) == 'index.php') {
path = '/w/';
}
var na = document.createElement('a');
na.setAttribute('href', path + url);
var xmlhttp = sajax_init_object();
var txt = document.createTextNode(name);
na.appendChild(txt);
var li = document.createElement('li');
if(id) li.id = id;
if (apicheck == true) {
try {
xmlhttp.overrideMimeType('text/xml');
} catch (e) { /* Sorry no bonus */ }
xmlhttp.open( 'GET' , mw.config.get('wgServer') + wgScriptPath +
'/api.php?format=xml&action=query&prop=info&titles=' + encodeURIComponent(url), true );
xmlhttp.onload = function () {
var missing =
this.responseXML.documentElement.getElementsByTagName('page')[0].getAttribute('missing');
if (missing == "") {
li.setAttribute('class', 'new');
}
}
xmlhttp.send(null);
}
li.appendChild(na);
// Grab the element we want to append the tab and append the tab to it.
var c1 = document.getElementById('column-one');
var tabs = c1.getElementsByTagName('div')[0].getElementsByTagName('ul')[0];
tabs.appendChild(li);
}