MediaWiki:Common.js: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
Polskacafe (dyskusja • edycje) |
Polskacafe (dyskusja • edycje) |
||
Linia 2: | Linia 2: | ||
/** COMMON.JS ** |
/** COMMON.JS ** |
||
* Plik zawiera funkcje używane w innych skryptach. Edytuj ostrożnie! |
* Plik zawiera funkcje używane w innych skryptach. Edytuj ostrożnie! |
||
**/ |
|||
/** |
/** UWAGI Z LIPCA 2019 ** |
||
* Ten plik jest stosunkowo krótki, ale jeśli cokolwiek się zepsuje, pamiętaj, PAMIĘTAJ, aby sprawdzić gadżety. |
|||
// Odpowiednik PLURAL w JS-ie |
|||
* Lista gadżetów dostępna jest tutaj: [[MediaWiki:Gadgets-definition]]. Jeśli o tym nie wiedziałeś, to nie ruszaj – pewnie i tak nie zrozumiesz co jest od czego. |
|||
function war(l, j, k, w) { |
|||
* Common.js NIE działa na skórce mobilnej. Jeśli coś ma działać na skórce mobilnej, masz dwa wyjścia: |
|||
return (l == 1) ? j : (l % 100 >= 10 && l % 100 <= 20) ? w : (l % 10 > 1 && l % 10 < 5) ? k : w; |
|||
** albo wrzucić do do MediaWiki:Mobile.js (lub na jednego usera (np do testów) do Użytkownik:Minerva.js – ja też nie wiem czemu tak), nie będzie wtedy działać na desktopowych |
|||
} |
|||
** albo – zalecana opcja, zwłaszcza jak ma działać i na desktopie, i na mobilce – dać do gadżetu. |
|||
// Odpowiednik GENDER w JS-ie |
|||
* a, i jak robisz coś zwławszcza dla mobilnej, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo niby spowalnia ładowanie. |
|||
function gnd(g, m, z, n) { |
|||
**/ |
|||
var X = { |
|||
"male": m, |
|||
"female": z, |
|||
"unknown": n |
|||
}; |
|||
return (g) ? X[g] : n; |
|||
} |
|||
// FIXME: Zastąpić to poprzez użycie jQuery Timeago: $.timeago.inWords(l) |
|||
function dTemu(l) { |
|||
var N = Math.floor(l / 1000), |
|||
D = Math.floor(N / 86400), |
|||
H = Math.floor((N - D * 86400) / 3600), |
|||
I = Math.floor((N - D * 86400 - H * 3600) / 60); |
|||
return { |
|||
d: D, |
|||
h: H, |
|||
i: I, |
|||
text: (D ? D + " d" + war(D, "zień", "ni", "ni") + " " : "") + (H ? H + " godz. " : "") + (I ? I + " min" + (!H ? "ut" + war(I, "ę", "y", "") : "") + " temu" : "przed chwilą") |
|||
}; |
|||
} |
|||
/* Archiwizacja Porum */ |
/* Archiwizacja Porum – ten brzydki komunikat nad wątkiem */ |
||
function zipForum() { |
function zipForum() { |
||
if (!("Forum" != mw.config.get('wgCanonicalNamespace') || "view" != wgAction || "Strona główna" == wgTitle)) |
if (!("Forum" != mw.config.get('wgCanonicalNamespace') || "view" != wgAction || "Strona główna" == wgTitle)) |
||
Linia 43: | Linia 24: | ||
} |
} |
||
/* |
|||
/* Import CSS */ |
|||
Informacje o zabezpieczeniu (typu: "Strona zabezpieczona przed edytowaniem, półzabezpieczona przed przeniesieniem") |
|||
…chyba nie działa. |
|||
*/ |
|||
function Zab() { |
function Zab() { |
||
if (mw.config.get('wgRestrictionEdit')[0] === undefined && mw.config.get('wgRestrictionMove')[0] === undefined) return; |
if (mw.config.get('wgRestrictionEdit')[0] === undefined && mw.config.get('wgRestrictionMove')[0] === undefined) return; |
||
Linia 60: | Linia 44: | ||
} |
} |
||
if (moveRestriction != 'brak') { |
if (moveRestriction != 'brak') { |
||
zabezpieczenie += klucz[moveRestriction] + " przed przeniesieniem" |
zabezpieczenie += klucz[moveRestriction] + " przed przeniesieniem"; |
||
} |
} |
||
} |
} |
||
Linia 69: | Linia 53: | ||
} |
} |
||
if (mw.config.get('wgRestrictionEdit') !== null && mw.config.get('wgRestrictionMove') !== null) jQuery(document).ready(Zab); |
if (mw.config.get('wgRestrictionEdit') !== null && mw.config.get('wgRestrictionMove') !== null) jQuery(document).ready(Zab); |
||
/*** Skrypty dotyczące Gry ***/ |
|||
/** |
/** |
||
Linia 86: | Linia 66: | ||
jQuery('div.ImageGroup').each(function(i, group) { |
jQuery('div.ImageGroup').each(function(i, group) { |
||
var unitnode = jQuery('div.ImageGroupUnits', group).get(0); |
var unitnode = jQuery('div.ImageGroupUnits', group).get(0); |
||
if (unitnode == undefined) { |
if (unitnode === undefined) { |
||
return 1; |
return 1; |
||
} |
} |
||
Linia 97: | Linia 77: | ||
jQuery(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j); |
jQuery(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j); |
||
var leftlink = jQuery('<a href="#"/>'); |
var leftlink = jQuery('<a href="#"/>'); |
||
if (j != 0) { |
if (j !== 0) { |
||
leftlink.text('◀').click(function() { |
leftlink.text('◀').click(function() { |
||
toggleImage(i, j, j - 1); return false; |
toggleImage(i, j, j - 1); return false; |
||
Linia 114: | Linia 94: | ||
.append(rightlink) |
.append(rightlink) |
||
.prependTo(jQuery(currentimage)); |
.prependTo(jQuery(currentimage)); |
||
if (j != 0) { |
if (j !== 0) { |
||
jQuery(currentimage).hide().addClass('noprint'); |
jQuery(currentimage).hide().addClass('noprint'); |
||
} |
} |
Wersja z 03:06, 21 lip 2019
/* <pre><nowiki> */
/** COMMON.JS **
* Plik zawiera funkcje używane w innych skryptach. Edytuj ostrożnie!
**/
/** UWAGI Z LIPCA 2019 **
* Ten plik jest stosunkowo krótki, ale jeśli cokolwiek się zepsuje, pamiętaj, PAMIĘTAJ, aby sprawdzić gadżety.
* Lista gadżetów dostępna jest tutaj: [[MediaWiki:Gadgets-definition]]. Jeśli o tym nie wiedziałeś, to nie ruszaj – pewnie i tak nie zrozumiesz co jest od czego.
* Common.js NIE działa na skórce mobilnej. Jeśli coś ma działać na skórce mobilnej, masz dwa wyjścia:
** albo wrzucić do do MediaWiki:Mobile.js (lub na jednego usera (np do testów) do Użytkownik:Minerva.js – ja też nie wiem czemu tak), nie będzie wtedy działać na desktopowych
** albo – zalecana opcja, zwłaszcza jak ma działać i na desktopie, i na mobilce – dać do gadżetu.
* a, i jak robisz coś zwławszcza dla mobilnej, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo niby spowalnia ładowanie.
**/
/* Archiwizacja Porum – ten brzydki komunikat nad wątkiem */
function zipForum() {
if (!("Forum" != mw.config.get('wgCanonicalNamespace') || "view" != wgAction || "Strona główna" == wgTitle))
if (!document.getElementById("naglowekforum") || document.getElementById("nieodkopuj")) {
var cae = $("#ca-edit a")[0];
cae.style.color = "DarkKhaki";
cae.href = "";
cae.title = "Ten wątek jest archiwalny, prosimy o nieedytowanie go.";
}
}
/*
Informacje o zabezpieczeniu (typu: "Strona zabezpieczona przed edytowaniem, półzabezpieczona przed przeniesieniem")
…chyba nie działa.
*/
function Zab() {
if (mw.config.get('wgRestrictionEdit')[0] === undefined && mw.config.get('wgRestrictionMove')[0] === undefined) return;
var zabezpieczenie = '';
var editRestriction = 'brak';
var moveRestriction = "brak";
if (mw.config.get('wgRestrictionEdit')[0] !== undefined) editRestriction = mw.config.get('wgRestrictionEdit')[0];
if (mw.config.get('wgRestrictionMove')[0] !== undefined) moveRestriction = mw.config.get('wgRestrictionMove')[0];
var klucz = {autoconfirmed: "półzabezpieczona", sysop: "zabezpieczona"};
if (editRestriction == moveRestriction) {
zabezpieczenie = klucz[editRestriction];
} else {
if (editRestriction != 'brak') {
zabezpieczenie += klucz[editRestriction] + " przed edycją";
if (moveRestriction != "brak") zabezpieczenie += ", ";
}
if (moveRestriction != 'brak') {
zabezpieczenie += klucz[moveRestriction] + " przed przeniesieniem";
}
}
$("<span class='restr'>Strona " + zabezpieczenie + ".</span>").css({
float: "right"
}).appendTo("#contentSub");
}
if (mw.config.get('wgRestrictionEdit') !== null && mw.config.get('wgRestrictionMove') !== null) jQuery(document).ready(Zab);
/**
* Skrypt dla Szablon:Galeria
* Źródło: [[wikipedia:pl:MediaWiki:Common.js]]
*/
function toggleImage (group, remindex, shwindex) {
jQuery("#ImageGroupsGr" + group + "Im" + remindex).hide();
jQuery("#ImageGroupsGr" + group + "Im" + shwindex).show();
}
function ImageGroup() {
if (mw.config.values.skin === "minerva") return; //nie powinno się ładować na mobilce
jQuery('div.ImageGroup').each(function(i, group) {
var unitnode = jQuery('div.ImageGroupUnits', group).get(0);
if (unitnode === undefined) {
return 1;
}
var units = jQuery(unitnode).children('.center');
var count = units.get().length;
if (count <= 1) {
return 1;
}
units.each(function(j, currentimage) {
jQuery(currentimage).attr('id', "ImageGroupsGr" + i + "Im" + j);
var leftlink = jQuery('<a href="#"/>');
if (j !== 0) {
leftlink.text('◀').click(function() {
toggleImage(i, j, j - 1); return false;
});
}
var rightlink = jQuery('<a href="#"/>');
if (j != count - 1) {
rightlink.text('▶').click(function() {
toggleImage(i, j, j + 1); return false;
});
}
jQuery('<div/>').css({ 'font-size' : '110%', 'font-weight' : 'bold' })
.addClass('disabled-user-selection')
.append(leftlink)
.append('<tt>(' + (j + 1) + '/' + count + ')</tt>')
.append(rightlink)
.prependTo(jQuery(currentimage));
if (j !== 0) {
jQuery(currentimage).hide().addClass('noprint');
}
});
});
}
jQuery(ImageGroup);
/* </pre></nowiki> */