Користувач:Arxivist/edittools.js

Матеріал з Вікіджерел

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
/* Copied from [[mw:User:Alex Smotrov/edittools.js]] */
//<nowiki>
var charinsert = {
'Standard': '[+]  [[+]]  [[+|+]]  {{+}}  – —  “+” ‘+’ «+» ‹+› „+“ ‚+‘  … ~ | ° &nbsp;  ≈ ≠ ≤ ≥ ± − × ÷ ← → ² ³ ½ · § \n [[Category:+]]  [[:Image:+]]  +<includeonly>  +<noinclude>  #REDIRECT[[+]]  {{DEFAULTSORT:+}}',
'Latin': 'ÁáĆćÉéÍíÓóŚśÚúÝýǾǿ  ÀàÈèÌìÒòÙù  ÂâĈĉÊêĜĝĤĥÎîĴĵÔôŝŜÛû  ÄäËëÏïÖöÜüÿ  ÃãÑñÕõ  Å å  Ç ç  Č芚ŭ  Ł ł  ŐőŰű  Ø ø  ĀāĒēĪīŌōŪū  ß  Æ挜  ÐðÞþ|',
'Greek': 'ΑΆΒΓΔΕΈΖΗΉΘΙΊΚΛΜΝΞΟΌΠΡΣΤΥΎΦΧΨΩΏ  αάβγδεέζηήθιίκλμνξοόπρσςτυύφχψωώ', 
'IPA': 'ʈɖɟɡɢʡʔ  ɸʃʒɕʑʂʐʝɣʁʕʜʢɦ  ɱɳɲŋɴ  ʋɹɻɰ  ʙʀɾɽ  ɫɬɮɺɭʎʟ  ɥʍɧ  ɓɗʄɠʛ  ʘǀǃǂǁ  ɨʉɯ  ɪʏʊ  ɘɵɤ  ɚ  ɛɜɝɞʌɔ  ɐɶɑɒ  ʰʷʲˠˤⁿˡ  ˈˌːˑ',
'Arabic': 'ابتثجحخدذرزسشصضطظعغفقكلمنهوي  ﺍﺑﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻃﻇﻋﻏﻓﻗﻛﻟﻣﻧﻫﻭﻳ\
  ﺍﺒﺘﺜﺠﺤﺨﺪﺬﺮﺰﺴﺸﺼﻀﻄﻈﻌﻐﻔﻘﻜﻠﻤﻨﻬﻮﻴ  ﺎﺐﺖﺚﺞﺢﺦﺪﺬﺮﺰﺲﺶﺺﺾﻂﻆﻊﻎﻒﻖﻚﻞﻢﻦﻪﻮﻲ\
  ء- ّ- ْ- ً- ِ- آأإةؤئى  پچژگﭪڠ۰۱۲۳٤٥٦٧۸۹',
'Cyrillic': 'АБВГДЂЕЁЖЗЅИЙЈКЛЉМНЊОПРСТЋУФХЦЧЏШЩЪЫЬЭЮЯ  абвгдђеёжзѕийјклљмнњопрстћуфхцчџшщъыьэюя',
'Catalan': 'ÁáÀàÇçÉéÈèËëÍíÏïÓóÒòÖöÚúÙù',
'Czech': 'ÁáČčĎďÉéĚěÍíŇňÓóŘřŠšŤťÚúŮůÝýŽž',
'Devanagari': 'ँ ं ः अ आ इ ई उ ऊ ऋ ऌ ऍ ऎ ए ऐ ऑ ऒ ओ औ क क़ ख ख़ ग ग़ घ ङ च छ ज ज़ झ ञ ट ठ ड ड़ द ढ ढ़ ण त थ ध न ऩ प फ फ़ ब भ म य य़ र ऱ ल ळ ऴ व श ष स ह ़ ऽ ा ि ॊ ो ौ ् ी ु ू ृ ॄ ॅ ॆ े ै ॉ ॐ ॑ ॒ ॓ ॔ ॠ ॡ ॢ ॣ । ॥ ॰',
'Esperanto': 'ĈĉĜĝĤĥĴĵŜŝŬŭ',
'Estonian': 'Č芚ŽžÕõÄäÖöÜü',
'French': 'ÀàÂâÇçÉéÈèÊêËëÎîÏïÔôŒœÙùÛûÜüŸÿ',
'German': 'ÄäÖöÜüß',
'Hawaiian': 'ĀāĒēĪīŌōŪūʻ',
'Hebrew': 'אבגדהוזחטיכךלמםנןסעפףצץקרשת־״׳',
'Hungarian': 'ŐőŰű',
'Icelandic': 'ÁáÐðÉéÍíÓóÚúÝýÞþÆæÖö',
'Italian': 'ÁáÀàÉéÈèÍíÌìÓóÒòÚúÙù',
'Latvian': 'ĀāČčĒēĢģĪīĶķĻļŅņŠšŪūŽž',
'Lithuanian': 'ĄąČčĘęĖėĮįŠšŲųŪūŽž',
'Maltese': 'ĊċĠġĦħŻż',
'Old English': 'ĀāÆæǢǣǼǽĊċÐðĒēĠġĪīŌōŪūǷƿȲȳÞþȜȝ',
'Pinyin': 'ÁáÀàǍǎĀāÉéÈèĚěĒēÍíÌìǏǐĪīÓóÒòǑǒŌōÚúÙùÜüǓǔŪūǗǘǛǜǙǚǕǖ',
'Polish': 'ąĄćĆęĘłŁńŃóÓśŚźŹżŻ',
'Portuguese': 'ÁáÀàÂâÃãÇçÉéÊêÍíÓóÔôÕõÚúÜü',
'Romaji': 'ĀāĒēĪīŌōŪū',
'Romanian': 'ĂăÂâÎŢţ',
'Scandinavian': 'ÀàÉéÅåÆæÄäØøÖö',
'Serbian': 'АаБбВвГгДдЂђЕеЖжЗзИиЈјКкЛлЉљМмНнЊњОоПпРрСсТтЋћУуФфХхЦцЧчЏџШш',
'Spanish': 'ÁáÉéÍíÑñÓóÚúÜü¡¿',
'Turkish': 'ÇçĞğİıÖöŞşÜüÂâÎîÛû',
'Vietnamese': 'ÀàẢảÁáẠạÃãĂăẰằẲẳẴẵẮắẶặÂâẦầẨẩẪẫẤấẬậĐđÈèẺẻẼẽÉéẸẹÊêỀềỂểỄễẾếỆệỈỉĨĩÍíỊịÌìỎỏÓóỌọÒòÕõÔôỒồỔổỖỗỐốỘộƠơỜờỞởỠỡỚớỢợÙùỦủŨũÚúỤụƯưỪừỬửỮữỨứỰựỲỳỶỷỸỹỴỵÝý',
'Welsh': 'ÁáÀàÂâÄäÉéÈèÊêËëÌìÎîÏïÓóÒòÔôÖöÙùÛûẀẁŴŵẄẅÝýỲỳŶŷŸÿ',
'Yiddish': 'א אַ אָ ב בֿ ג ד ה ו וּ װ ױ ז זש ח ט י יִ ײ ײַ כ ך כּ ל ל מ ם נ ן ס ע ע פ פּ פֿ ף צ ץ ק ר ש שׂ תּ ת ׳ ״ ־'
}
var charinsertDivider = '·'


