MediaWiki:Common.js: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
M (ciastka) |
Ostrzyciel (dyskusja • edycje) M |
||
(Nie pokazano 7 wersji utworzonych przez 2 użytkowników) | |||
Linia 1: | Linia 1: | ||
/* <pre><nowiki> */ |
/* <pre><nowiki> */ |
||
/** COMMON.JS ** |
|||
* Plik zawiera funkcje używane w innych skryptach. Edytuj ostrożnie! |
|||
**/ |
|||
/** |
|||
/** UWAGI Z LIPCA 2019 ** |
|||
* W tym pliku już nic nie ma, bo wszystko poprzenosiliśmy do gadżetów. |
|||
* 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. |
* 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. |
||
* Zobacz też [[User:Ostrzyciel/skórburdel]], tam jest rozpiska który plik JS/CSS się kiedy ładuje. |
|||
* Common.js NIE działa na skórce mobilnej. Jeśli coś ma działać na skórce mobilnej, masz dwa wyjścia: |
|||
* a, i jak robisz, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo to muli |
|||
** albo wrzucić do do MediaWiki:Mobile.js (lub na jednego usera (np do testów) do Użytkownik:Nazwa/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" != mw.config.get("wgAction") || "Strona główna" == mw.config.get("wgTitle"))) |
|||
if (!document.getElementById("naglowekforum") || document.getElementById("nieodkopuj")) { |
|||
var groups = mw.config.get('wgUserGroups'); |
|||
if (groups.indexOf("bot") == -1 && groups.indexOf("content-moderator") == -1 && groups.indexOf("sysop") == -1) { |
|||
$("#ca-edit a") |
|||
.css("color", "DarkKhaki") |
|||
.attr("href", "") |
|||
.attr("title", "Ten wątek jest archiwalny, prosimy o nieedytowanie go."); |
|||
} |
|||
} |
|||
} |
|||
$(zipForum); |
|||
/* |
|||
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'); |
|||
} |
|||
}); |
|||
}); |
|||
} |
|||
$(ImageGroup); |
|||
(function() { |
|||
'use strict'; |
|||
if (mw.config.get("wgPageName") !== "Specjalna:Ostatnie_zmiany" || document.cookie.indexOf("pedia__śniegDisabled") !== -1) |
|||
return; |
|||
var NUM_FLAKES = 40; |
|||
var status = true, handle, SBTN, flakes, Flake, PI_2, canvas, context, drawCircle, i, range, resizeWindow, xpos; |
|||
SBTN = $('<button id="snieg-switch">Przełącz śnieg</button>').appendTo("div#content"); |
|||
SBTN.click(function(){ |
|||
status = !status; |
|||
if (status) { |
|||
document.cookie = ""; |
|||
handle = requestAnimationFrame(step); |
|||
} |
|||
else { |
|||
document.cookie = "pedia__śniegDisabled"; |
|||
cancelAnimationFrame(handle); |
|||
context.clearRect(0, 0, w, h); |
|||
} |
|||
}); |
|||
PI_2 = 2 * Math.PI; |
|||
canvas = $('<canvas style="z-index: 500; pointer-events: none; position: fixed; top: 0; left: 0;" id="snieg"></canvas>').appendTo("body")[0]; |
|||
context = canvas.getContext("2d"); |
|||
window.w = 0; |
|||
window.h = 0; |
|||
resizeWindow = function() { |
|||
window.w = canvas.width = window.innerWidth; |
|||
return (window.h = canvas.height = window.innerHeight); |
|||
}; |
|||
window.addEventListener('resize', resizeWindow, false); |
|||
$(function() {return setTimeout(resizeWindow, 0);}); |
|||
range = function(a, b) {return (b - a) * Math.random() + a;}; |
|||
drawCircle = function(x, y, r) { |
|||
context.beginPath(); |
|||
context.arc(x, y, r, 0, PI_2, false); |
|||
context.fill(); |
|||
context.stroke(); |
|||
}; |
|||
xpos = 0.5; |
|||
document.onmousemove = function(e) {return (xpos = e.pageX / w);}; |
|||
window.requestAnimationFrame = (function() { |
|||
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback) { |
|||
return window.setTimeout(callback, 1000 / 60); |
|||
}; |
|||
})(); |
|||
Flake = (function() { |
|||
function Flake() { |
|||
this.r = ~~range(4, 8); |
|||
this.r2 = 2 * this.r; |
|||
this.replace(); |
|||
} |
|||
Flake.prototype.replace = function() { |
|||
this.x = range(-this.r2, w - this.r2); |
|||
this.y = range(-20, h - this.r2); |
|||
this.xmax = w - this.r; |
|||
this.ymax = h - this.r; |
|||
this.vx = range(0, 2) + 8 * xpos - 5; |
|||
this.vy = 0.5 * this.r + range(-0.5, 0.5); |
|||
}; |
|||
Flake.prototype.draw = function() { |
|||
var f; |
|||
this.x += this.vx; |
|||
this.y += this.vy; |
|||
if (this.y > this.ymax) { |
|||
this.replace(); |
|||
} |
|||
if (!((0 < (f = this.x) && f < this.xmax))) { |
|||
this.x = (this.x + this.xmax) % this.xmax; |
|||
} |
|||
drawCircle(~~this.x, ~~this.y, this.r); |
|||
}; |
|||
return Flake; |
|||
})(); |
|||
flakes = (function() { |
|||
var i, a = []; |
|||
for (i = 0; i < NUM_FLAKES; i++) |
|||
a.push(new Flake()); |
|||
return a; |
|||
})(); |
|||
window.step = function() { |
|||
var i, len; |
|||
context.clearRect(0, 0, w, h); |
|||
context.fillStyle = "rgba(255, 251, 153, 1)"; |
|||
context.lineWidth = 2; |
|||
context.strokeStyle = "rgba(0,0,0,0.25)"; |
|||
for (i = 0, len = flakes.length; i < len; i++) |
|||
flakes[i].draw(); |
|||
handle = requestAnimationFrame(step); |
|||
}; |
|||
handle = requestAnimationFrame(step); |
|||
console.log("Załadowano śnieg"); |
|||
})(); |
|||
/* </pre></nowiki> */ |
/* </pre></nowiki> */ |
Aktualna wersja na dzień 21:15, 13 mar 2022
/* <pre><nowiki> */
/**
* W tym pliku już nic nie ma, bo wszystko poprzenosiliśmy do gadżetów.
* 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.
* Zobacz też [[User:Ostrzyciel/skórburdel]], tam jest rozpiska który plik JS/CSS się kiedy ładuje.
* a, i jak robisz, to ograniczaj doładowywanie rzeczy typu mw.loader.load, bo to muli
**/
/* </pre></nowiki> */