ميدياويكي:Gadget-WikidataTab.js
المظهر
ملاحظة: بعد النشر، أنت قد تحتاج إلى إفراغ الكاش الخاص بمتصفحك لرؤية التغييرات.
- فايرفوكس / سافاري: أمسك Shift أثناء ضغط Reload، أو اضغط على إما Ctrl-F5 أو Ctrl-R (⌘-R على ماك)
- جوجل كروم: اضغط Ctrl-Shift-R (⌘-Shift-R على ماك)
- إنترنت إكسبلورر/إيدج: أمسك Ctrl أثناء ضغط Refresh، أو اضغط Ctrl-F5
- أوبرا: اضغط Ctrl-F5.
/**
* WikiDataTab
*
* حدثها: حبيشان
*/
if (location.search.indexOf( 'printable=yes' ) === -1
&& [
'wikibase-item',
'wikibase-property',
'wikibase-lexeme',
'flow-board',
'EntitySchema',
'proofread-index',
'proofread-page'
].indexOf( mw.config.get( 'wgPageContentModel' ) ) === -1) {
$(function($) {
let qid = mw.config.get('wgWikibaseItemId'),
namespace = mw.config.get( 'wgNamespaceNumber' );
if (!qid && !([ -1, 2, 6, 8].indexOf( namespace ) === -1 && namespace % 2 == 0)) return;
let translate = {
'ar': {
notfound: "لا عنصر في ويكي بيانات، اضغط للإضافة",
nolabel: "(لا عنوان)",
nodescription: "(لا وصف)"
},
'en': {
notfound: "Wikidata item not found",
nolabel: "(No label)",
nodescription: "(no description given)"
}
},
lang = (translate[mw.config.get( 'wgUserLanguage' )] && mw.config.get( 'wgUserLanguage' )) || mw.config.get( 'wgContentLanguage' ),
m = translate[lang] || translate.ar,
wdhref, wdtitle;
function addIcon() {
let d = $("<li>")
.addClass("mw-list-item")
.appendTo("#p-views ul");
let a = $("<a>")
.attr("href", wdhref)
.attr("title", wdtitle);
if (!qid) a.addClass("wdtab-notfound");
if (mw.config.get('skin')=='vector-2022') {
a.addClass('cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only')
.append(
$("<span>")
.attr('style', 'mask-image:url("/w/load.php?modules=oojs-ui.styles.icons-wikimedia&image=logoWikidata")')
.addClass("vector-icon wdtab-icon")
);
} else {
a.append(
$("<img>")
.attr('src', '//upload.wikimedia.org/wikipedia/commons/e/e8/Wikidata-favicon.png')
.addClass("wdtab-icon")
);
}
a.appendTo(d);
}
if (qid) {
wdhref = "//www.wikidata.org/wiki/" + qid;
mw.loader.using( ['mediawiki.api'], function () {
let wdapi = new mw.ForeignApi('https://www.wikidata.org/w/api.php');
wdapi.get({
action: 'wbgetentities',
ids: qid,
props: 'labels|descriptions|aliases',
languages: lang
}).done( function ( data ) {
if (data.success) {
for (let i in data.entities) {
let item = data.entities[i],
aliases = [];
try {
for (; i < item.aliases[lang].length; i++) {
aliases.push(item.aliases[lang][i].value);
}
} catch (e) { }
wdtitle = ((item.labels && item.labels[lang]) ? item.labels[lang].value : m.nolabel) + " (" + qid + "):" + ((item.descriptions && item.descriptions[lang]) ? item.descriptions[lang].value : m.nodescription);
addIcon();
}
}
});
});
} else {
pagename = mw.config.get('wgPageName').replace(/_/g, " ");
wdhref = "//www.wikidata.org/wiki/Special:CreateItem?setlang=ar&label=" + pagename + "&site=" + mw.config.get('wgWikiID') + "&page=" + pagename;
wdtitle = m.notfound;
addIcon();
}
}); // ready
} //if