Медијавики:Gadget-PatrolLog.js — разлика између измена
Изглед
Promena koda |
Promena koda |
||
| Ред 12: | Ред 12: | ||
if (!(groups.includes('sysop') || groups.includes('patroller'))) return; | if (!(groups.includes('sysop') || groups.includes('patroller'))) return; | ||
var pageName = mw.config.get('wgPageName'); // | // Toolbox portlet mora da postoji | ||
var titleTxt = mw.config.get('wgTitle'); // | if (!document.getElementById('p-tb')) return; | ||
var pageName = mw.config.get('wgPageName'); // AB_23 | |||
var titleTxt = mw.config.get('wgTitle'); // AB 23 | |||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
| Ред 28: | Ред 31: | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 2) Izmene na čekanju (GLOBAL queue) | * 2) Izmene na čekanju (GLOBAL queue) | ||
* Napomena: ova strana ume da bude prazna ako FR nije u "pending changes" režimu za te strane. | |||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
mw.util.addPortletLink( | mw.util.addPortletLink( | ||
| Ред 34: | Ред 38: | ||
'FlaggedRevs: izmene na čekanju', | 'FlaggedRevs: izmene na čekanju', | ||
't-fr-pending', | 't-fr-pending', | ||
' | 'Stranice koje imaju izmene koje čekaju proveru (u zavisnosti od FR režima može biti prazno)' | ||
); | ); | ||
| Ред 49: | Ред 53: | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 4) Istorija (OVA STRANA) | * 4) Istorija (OVA STRANA) - najkorisnije za pregled | ||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
mw.util.addPortletLink( | mw.util.addPortletLink( | ||
'p-tb', | 'p-tb', | ||
mw.util.getUrl(' | mw.util.getUrl(pageName, { action: 'history' }), | ||
'Istorija (pregled izmena)', | 'Istorija (pregled izmena)', | ||
't-fr-history', | 't-fr-history', | ||
| Ред 60: | Ред 64: | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 5) Pregledaj poslednju izmenu ( | * 5) Pregledaj poslednju izmenu (diff) – brz prečac | ||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
mw.util.addPortletLink( | mw.util.addPortletLink( | ||
'p-tb', | 'p-tb', | ||
mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' }), | |||
'Pregledaj poslednju izmenu (diff)', | 'Pregledaj poslednju izmenu (diff)', | ||
't-fr-diffcur', | 't-fr-diffcur', | ||
| Ред 73: | Ред 75: | ||
/* ------------------------------------------------- | /* ------------------------------------------------- | ||
* 6) Status | * 6) Status: Provereno – SKOK NA REVIEW BOX (dno strane) | ||
* (ovo ti je praktično "idi odmah na proveru / prihvati / odbij") | |||
* ------------------------------------------------- */ | * ------------------------------------------------- */ | ||
var | var statusLink = mw.util.addPortletLink( | ||
var | 'p-tb', | ||
'#', | |||
'Status: Provereno', | |||
't-fr-reviewbox', | |||
'Skoci na dno strane – okvir za proveru izmene (FlaggedRevs review box)' | |||
); | |||
// Klik -> skrol na review formu, i kratko "naglašavanje" okvira | |||
if (statusLink) { | |||
$(statusLink).on('click', function (e) { | |||
e.preventDefault(); | |||
// Najčešći ID/selektori za FR review box (različite verzije/skinovi) | |||
var $box = | |||
$('#mw-fr-reviewform, .fr-reviewform, .flaggedrevs_review, #mw-fr-reviewbox').first(); | |||
if (!$box.length) { | |||
// fallback: pokušaj da nađe dugme/tekst "Proveri ovu izmenu" | |||
$box = $(':contains("Proveri ovu izmenu")').closest('form, .mw-parser-output, .mw-body-content').first(); | |||
} | |||
if ($box.length) { | |||
$box[0].scrollIntoView({ behavior: 'smooth', block: 'center' }); | |||
// kratko highlight da odmah vidiš gde je | |||
$box | |||
.stop(true, true) | |||
.css({ outline: '2px solid #3b82f6', outlineOffset: '6px' }) | |||
.delay(900) | |||
.queue(function (next) { | |||
$(this).css({ outline: '', outlineOffset: '' }); | |||
next(); | |||
}); | |||
} else { | |||
// ako nema review boxa na toj strani, reci korisniku (silent fallback) | |||
mw.notify('Na ovoj strani trenutno nema FlaggedRevs okvira za proveru (možda nema pending izmena).'); | |||
} | |||
}); | |||
} | } | ||
}); | }); | ||
Верзија на датум 8. фебруар 2026. у 15:48
// Gadget: FRQuickLinks (FlaggedRevs + Patrol helpers)
// Prikazuje linkove u Toolbox-u samo za sysop/patroller
// Latinica, prilagodjeno za Vojnu Enciklopediju
$(function () {
// samo u glavnom imenskom prostoru (clanci)
if (mw.config.get('wgNamespaceNumber') !== 0) return;
// dozvoli samo sysop ili patroller
var groups = mw.config.get('wgUserGroups') || [];
if (!(groups.includes('sysop') || groups.includes('patroller'))) return;
// Toolbox portlet mora da postoji
if (!document.getElementById('p-tb')) return;
var pageName = mw.config.get('wgPageName'); // AB_23
var titleTxt = mw.config.get('wgTitle'); // AB 23
/* -------------------------------------------------
* 1) Nepregledane stranice (GLOBAL)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:UnreviewedPages'),
'FlaggedRevs: nepregledane',
't-fr-unreviewed',
'Sve stranice koje još nisu pregledane'
);
/* -------------------------------------------------
* 2) Izmene na čekanju (GLOBAL queue)
* Napomena: ova strana ume da bude prazna ako FR nije u "pending changes" režimu za te strane.
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:PendingChanges'),
'FlaggedRevs: izmene na čekanju',
't-fr-pending',
'Stranice koje imaju izmene koje čekaju proveru (u zavisnosti od FR režima može biti prazno)'
);
/* -------------------------------------------------
* 3) Stabilizacija (OVA STRANA)
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl('Special:Stabilization', { page: pageName }),
'FlaggedRevs: stabilizacija',
't-fr-stabilize',
'Podesavanja stabilne verzije za "' + titleTxt + '"'
);
/* -------------------------------------------------
* 4) Istorija (OVA STRANA) - najkorisnije za pregled
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl(pageName, { action: 'history' }),
'Istorija (pregled izmena)',
't-fr-history',
'Istorija izmena za "' + titleTxt + '"'
);
/* -------------------------------------------------
* 5) Pregledaj poslednju izmenu (diff) – brz prečac
* ------------------------------------------------- */
mw.util.addPortletLink(
'p-tb',
mw.util.getUrl(pageName, { diff: 'cur', oldid: 'prev' }),
'Pregledaj poslednju izmenu (diff)',
't-fr-diffcur',
'Otvori diff poslednje izmene (najbrzi put do pregleda)'
);
/* -------------------------------------------------
* 6) Status: Provereno – SKOK NA REVIEW BOX (dno strane)
* (ovo ti je praktično "idi odmah na proveru / prihvati / odbij")
* ------------------------------------------------- */
var statusLink = mw.util.addPortletLink(
'p-tb',
'#',
'Status: Provereno',
't-fr-reviewbox',
'Skoci na dno strane – okvir za proveru izmene (FlaggedRevs review box)'
);
// Klik -> skrol na review formu, i kratko "naglašavanje" okvira
if (statusLink) {
$(statusLink).on('click', function (e) {
e.preventDefault();
// Najčešći ID/selektori za FR review box (različite verzije/skinovi)
var $box =
$('#mw-fr-reviewform, .fr-reviewform, .flaggedrevs_review, #mw-fr-reviewbox').first();
if (!$box.length) {
// fallback: pokušaj da nađe dugme/tekst "Proveri ovu izmenu"
$box = $(':contains("Proveri ovu izmenu")').closest('form, .mw-parser-output, .mw-body-content').first();
}
if ($box.length) {
$box[0].scrollIntoView({ behavior: 'smooth', block: 'center' });
// kratko highlight da odmah vidiš gde je
$box
.stop(true, true)
.css({ outline: '2px solid #3b82f6', outlineOffset: '6px' })
.delay(900)
.queue(function (next) {
$(this).css({ outline: '', outlineOffset: '' });
next();
});
} else {
// ako nema review boxa na toj strani, reci korisniku (silent fallback)
mw.notify('Na ovoj strani trenutno nema FlaggedRevs okvira za proveru (možda nema pending izmena).');
}
});
}
});