מדיה ויקי:Gadget-SubsetMenu.js

מתוך ויקיסוגיה
קפיצה לניווט קפיצה לחיפוש
הגרסה להדפסה אינה נתמכת עוד וייתכן שיש בה שגיאות תיצוג. נא לעדכן את הסימניות בדפדפן שלך ולהשתמש בפעולת ההדפסה הרגילה של הדפדפן במקום זה.

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

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload), או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh), או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/*
 * סקריפט להוספת תווים מיוחדים בתחתית דף העריכה.
 * רשימת התווים נלקחו מ[[מדיה ויקי:Edittools]], והדף מסתמך על חלק מהקוד שבו. חלק מהסקריפט לקוח מוויקיפדיה הצרפתית.
 *
 */
$(function() {
if ($('#wpTextbox1').length != 1)
	return;

var specialchars = {
	"None": "",
	"Italian": "Á á À à É é È è Í í Ì ì Ó ó Ò ò Ú ú Ù ù",
	"Icelandic": "Á á Ð ð É é Í í Ó ó Ú ú Ý ý Þ þ Æ æ Ö ö",
	"Irish Gaelic": "Á á Ḃ ḃ Ċ ċ Ḋ ḋ É é Ḟ ḟ Ġ ġ Í í Ṁ ṁ Ó ó Ṗ ṗ Ṡ ṡ Ṫ ṫ Ú ú",
	"IPA": " a ɑ e ɛ ə i o ɔ u y ø œ ·  ɔ̃ ɑ̃ ɛ̃ œ̃ · j w ɥ · ː ‿ _́ _̀ _̌ _̂ · b k ʃ d f ɡ h ʒ l m n ɲ ŋ p r s t v z ʀ ʁ · ʈ ɖ c ɟ q ɢ ʔ ɱ ɳ ɴ ʙ ɾ ɽ ɸ β θ ð ʂ ʐ ç ʝ x ɣ χ ħ ʕ ɦ ʋ ɹ ɻ ɰ ɫ ɮ ɭ ʎ ʟ ƥ ɓ ƭ ɗ ƈ ʄ ƙ ɠ ʠ ʛ ʍ ʜ ʢ ʡ ɕ ʑ ɧ · ʘ ǀ ǃ ǂ ǁ ɺ ʦ ʣ ʧ ʤ ʨ ʥ · ɚ ɝ ˈ ˌ ˑ ɨ ʉ ɯ ɪ ɜ ʏ ʊ ɤ ɵ ʌ æ ɐ ɶ ɒ · ᵊ ʰ ˤ ˠ ʲ ʷ ⁿ ᵑ ᵐ ʳ · ˥ ˦ ˧ ˨ ˩",
	"OldEnglish": "Ā ā Æ æ Ǣ ǣ Ǽ ǽ Ċ ċ Ð ð Ē ē Ġ ġ Ī ī Ō ō Ū ū Ƿ ƿ Ȳ ȳ Þ þ Ȝ ȝ",
	"Estonian": "Č č Š š Ž ž Õ õ Ä ä Ö ö Ü ü",
	"Esperanto": "Ĉ ĉ Ĝ ĝ Ĥ ĥ Ĵ ĵ Ŝ ŝ Ŭ ŭ",
	"German": "Ä ä Ö ö ß Ü ü",
	"Dutch": "Ä ä  Ë ë  Ï ï  Ö ö  Ü ü  Ÿ ÿ  · Á á  É é  Í í  Ó ó  Ú ú  · À à  È è  Ì ì  Ò ò  Ù ù  · Â â  Ê ê  Î î  Ô ô  Û û  · IJ ij  ſ ƒ € ",
	"Hungarian": "Á á É é Í í Ó ó Ö ö Ő ő Ú ú Ü ü Ű ű",
	"Hieroglyphics": "ȝ ỉ ˁ ḥ ḫ ẖ ś š ḳ ṯ ḏ Ȝ Ỉ ˁ Ḥ Ḫ ẖ Ś Š Ḳ Ṯ Ḏ <hiero>+</hiero>",
	"Vietnamese": "À à Ả ả Á á Ạ ạ Ã ã Ă ă Ằ ằ Ẳ ẳ Ẵ ẵ Ắ ắ Ặ ặ Â â Ầ ầ Ẩ ẩ Ẫ ẫ Ấ ấ Ậ ậ Đ đ È è Ẻ ẻ Ẽ ẽ É é Ẹ ẹ Ê ê Ề ề Ể ể Ễ ễ Ế ế Ệ ệ Ỉ ỉ Ĩ ĩ Í í Ị ị Ì ì Ỏ ỏ Ó ó Ọ ọ Ò ò Õ õ Ô ô Ồ ồ Ổ ổ Ỗ ỗ Ố ố Ộ ộ Ơ ơ Ờ ờ Ở ở Ỡ ỡ Ớ ớ Ợ ợ Ù ù Ủ ủ Ũ ũ Ú ú Ụ ụ Ư ư Ừ ừ Ử ử Ữ ữ Ứ ứ Ự ự Ỳ ỳ Ỷ ỷ Ỹ ỹ Ỵ ỵ Ý ý",
	"Welsh": "Á á À à Â â Ä ä É é È è Ê ê Ë ë Ì ì Î î Ï ï Ó ó Ò ò Ô ô Ö ö Ù ù Û û Ẁ ẁ Ŵ ŵ Ẅ ẅ Ý ý Ỳ ỳ Ŷ ŷ Ÿ ÿ",
	"Turkish": "Ç ç Ə ə Ä ä Ğ ğ G‘ g‘ İ ı Ž ž Ň ň Ö ö O‘ o‘ Ş ş Ü ü Ý ý",
	"Greek": "Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω · Ϝ Ϻ ϟ Ϡ Ϛ Ϸ Ῥ <br> α β ϐ γ δ ε ζ η θ ϑ ι κ ϰ λ μ ν ξ ο π ϖ ρ ϱ σ ς τ υ φ ϕ χ ψ ω · ϝ ϻ ϟ ϡ ϛ ϸ ῤ ῥ · Ά Έ Ή Ί Ό Ύ Ώ · ά έ ή ί ό ύ ώ · ᾴ ῄ ῴ  · Ὰ Ὲ Ὴ Ὶ Ὸ Ὺ Ὼ · ὰ ὲ ὴ ὶ ὸ ὺ ὼ · ᾲ ῂ ῲ · ᾶ ῆ ῖ ῦ ῶ  · ᾷ ῇ ῷ · ῗ ῧ · ῒ ῢ  · ΐ ΰ · ᾼ ῌ ῼ  · ᾳ ῃ ῳ · Ἀ Ἐ Ἠ Ἰ Ὀ Υ̓ Ὠ · ᾈ ᾘ ᾨ · ἀ ἐ ἠ ἰ ὀ ὐ ὠ · ᾀ ᾐ ᾠ  · Ἄ Ἔ Ἤ Ἴ Ὄ Ὤ · ᾌ ᾜ ᾬ · ἄ ἔ ἤ ἴ ὄ ὔ ὤ · ᾄ ᾔ ᾤ · Ἂ Ἒ Ἢ Ἲ Ὂ Ὢ · ᾊ ᾚ ᾪ · ἂ ἒ ἢ ἲ ὂ ὒ ὢ · ᾂ ᾒ ᾢ · Ἆ Ἦ Ἶ Ὦ · ᾎ ᾞ ᾮ · ἆ ἦ ἶ ὖ ὦ · ᾆ ᾖ ᾦ · Ἁ Ἑ Ἡ Ἱ Ὁ Ὑ Ὡ · ἁ ἑ ἡ  ἱ  ὁ ὑ ὡ · Ἅ Ἕ Ἥ Ἵ Ὅ Ὕ Ὥ · ᾍ ᾝ ᾭ · ἅ ἕ ἥ ἵ ὅ ὕ ὥ · ᾅ ᾕ ᾥ · Ἃ Ἓ Ἣ Ἳ Ὃ Ὓ Ὣ · ᾋ ᾛ ᾫ  · ἃ ἓ ἣ ἳ ὃ ὓ ὣ · ᾃ ᾓ ᾣ · Ἇ Ἧ Ἷ Ὗ · ᾏ ᾟ ᾯ · ἇ ἧ ἷ ὗ ὧ · ᾇ ᾗ ᾧ · Ᾰ ᾰ Ῐ ῐ Ῠ ῠ · Ᾱ ᾱ Ῑ ῑ Ῡ ῡ",
	"Latvian": "Ā ā Č č Ē ē Ģ ģ Ī ī Ķ ķ Ļ ļ Ņ ņ Ō ō Ŗ ŗ Š š Ū ū Ž ž",
	"Latin": "Á á Ć ć É é Í í Ó ó Ś ś Ú ú Ý ý Ǿ ǿ  · À à È è Ì ì Ò ò Ù ù  ·  â Ĉ ĉ Ê ê Ĝ ĝ Ĥ ĥ Î î Ĵ ĵ Ô ô ŝ Ŝ Û û  · Ä ä Ë ë Ï ï Ö ö Ü ü ÿ  · à ã Ñ ñ Õ õ  · Å å  · Ç ç  · Č č Š š ŭ  · Ł ł  · Ő ő Ű ű  · Ø ø  · Ā ā Ē ē Ī ī Ō ō Ū ū Ȳ ȳ · Ă ă Ĕ ĕ Ğ ğ Ĭ ĭ Ŏ ŏ Ŭ ŭ Y̆ y̆ ... ß  ... Æ æ Œ œ  · Ð ð Þ þ |",
	"Lithuanian": "Ą ą Č č Ę ę Ė ė Į į Š š Ų ų Ū ū Ž ž",
	"Maltese": "Ċ ċ Ġ ġ Ħ ħ Ż ż",
	"Math": '',
	"Spanish": "¿+? ¡+! Á á É é Í í Ñ ñ Ó ó Ú ú Ü ü ª º",
	"Scandinavian": "À à É é Å å Æ æ Ä ä Ø ø Ö ö",
	"Serbian": "А а Б б В в Г г Д д Ђ ђ Е е Ж ж З з И и Ј ј К к Л л Љ љ М м Н н Њ њ О о П п Р р С с Т т Ћ ћ У у Ф ф Х х Ц ц Ч ч Џ џ Ш ш",
	"Arabic": "<span>כלליות:_</span>ا ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي · <span>נוספות:_</span> ء آ أ إ ؤ ئ ة ـ ى · <span>ספרות:_</span> ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ · <br> <span>תחיליות:_</span> ﺍ ﺑ ﺗ ﺛ ﺟ ﺣ ﺧ ﺩ ﺫ ﺭ ﺯ ﺳ ﺷ ﺻ ﺿ ﻃ ﻇ ﻋ ﻏ ﻓ ﻗ ﻛ ﻟ ﻣ ﻧ ﻫ ﻭ ﻳ · <br> <span>אמצעיות:_</span> ﺍ ﺒ ﺘ ﺜ ﺠ ﺤ ﺨ ﺪ ﺬ ﺮ ﺰ ﺴ ﺸ ﺼ ﻀ ﻄ ﻈ ﻌ ﻐ ﻔ ﻘ ﻜ ﻠ ﻤ ﻨ ﻬ ﻮ ﻴ · <br> <span>סופיות:_</span> ﺎ ﺐ ﺖ ﺚ ﺞ ﺢ ﺦ ﺪ ﺬ ﺮ ﺰ ﺲ ﺶ ﺺ ﺾ ﻂ ﻆ ﻊ ﻎ ﻒ ﻖ ﻚ ﻞ ﻢ ﻦ ﻪ ﻮ ﻲ · <br><span>מבודדות:_</span> ﺍ ﺏ ﺕ ﺙ ﺝ ﺡ ﺥ ﺩ ﺫ ﺭ ﺯ ﺱ ﺵ ﺹ ﺽ ﻁ ﻅ ﻉ ﻍ ﻑ ﻕ ﻙ ﻝ ﻡ ﻥ ﻩ ﻭ ﻱ",
	"Polish": "ą Ą ć Ć ę Ę ł Ł ń Ń ó Ó ś Ś ź Ź ż Ż",
	"Portuguese": "Á á À à Â â Ã ã Ç ç É é Ê ê Í í Ó ó Ô ô Õ õ Ú ú Ü ü",
	"Czech": "Á á Č č Ď ď É é Ě ě Í í Ň ň Ó ó Ř ř Š š Ť ť Ú ú Ů ů Ý ý Ž ž",
	"Catalan": "À à Ç ç É é È è Í í Ï ï Ó ó Ò ò Ú ú Ü ü l·l",
	"Croatian": "Č č Ć ć Dž dž Đ đ Š š Ž ž",
	"Romanian": "Ă ă Â â Î î Ş ş Ţ ţ",
	"Russian": "А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я  · а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я"
}

function addCharSubsetMenu() {
	var specialChars = $('#specialcharsMenu');
	if (! specialChars.length)
		return;
	var selection = $('<select>')
		.css({float: 'left'})
		.change(chooseCharSubset);

	var vals = {
		"None": 'תווים מיוחדים',
		"Italian": 'איטלקית',
		"Icelandic": 'איסלנדית',
		"Irish Gaelic": 'אירית',
		"IPA": 'אלפבית פונטי בינ\"ל',
		"OldEnglish": 'אנגלית עתיקה',
		"Estonian": 'אסטונית',
		"Esperanto": 'אספרנטו',
		"German": 'גרמנית',
		"Dutch": 'הולנדית',
		"Hungarian": 'הונגרית',
		"Hieroglyphics": 'הירוגליפי',
		"Vietnamese": 'וייטנאמית',
		"Welsh": 'ולשית',
		"Turkish": 'טורקית',
		"Greek": 'יוונית',
		"Latvian": 'לטבית',
		"Latin": 'לטינית',
		"Lithuanian": 'ליטאית',
		"Maltese": 'מלטזית',
		"Math": 'מתמטיקה',
		"Spanish": 'ספרדית',
		"Scandinavian": 'שפות סקנדינביות',
		"Serbian": 'סרבית',
		"Arabic": 'ערבית',
		"Polish": 'פולנית',
		"Portuguese": 'פורטוגזית',
		"Czech": '' + "צ'כית" + '',
		"Catalan": 'קטלאנית',
		"Croatian": 'קרואטית',
		"Romanian": 'רומנית',
		"Russian": 'רוסית'
	}
	for (var val in vals)
		selection.append($('<option>', {value: val, text: vals[val]}));
	specialChars.append(selection);
	var v = $.cookie('specialCharsValue');
	selection.val(v);
	selection.trigger('change');
}

	function parseCharSubset(str, v, l) {
		function insertMath() {
			insertTags('', this.alt, '');
		}
		if (v == "Math") {
			$('#specialchars').children().remove();
			new mw.Api().post(
				{action: 'parse', page: 'ויקיפדיה:תווים מיוחדים/נוסחאות'}).done(
				function(data) {
					$(data.parse.text['*']).find('img.tex')
						.css({margin: '3px', padding: '0.5em', border:'solid blue 1px', borderRadius: '5px', boxShadow: '3px 3px grey'})
						.click(insertMath)
						.appendTo(l)
						.each(function(){this.title = this.alt;});
				}
			);
		}
		else {
			var strs = str.split(' ');
			var list = "";
			for (var i = 0; i < strs.length; i++) {
				if (strs[i].indexOf('hiero') != -1)
					list += '<a onclick="insertTags(&#39;&lt;hiero&gt;&#39;,&#39;&lt;/hiero&gt;&#39;,&#39;&#39;);return false" href="#">&lt;hiero&gt;&lt;/hiero&gt;</a> ';
				else if (strs[i] == "<br>")
					list += '<br />';
				else if (strs[i].indexOf('span') != -1) // text element
					list += strs[i].replace(/_/g, " ");
				else if (strs[i] == '·')
					list += '· ';
				else {
					var temp = strs[i].replace(/\\/g, "\\\\");
					list += '<a onclick="insertTags(&#39;' + temp + '&#39;,&#39;&#39;,&#39;&#39;);return false" href="#">' + strs[i] + '</a> ';
				}
			}
			l.html(list);
		}
}

/* select subsection of special characters */
function chooseCharSubset() {
	var v = this.value,
		rtl = v == "Arabic";
	$.cookie('specialCharsValue', v, {path: '/', expires: 30});
	var l = $('#specialchars');
	if (!v || v == "None")
		l.html('');
	else
		l.css({direction: rtl ? 'rtl' : 'ltr', textAlign: rtl ? 'right' : 'left', maxHeight: '11em', overflow: 'auto'});
	if ( v && specialchars[v] )
		parseCharSubset(specialchars[v], v, l);
}

addCharSubsetMenu();
});