מדיה ויקי:סקריפטים/110.js

מתוך אקו-ויקי, מקום מפגש בנושאי אקולוגיה, חברה וכלכלה.
קפיצה לניווט קפיצה לחיפוש

הערה: לאחר השמירה, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר: להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: לפתוח תפריט ← הגדרות (במחשב מק: Opera ← העדפות) ואז ללחוץ על פרטיות ואבטחה ← מחק היסטוריית גלישה ← Cached images and files.
var i18n = {
	en: {
		'manAndWomanSelector': 'No selection for men/women (default)',
		'manSelector': 'Show men only',
		'womanSelector': 'Show women only'
	},
	he: {
		'manAndWomanSelector': 'ללא בחירה של גברים/נשים (ברירת מחדל)',
		'manSelector': 'הצגה של גברים בלבד',
		'womanSelector': 'הצגה של נשים בלבד'
	}
}
var i18nLocal = i18n[mw.config.get('wgUserLanguage')];

if ( mw.config.get('wgCanonicalNamespace') === 'Category' ) {
	var sexSelector = $('<div><a id="manAndWomanSelector" href="#" title="'+i18nLocal['manAndWomanSelector']+'">👫</a> / <a id="manSelector" href="#"title="'+i18nLocal['manSelector']+'">👨</a> / <a id="womanSelector" href="#"title="'+i18nLocal['womanSelector']+'">👩</a></div>');

	$('#bodyContent').prepend(sexSelector)

	var perScanBaseHref = 'https://petscan.wmflabs.org/?';
	var baseParams = { 
		project:'wikipedia',
		language: mw.config.get('wgContentLanguage'),
		categories: mw.config.get('wgTitle'),
		interface_language: mw.config.get('wgUserLanguage'),
		doit: 1
	};
	var categoryOrigContent = $('#mw-pages .mw-category').html();
	var manParams = $.extend({wikidata_prop_item_use: 'Q6581097'}, baseParams);
	var womanParams = $.extend({wikidata_prop_item_use: 'Q6581072'}, baseParams);
	$('#manAndWomanSelector').css({border: '3px solid #000', padding: '3px'}).click(function(e){
		$('#manAndWomanSelector, #manSelector, #womanSelector').css({border: '', padding: ''});
		$('#manAndWomanSelector').css({border: '3px solid #000', padding: '3px'});
		$('#mw-pages .mw-category').html(categoryOrigContent);
		e.preventDefault();
	});
	$('#manSelector').prop('href', perScanBaseHref+ $.param(manParams)).click(function(e){
		$.get(perScanBaseHref, $.extend({format:'json'},manParams)).done(function(d){
			loadCategoryData('', d['*'][0]['a']['*']);
			$('#manAndWomanSelector, #manSelector, #womanSelector').css({border: '', padding: ''});
			$('#manSelector').css({border: '3px solid #000', padding: '3px'});
		});
		e.preventDefault();
	});

	$('#womanSelector').prop('href', perScanBaseHref+ $.param(womanParams)).click(function(e){
		$.get(perScanBaseHref, $.extend({format:'json'},womanParams)).done(function(d){
			loadCategoryData('', d['*'][0]['a']['*']);
			$('#manAndWomanSelector, #manSelector, #womanSelector').css({border: '', padding: ''});
			$('#womanSelector').css({border: '3px solid #000', padding: '3px'});
		});
		e.preventDefault();
	});

	function loadCategoryData(title, data)
	{
		var pages =[];
		for(var i=0;i<data.length;i++){
			pages.push(mw.config.get('wgFormattedNamespaces')[data[i].namespace] + data[i].title);
		}
		pages.sort();
		var links = $.map(pages, function(d){ var t=new mw.Title(d); return $('<li>').append($('<a>', {text: t.getNameText(), href: t.getUrl()}))[0] });
		$('#mw-pages .mw-category').html($('<ul>').append(links));
		$('#mw-pages p').remove()
	}
}