appendCSS('\
.mw-editTools {text-align:center;\
 border:1px solid #aaa;\
 font-size:120%;\
 padding:1px;\
 margin-top:10px;\
}\
.mw-editTools a {\
 color: black !important;\
 background-color: #ccddee;\
 font-weight: bold;\
 font-size: 0.9em;\
 text-decoration: none !important;\
 border: 1px #006699 outset;\
 padding: 0 0.1em 0.1em 0.1em;\
}\
.mw-editTools a:hover {\
 background-color: #bbccdd;\
 border: 1px #F0F0F0 inset;\
}')


createEditTools()


function createEditTools(){

 //find div#mw-editTools
 var box = document.getElementById('wpTextbox1')
 while ((box=box.nextSibling) && box.className!='mw-editTools');
 if (!box) return
 box.title = 'Click on the character or tag to insert it into edit window'

 //append user-defined  sets
 if (window.charinsertCustom)
   for (id in charinsertCustom)
	   if (charinsert[id]) charinsert[id] += ' ' + charinsertCustom[id]
		 else charinsert[id] = charinsertCustom[id]

 //create drop-down select
 var prevSubset = 0, curSubset = 0
 var sel = document.createElement('select'), id
 for (id in charinsert)
   sel.options[sel.options.length] = new Option(id, id)
 sel.style.cssFloat = sel.style.styleFloat = 'left'
 sel.style.marginRight = '5px'
 sel.title = 'Choose character subset'
 sel.onchange = sel.onkeyup = selectSubset
 box.appendChild(sel)
 //create "recall" switch
 if (window.editToolsRecall){
   var recall = document.createElement('span')
   recall.appendChild(document.createTextNode('↕')) //↔
   recall.onclick = function(){ sel.selectedIndex = prevSubset; selectSubset() }
   with (recall.style) { cssFloat = styleFloat = 'left'; marginRight = '5px'; cursor = 'pointer' }
   box.appendChild(recall)
 }
 //show standard set
 selectSubset()
 return

 function selectSubset(){
  //remember previous (for "recall" button)
  prevSubset = curSubset
  curSubset = sel.selectedIndex
  //hide other subsets
	var pp = box.getElementsByTagName('p') 
  for (var i=0; i<pp.length; i++)
    pp[i].style.display = 'none'
  //show/create current subset
  var id = sel.options[curSubset].value
  var p = document.getElementById(id)
  if (!p){
    p = document.createElement('p')
    p.id = id
    if (id == 'Arabic'){ p.style.fontSize = '120%'; p.dir = 'rtl'}
    createTokens(p, charinsert[id])
    box.appendChild(p)
	}
  p.style.display = 'inline'
 } 

}//createEditTools