Медијавики:Gadget-metadata.js — разлика између измена
Изглед
Promena koda |
Promena koda |
||
| Ред 3: | Ред 3: | ||
* | === UPOZORENJE: GLOBALNI GADŽET FAJL === | | * | === UPOZORENJE: GLOBALNI GADŽET FAJL === | | ||
* | Izmene na ovoj stranici utiču na veliki broj korisnika. | | * | Izmene na ovoj stranici utiču na veliki broj korisnika. | | ||
* | Pre izmene, dogovorite se na strani za razgovor ili na [[WT:Gadget]]. | * | Pre izmene, dogovorite se na strani za razgovor ili na [[WT:Gadget]]. | | ||
* |_____________________________________________________________________________| | * |_____________________________________________________________________________| | ||
* | * | ||
| Ред 12: | Ред 12: | ||
* - Traži šablon: {{Procene kvaliteta članaka|...}} ili {{Procene kvaliteta članaka|class=...}} | * - Traži šablon: {{Procene kvaliteta članaka|...}} ili {{Procene kvaliteta članaka|class=...}} | ||
* - Na osnovu pronađene ocene upisuje tekst ispod naslova članka (#siteSub) | * - Na osnovu pronađene ocene upisuje tekst ispod naslova članka (#siteSub) | ||
* - | * - SVI linkovi vode na lokalnu stranicu: | ||
* Vojna enciklopedija:Procena sadržaja | * Vojna enciklopedija:Procena sadržaja | ||
* | * | ||
| Ред 82: | Ред 82: | ||
exists: false | exists: false | ||
}, checksList = [ | }, checksList = [ | ||
// | // Višeznačnost (ako postoji prepoznatljiv element) | ||
[$("#disambig, #disambig_disambigbox, #disambigbox").length, "dab"], | [$("#disambig, #disambig_disambigbox, #disambigbox").length, "dab"], | ||
// | // Setindex box | ||
[$("#setindexbox").length, "setindex"], | [$("#setindexbox").length, "setindex"], | ||
// | // Preusmerenje | ||
[mw.config.get("wgIsRedirect") === true, "redir"], | [mw.config.get("wgIsRedirect") === true, "redir"], | ||
// | // Nema razgovor strane (crveni tab “Razgovor”) | ||
[$("#ca-talk").hasClass("new"), "none"] | [$("#ca-talk").hasClass("new"), "none"] | ||
]; | ]; | ||
| Ред 122: | Ред 122: | ||
// {{Procene kvaliteta članaka|c}} | // {{Procene kvaliteta članaka|c}} | ||
// {{Procene kvaliteta članaka|class=stub}} | // {{Procene kvaliteta članaka|class=stub}} | ||
[/\{\{\s*Procene kvaliteta članaka\s*\|\s*(fa|fl|ga|a|b|c|start|stub|list|dab|setindex|redir)\s*[\|\}]/i, "$1"], | [/\{\{\s*Procene kvaliteta članaka\s*\|\s*(fa|fl|ga|a|b|bplus|c|start|stub|list|dab|setindex|redir|al|bl|cl|sl|cur|future)\s*[\|\}]/i, "$1"], | ||
// (2) KOMPATIBILNOST: WP1.0 / WikiProject šabloni | // (2) KOMPATIBILNOST: WP1.0 / WikiProject šabloni | ||
[/\|\s*(class|currentstatus)\s*=\s*fa\b/i, "fa"], | // Napomena: tražimo parametar class=... ili currentstatus=... | ||
[/\|\s*(class|currentstatus)\s*=\s*fl\b/i, "fl"], | [/\|\s*(class|currentstatus)\s*=\s*fa\b/i, "fa"], // izabrani članak | ||
[/\|\s*class\s*=\s* | [/\|\s*(class|currentstatus)\s*=\s*fl\b/i, "fl"], // izabrana lista | ||
[/\|\s*class\s*=\s* | [/\|\s*(class|currentstatus)\s*=\s*ga\b/i, "ga"], // dobar članak | ||
[/\|\s*class\s*=\s*bplus\b/i, "bplus"], | [/\|\s*class\s*=\s*a\b/i, "a"], // A-razred | ||
[/\|\s*class\s*=\s*c\b/i, "c"], | [/\|\s*class\s*=\s*bplus\b/i, "bplus"], // B+ (retko) | ||
[/\|\s*class\s*=\s*start\b/i, "start"], | [/\|\s*class\s*=\s*b\b/i, "b"], // B-razred | ||
[/\|\s*class\s*=\s*stub\b/i, "stub"], | [/\|\s*class\s*=\s*c\b/i, "c"], // C-razred | ||
[/\|\s*class\s*=\s*list\b/i, "list"], | [/\|\s*class\s*=\s*start\b/i, "start"], // početni članak | ||
[/\|\s*class\s*=\s*(dab|disambig)\b/i, "dab"], | [/\|\s*class\s*=\s*stub\b/i, "stub"], // članak-klica | ||
[/\|\s*class\s*=\s*setindex\b/i, "setindex"], | [/\|\s*class\s*=\s*list\b/i, "list"], // članak-spisak | ||
[/\|\s*class\s*=\s*redir\b/i, "redir"] // | [/\|\s*class\s*=\s*(dab|disambig)\b/i, "dab"], // višeznačna odrednica | ||
[/\|\s*class\s*=\s*setindex\b/i, "setindex"], // indeksna strana | |||
[/\|\s*class\s*=\s*redir\b/i, "redir"], // preusmerenje | |||
// Liste (rezervno/kompatibilnost) | |||
[/\|\s*class\s*=\s*al\b/i, "al"], // lista A-razreda | |||
[/\|\s*class\s*=\s*bl\b/i, "bl"], // lista B-razreda | |||
[/\|\s*class\s*=\s*cl\b/i, "cl"], // lista C-razreda | |||
[/\|\s*class\s*=\s*sl\b/i, "sl"], // lista-klica | |||
// Ostalo (rezervno/kompatibilnost) | |||
[/\|\s*class\s*=\s*cur(rent)?\b/i, "cur"], // current | |||
[/\|\s*class\s*=\s*future\b/i, "future"] // future | |||
]; | ]; | ||
| Ред 147: | Ред 159: | ||
}); | }); | ||
// Dodatna kompatibilnost za | // Dodatna kompatibilnost za “A+GA” | ||
if (rating === "a" && text.match(/\|\s*class\s*=\s*ga\b|\|\s*currentstatus\s*=\s*(ffa\/)?ga\b/i)) { | if (rating === "a" && text.match(/\|\s*class\s*=\s*ga\b|\|\s*currentstatus\s*=\s*(ffa\/)?ga\b/i)) { | ||
rating = "a/ | rating = "a/ga"; | ||
} | } | ||
| Ред 164: | Ред 171: | ||
*/ | */ | ||
am.getAssessment = function (text) { | am.getAssessment = function (text) { | ||
return { | |||
rating: am.getRating(text), | rating: am.getRating(text), | ||
pageLink: [null, null], | pageLink: [null, null], | ||
| Ред 171: | Ред 178: | ||
exists: true | exists: true | ||
}; | }; | ||
}; | }; | ||
| Ред 177: | Ред 183: | ||
* Pretvara pronađenu ocenu u: | * Pretvara pronađenu ocenu u: | ||
* - CSS klasu za naslov (boja teksta naslova) | * - CSS klasu za naslov (boja teksta naslova) | ||
* - slogan ( | * - slogan (HTML za prikaz ispod naslova) | ||
* | * | ||
* SVI LINKOVI VODE NA: | * SVI LINKOVI U SLOGANU VODE NA: | ||
* Vojna enciklopedija:Procena sadržaja | * Vojna enciklopedija:Procena sadržaja | ||
*/ | */ | ||
am.renderAssessment = function (assess) { | am.renderAssessment = function (assess) { | ||
| Ред 188: | Ред 192: | ||
var projectNs = mw.config.get('wgFormattedNamespaces')[4], | var projectNs = mw.config.get('wgFormattedNamespaces')[4], | ||
// Lokalni link ka | // Lokalni link ka stranici sa objašnjenjem skale | ||
assessLink = mw.util.getUrl(projectNs + ":Procena sadržaja"), | assessLink = mw.util.getUrl(projectNs + ":Procena sadržaja"), | ||
// | // Namerno prazan info (da nema Wikipedia linkova) | ||
info = [], | info = [], | ||
| Ред 198: | Ред 202: | ||
ratingList; | ratingList; | ||
// Lista svih prikaza ( | // Lista svih prikaza (srpski tekst + ikonica) | ||
ratingList = [ | ratingList = [ | ||
// Najviši nivoi | // Najviši nivoi | ||
{ name: "fa", | { name: "fa", className: "assess-fa-text", iconClass: "assess-icon-fa", label: "Izabrani članak" }, | ||
{ name: "fl", | { name: "fl", className: "assess-fl-text", iconClass: "assess-icon-fl", label: "Izabrana lista" }, | ||
{ name: "ga", | { name: "ga", className: "assess-ga-text", iconClass: "assess-icon-ga", label: "Dobar članak" }, | ||
// Ocene kvaliteta | // Ocene kvaliteta | ||
{ name: "a/ga", | { name: "a/ga", className: "assess-a-text", iconClass: "assess-icon-a", label: "Članak A-razreda (takođe dobar članak)" }, | ||
{ name: "a", | { name: "a", className: "assess-a-text", iconClass: "assess-icon-a", label: "Članak A-razreda" }, | ||
{ name: "b", | { name: "bplus", className: "assess-bplus-text", iconClass: "assess-icon-bplus", label: "Članak B+ razreda" }, | ||
{ name: "c", | { name: "b", className: "assess-b-text", iconClass: "assess-icon-b", label: "Članak B-razreda" }, | ||
{ name: "start", | { name: "c", className: "assess-c-text", iconClass: "assess-icon-c", label: "Članak C-razreda" }, | ||
{ name: "stub", | { name: "start", className: "assess-start-text", iconClass: "assess-icon-start", label: "Početni članak" }, | ||
{ name: "stub", className: "assess-stub-text", iconClass: "assess-icon-stub", label: "Članak-klica" }, | |||
// Tipovi strana | // Tipovi strana | ||
{ name: "list", | { name: "list", className: "assess-list-text", iconClass: "assess-icon-list", label: "Članak-spisak" }, | ||
{ name: "dab", | { name: "dab", className: "assess-dab-text", iconClass: "assess-icon-dab", label: "Višeznačna odrednica" }, | ||
{ name: "setindex",className: "assess-setindex-text",iconClass: "assess-icon-setindex",label: "Indeksna strana" }, | { name: "setindex", className: "assess-setindex-text", iconClass: "assess-icon-setindex", label: "Indeksna strana" }, | ||
{ name: "redir", | { name: "redir", className: "assess-redir-text", iconClass: "assess-icon-redir", label: "Preusmerenje" }, | ||
// Liste (rezervno/kompatibilnost) | |||
{ name: "al", className: "assess-al-text", iconClass: "assess-icon-al", label: "Lista A-razreda" }, | |||
{ name: "bl", className: "assess-bl-text", iconClass: "assess-icon-bl", label: "Lista B-razreda" }, | |||
{ name: "cl", className: "assess-cl-text", iconClass: "assess-icon-cl", label: "Lista C-razreda" }, | |||
{ name: "sl", className: "assess-sl-text", iconClass: "assess-icon-sl", label: "Lista-klica" }, | |||
// Ostalo (rezervno/kompatibilnost) | |||
{ name: "cur", className: "assess-cur-text", iconClass: "assess-icon-cur", label: "Aktuelno (current)" }, | |||
{ name: "future", className: "assess-future-text", iconClass: "assess-icon-future", label: "Buduća tema (future)" } | |||
]; | ]; | ||
// Nađi | // Nađi ocenu i pripremi slogan | ||
$.each(ratingList, function (i, e) { | $.each(ratingList, function (i, e) { | ||
if (assess.rating === e.name) { | if (assess.rating === e.name) { | ||
newClass = e.className; | newClass = e.className; | ||
// | // Ikonica je obojena po rangu (preko className), a tekst-link je uvek plav (CSS override). | ||
slogan = | |||
"<span class=\"assess-icon-wrap " + e.className + "\">" + | |||
"<span class=\"assess-icon " + e.iconClass + "\" aria-hidden=\"true\"></span>" + | |||
"</span>" + | |||
"<a class=\"assess-rating-link\" href=\"" + assessLink + "\">" + e.label + "</a>"; | |||
return false; | return false; | ||
} | } | ||
| Ред 253: | Ред 254: | ||
if (!newClass) { | if (!newClass) { | ||
newClass = "assess-unassessed-text"; | newClass = "assess-unassessed-text"; | ||
slogan = "<a href=\"" + assessLink + "\"> | slogan = | ||
"<span class=\"assess-icon-wrap assess-unassessed-text\">" + | |||
"<span class=\"assess-icon assess-icon-unassessed\" aria-hidden=\"true\"></span>" + | |||
"</span>" + | |||
"Neprocenjen <a class=\"assess-rating-link\" href=\"" + assessLink + "\">članak</a>"; | |||
} | } | ||
| Ред 262: | Ред 267: | ||
* Upisuje rezultat u zaglavlje članka: | * Upisuje rezultat u zaglavlje članka: | ||
* - boji naslov (h1) preko CSS klase | * - boji naslov (h1) preko CSS klase | ||
* - menja #siteSub da prikaže | * - menja #siteSub da prikaže “Procena kvaliteta: ... — iz Vojne enciklopedije” | ||
*/ | */ | ||
am.update = function () { | am.update = function () { | ||
| Ред 268: | Ред 273: | ||
infoSpan = $("<span class=\"assess-info-all\"><\/span>"), | infoSpan = $("<span class=\"assess-info-all\"><\/span>"), | ||
// Fiksni | // Fiksni format: “Procena kvaliteta: [slogan] — iz Vojne enciklopedije” | ||
siteSub = $("<div><span class=\"assess-article-rating\"><\/span> — iz Vojne enciklopedije<\/div>"); | siteSub = $("<div>Procena kvaliteta: <span class=\"assess-article-rating\"><\/span> — iz Vojne enciklopedije<\/div>"); | ||
// Upis slogana ( | // Upis slogana (ikonica + plavi link tekst) | ||
siteSub. | siteSub.find(".assess-article-rating").html(ap.updata.slogan); | ||
// Info dodatni deo je namerno prazan (da nema Wikipedia linkova) | // Info dodatni deo je namerno prazan (da nema Wikipedia linkova) | ||
Верзија на датум 7. фебруар 2026. у 20:39
/** _____________________________________________________________________________
* | |
* | === UPOZORENJE: GLOBALNI GADŽET FAJL === |
* | Izmene na ovoj stranici utiču na veliki broj korisnika. |
* | Pre izmene, dogovorite se na strani za razgovor ili na [[WT:Gadget]]. |
* |_____________________________________________________________________________|
*
* GADŽET: Metadata (Procena kvaliteta članaka) — lokalizovan za Vojnu enciklopediju
*
* Šta radi:
* - Otvara (čita) početni deo strane za razgovor (Razgovor:Članak)
* - Traži šablon: {{Procene kvaliteta članaka|...}} ili {{Procene kvaliteta članaka|class=...}}
* - Na osnovu pronađene ocene upisuje tekst ispod naslova članka (#siteSub)
* - SVI linkovi vode na lokalnu stranicu:
* Vojna enciklopedija:Procena sadržaja
*
* Važno:
* - Gadžet radi samo u glavnom imenskom prostoru (članci, ns=0).
* - Da bi prikazao ocenu, na razgovor-strani članka mora postojati šablon.
*/
window.assessment = (function () {
var assessmentObj = {
props: {},
methods: {}
},
// Kratke reference (da kod bude pregledniji)
ap = assessmentObj.props, // props (promenljive stanja)
am = assessmentObj.methods; // methods (funkcije)
/**
* Glavna inicijalizacija gadžeta.
* Pokreće se pri učitavanju strane.
*/
assessmentObj.init = function () {
// Uslovi kada NE treba da se pokrene (bezbedno i bez grešaka):
if (!$("#siteSub").length || // nema #siteSub (neki skinovi)
mw.config.get("wgNamespaceNumber") !== 0 || // nije članak (nije ns=0)
(mw.config.get("wgAction") !== "view" && mw.config.get("wgAction") !== "purge") || // nije prikaz/purge
mw.util.getParamValue("printable") || // printable verzija
mw.config.get("wgIsMainPage") === true // glavna strana
) {
return;
}
// 1) Pokušaj “brzih” provera direktno na članku (npr. preusmerenje, razvrstavanje itd.)
ap.foundAssessment = am.checkArticle();
// 2) Ako nema ničega na samom članku, čitaj razgovor-stranu preko action=raw (sekcija 0)
if (!ap.foundAssessment.exists) {
$.ajax({
url: mw.util.getUrl(
mw.Title.newFromText(mw.config.get("wgPageName")).getTalkPage().getPrefixedText(),
{ action: "raw", section: 0 }
),
async: true,
dataType: "text",
success: function (responseText) {
ap.text = responseText; // wikitext razgovor strane
ap.foundAssessment = am.getAssessment(ap.text); // izvlačenje ocene
ap.updata = am.renderAssessment(ap.foundAssessment); // priprema HTML/CSS klase
am.update(); // upis u #siteSub
}
});
} else {
// Ako je nešto pronađeno bez AJAX-a (npr. redirect), odmah prikaži
ap.updata = am.renderAssessment(ap.foundAssessment);
am.update();
}
};
/**
* Brze provere na samom članku (bez odlaska na razgovor stranu).
* Ovo služi da odmah prepozna:
* - višeznačnu odrednicu (dab)
* - setindex
* - preusmerenje (redir)
* - ako ne postoji razgovor strana (none)
*/
am.checkArticle = function () {
var checkResult = {
extra: [],
exists: false
}, checksList = [
// Višeznačnost (ako postoji prepoznatljiv element)
[$("#disambig, #disambig_disambigbox, #disambigbox").length, "dab"],
// Setindex box
[$("#setindexbox").length, "setindex"],
// Preusmerenje
[mw.config.get("wgIsRedirect") === true, "redir"],
// Nema razgovor strane (crveni tab “Razgovor”)
[$("#ca-talk").hasClass("new"), "none"]
];
$.each(checksList, function (i, e) {
if (e[0]) {
checkResult.rating = e[1];
checkResult.exists = true;
return false;
}
});
return checkResult;
};
/**
* Iz wikitext-a razgovor strane izvlači ocenu.
*
* Prioritet:
* 1) Lokalni šablon: {{Procene kvaliteta članaka|stub}} (ili class=stub)
* 2) “WP1.0” stil (class=, currentstatus=...) — ostavljeno radi kompatibilnosti
*/
am.getRating = function (text) {
var rating = "none",
standardChecks = [
// (1) LOKALNI ŠABLON — NAJBITNIJE:
// Primeri:
// {{Procene kvaliteta članaka|stub}}
// {{Procene kvaliteta članaka|start}}
// {{Procene kvaliteta članaka|c}}
// {{Procene kvaliteta članaka|class=stub}}
[/\{\{\s*Procene kvaliteta članaka\s*\|\s*(fa|fl|ga|a|b|bplus|c|start|stub|list|dab|setindex|redir|al|bl|cl|sl|cur|future)\s*[\|\}]/i, "$1"],
// (2) KOMPATIBILNOST: WP1.0 / WikiProject šabloni
// Napomena: tražimo parametar class=... ili currentstatus=...
[/\|\s*(class|currentstatus)\s*=\s*fa\b/i, "fa"], // izabrani članak
[/\|\s*(class|currentstatus)\s*=\s*fl\b/i, "fl"], // izabrana lista
[/\|\s*(class|currentstatus)\s*=\s*ga\b/i, "ga"], // dobar članak
[/\|\s*class\s*=\s*a\b/i, "a"], // A-razred
[/\|\s*class\s*=\s*bplus\b/i, "bplus"], // B+ (retko)
[/\|\s*class\s*=\s*b\b/i, "b"], // B-razred
[/\|\s*class\s*=\s*c\b/i, "c"], // C-razred
[/\|\s*class\s*=\s*start\b/i, "start"], // početni članak
[/\|\s*class\s*=\s*stub\b/i, "stub"], // članak-klica
[/\|\s*class\s*=\s*list\b/i, "list"], // članak-spisak
[/\|\s*class\s*=\s*(dab|disambig)\b/i, "dab"], // višeznačna odrednica
[/\|\s*class\s*=\s*setindex\b/i, "setindex"], // indeksna strana
[/\|\s*class\s*=\s*redir\b/i, "redir"], // preusmerenje
// Liste (rezervno/kompatibilnost)
[/\|\s*class\s*=\s*al\b/i, "al"], // lista A-razreda
[/\|\s*class\s*=\s*bl\b/i, "bl"], // lista B-razreda
[/\|\s*class\s*=\s*cl\b/i, "cl"], // lista C-razreda
[/\|\s*class\s*=\s*sl\b/i, "sl"], // lista-klica
// Ostalo (rezervno/kompatibilnost)
[/\|\s*class\s*=\s*cur(rent)?\b/i, "cur"], // current
[/\|\s*class\s*=\s*future\b/i, "future"] // future
];
// Prolazimo kroz standardne provere i uzimamo prvu koja “pogodi”
$.each(standardChecks, function (i, e) {
if (text.match(e[0])) {
rating = e[1];
return false;
}
});
// Dodatna kompatibilnost za “A+GA”
if (rating === "a" && text.match(/\|\s*class\s*=\s*ga\b|\|\s*currentstatus\s*=\s*(ffa\/)?ga\b/i)) {
rating = "a/ga";
}
return rating;
};
/**
* Formira objekat procene na osnovu razgovor-strane.
*/
am.getAssessment = function (text) {
return {
rating: am.getRating(text),
pageLink: [null, null],
extra: [],
activeReview: null,
exists: true
};
};
/**
* Pretvara pronađenu ocenu u:
* - CSS klasu za naslov (boja teksta naslova)
* - slogan (HTML za prikaz ispod naslova)
*
* SVI LINKOVI U SLOGANU VODE NA:
* Vojna enciklopedija:Procena sadržaja
*/
am.renderAssessment = function (assess) {
// Projekat (ns=4) – kod tebe je to “Vojna enciklopedija”
var projectNs = mw.config.get('wgFormattedNamespaces')[4],
// Lokalni link ka stranici sa objašnjenjem skale
assessLink = mw.util.getUrl(projectNs + ":Procena sadržaja"),
// Namerno prazan info (da nema Wikipedia linkova)
info = [],
newClass,
slogan,
ratingList;
// Lista svih prikaza (srpski tekst + ikonica)
ratingList = [
// Najviši nivoi
{ name: "fa", className: "assess-fa-text", iconClass: "assess-icon-fa", label: "Izabrani članak" },
{ name: "fl", className: "assess-fl-text", iconClass: "assess-icon-fl", label: "Izabrana lista" },
{ name: "ga", className: "assess-ga-text", iconClass: "assess-icon-ga", label: "Dobar članak" },
// Ocene kvaliteta
{ name: "a/ga", className: "assess-a-text", iconClass: "assess-icon-a", label: "Članak A-razreda (takođe dobar članak)" },
{ name: "a", className: "assess-a-text", iconClass: "assess-icon-a", label: "Članak A-razreda" },
{ name: "bplus", className: "assess-bplus-text", iconClass: "assess-icon-bplus", label: "Članak B+ razreda" },
{ name: "b", className: "assess-b-text", iconClass: "assess-icon-b", label: "Članak B-razreda" },
{ name: "c", className: "assess-c-text", iconClass: "assess-icon-c", label: "Članak C-razreda" },
{ name: "start", className: "assess-start-text", iconClass: "assess-icon-start", label: "Početni članak" },
{ name: "stub", className: "assess-stub-text", iconClass: "assess-icon-stub", label: "Članak-klica" },
// Tipovi strana
{ name: "list", className: "assess-list-text", iconClass: "assess-icon-list", label: "Članak-spisak" },
{ name: "dab", className: "assess-dab-text", iconClass: "assess-icon-dab", label: "Višeznačna odrednica" },
{ name: "setindex", className: "assess-setindex-text", iconClass: "assess-icon-setindex", label: "Indeksna strana" },
{ name: "redir", className: "assess-redir-text", iconClass: "assess-icon-redir", label: "Preusmerenje" },
// Liste (rezervno/kompatibilnost)
{ name: "al", className: "assess-al-text", iconClass: "assess-icon-al", label: "Lista A-razreda" },
{ name: "bl", className: "assess-bl-text", iconClass: "assess-icon-bl", label: "Lista B-razreda" },
{ name: "cl", className: "assess-cl-text", iconClass: "assess-icon-cl", label: "Lista C-razreda" },
{ name: "sl", className: "assess-sl-text", iconClass: "assess-icon-sl", label: "Lista-klica" },
// Ostalo (rezervno/kompatibilnost)
{ name: "cur", className: "assess-cur-text", iconClass: "assess-icon-cur", label: "Aktuelno (current)" },
{ name: "future", className: "assess-future-text", iconClass: "assess-icon-future", label: "Buduća tema (future)" }
];
// Nađi ocenu i pripremi slogan
$.each(ratingList, function (i, e) {
if (assess.rating === e.name) {
newClass = e.className;
// Ikonica je obojena po rangu (preko className), a tekst-link je uvek plav (CSS override).
slogan =
"<span class=\"assess-icon-wrap " + e.className + "\">" +
"<span class=\"assess-icon " + e.iconClass + "\" aria-hidden=\"true\"></span>" +
"</span>" +
"<a class=\"assess-rating-link\" href=\"" + assessLink + "\">" + e.label + "</a>";
return false;
}
});
// Ako ništa nije prepoznato
if (!newClass) {
newClass = "assess-unassessed-text";
slogan =
"<span class=\"assess-icon-wrap assess-unassessed-text\">" +
"<span class=\"assess-icon assess-icon-unassessed\" aria-hidden=\"true\"></span>" +
"</span>" +
"Neprocenjen <a class=\"assess-rating-link\" href=\"" + assessLink + "\">članak</a>";
}
return { newClass: newClass, slogan: slogan, info: info };
};
/**
* Upisuje rezultat u zaglavlje članka:
* - boji naslov (h1) preko CSS klase
* - menja #siteSub da prikaže “Procena kvaliteta: ... — iz Vojne enciklopedije”
*/
am.update = function () {
var info = ap.updata.info,
infoSpan = $("<span class=\"assess-info-all\"><\/span>"),
// Fiksni format: “Procena kvaliteta: [slogan] — iz Vojne enciklopedije”
siteSub = $("<div>Procena kvaliteta: <span class=\"assess-article-rating\"><\/span> — iz Vojne enciklopedije<\/div>");
// Upis slogana (ikonica + plavi link tekst)
siteSub.find(".assess-article-rating").html(ap.updata.slogan);
// Info dodatni deo je namerno prazan (da nema Wikipedia linkova)
if (info && info.length > 0) {
infoSpan.html(".");
$.each(info, function (i, e) {
infoSpan.append(" ").append(e);
});
siteSub.append(infoSpan);
}
// Dodeli CSS klasu naslovu članka (h1) radi boje/isticanja
$("h1:first").addClass(ap.updata.newClass || null);
// Promeni sadržaj #siteSub
$("#siteSub").html(siteSub.html());
};
return assessmentObj;
}());
/**
* Start gadžeta pri učitavanju strane
*/
$(assessment.init);