ميدياويكي:Gadget-WikidataTab.js

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

ملاحظة: بعد الحفظ، قد يلزمك إفراغ الكاش لرؤية التغييرات.

if ($.inArray(mw.config.get('wgNamespaceNumber'), [0, 4, 10, 12, 14, 100]) + 1)
$(function($) {
	var translate = {
		'ar': {
			notfound: "لا عنصر في ويكي بيانات",
			nolabel: "(لا عنوان)",
			nodescription: "(لا وصف)"
		},
		'en': {
			notfound: "Wikidata item not found",
			nolabel: "(No label)",
			nodescription: "(no description given)"
		}
	},
	wikidataImg = (mw.config.get('skin') == 'vector-2022') && '/w/load.php?modules=oojs-ui.styles.icons-wikimedia&image=logoWikidata' || '//upload.wikimedia.org/wikipedia/commons/e/e8/Wikidata-favicon.png',
	pagename = mw.config.get('wgPageName').replace(/_/g, " ");
 
	$.ajax({
		url: '//www.wikidata.org/w/api.php',
		data: {
			'format': 'json',
			'action': 'wbgetentities',
			'sites': mw.config.get('wgDBname'),
			'titles': pagename,
			'props': 'info|labels|descriptions|aliases',
			'languages': mw.config.get('wgPageContentLanguage')
		},
		dataType: 'jsonp',
		success: function(data) {
			var d = $("<li>")
				.addClass("mw-list-item")
				.appendTo("#p-views ul");
			if (data.success) {
				var lang = mw.config.get('wgPageContentLanguage'),
					m = translate[lang] || translate.ar;
				for (var i in data.entities) {
					if (i == -1) {
						var a = $("<a>")
								.attr("href", "//www.wikidata.org/wiki/Special:CreateItem?setlang=ar&label=" + pagename + "&site=arwiki&page=" + pagename)
								.attr("title", m.notfound);
						if (mw.config.get('skin')=='vector-2022') {
							a.attr("class", 'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only')
							.append(
								$("<span>")
								.addClass("vector-icon")
								.attr("style", "background-image:url(" + wikidataImg + ");opacity:0.3;")
								);
						} else {
								a.append(
									$("<img>")
									.attr("src", wikidataImg)
									.attr("style", "opacity:0.3;")
								);
						}							

						a.appendTo(d);
					} else {
						var item = data.entities[i],
							i = 0,
							aliases = [];
						try {
							for (; i < item.aliases[lang].length; i++) {
								aliases.push(item.aliases[lang][i].value);
							}
						} catch (e) { }
						var a = $("<a>")
								.attr("href", "//www.wikidata.org/wiki/" + item.title)
								.attr("title", ((item.labels && item.labels[lang]) ? item.labels[lang].value : m.nolabel) + " (" + item.title + "):" + ((item.descriptions && item.descriptions[lang]) ? item.descriptions[lang].value : m.nodescription));
						if (mw.config.get('skin')=='vector-2022') {
							a.attr("class", 'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only')
							.append(
								$("<span>")
								.addClass("vector-icon")
								.attr("style", "background-image:url(" + wikidataImg + ");")
								);
						}else {
								a.append(
									$("<img>")
									.attr("src", wikidataImg)
								);
						}							
						a.appendTo(d);
					} // else
				} // for
			} // if success
		} // succeess function
	}); // ajax
}); // ready