Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / themes / advanced / js / charmap.js
index 8c5aea1721f56c80391a174cbc1c719ef9d124a1..1cead6dfe87c50cc7dc2d9a889131ee5e45eb2df 100644 (file)
@@ -173,7 +173,7 @@ var charmap = [
        ['ý',  'ý',  true, 'y - acute'],\r
        ['þ',   'þ',  true, 'thorn'],\r
        ['ÿ',    'ÿ',  true, 'y - diaeresis'],\r
-    ['Α',   'Α',  true, 'Alpha'],\r
+       ['Α',   'Α',  true, 'Alpha'],\r
        ['Β',    'Β',  true, 'Beta'],\r
        ['Γ',   'Γ',  true, 'Gamma'],\r
        ['Δ',   'Δ',  true, 'Delta'],\r
@@ -258,8 +258,8 @@ var charmap = [
        ['⌋',  '⌋', false,'right floor'],\r
        ['⟨',    '〈', false,'left-pointing angle bracket'],\r
        ['⟩',    '〉', false,'right-pointing angle bracket'],\r
-       ['◊',     '◊', true,'lozenge'],\r
-       ['♠',  '♠', false,'black spade suit'],\r
+       ['◊',     '◊', true, 'lozenge'],\r
+       ['♠',  '♠', true, 'black spade suit'],\r
        ['♣',   '♣', true, 'black club suit'],\r
        ['♥',  '♥', true, 'black heart suit'],\r
        ['♦',   '♦', true, 'black diamond suit'],\r
@@ -275,19 +275,38 @@ var charmap = [
 \r
 tinyMCEPopup.onInit.add(function() {\r
        tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());\r
+       addKeyboardNavigation();\r
 });\r
 \r
+function addKeyboardNavigation(){\r
+       var tableElm, cells, settings;\r
+\r
+       cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup");\r
+\r
+       settings ={\r
+               root: "charmapgroup",\r
+               items: cells\r
+       };\r
+\r
+       tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);\r
+}\r
+\r
 function renderCharMapHTML() {\r
        var charsPerRow = 20, tdWidth=20, tdHeight=20, i;\r
-       var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';\r
+       var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+\r
+       '<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + \r
+       '"><tr height="' + tdHeight + '">';\r
        var cols=-1;\r
 \r
        for (i=0; i<charmap.length; i++) {\r
+               var previewCharFn;\r
+\r
                if (charmap[i][2]==true) {\r
                        cols++;\r
+                       previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';\r
                        html += ''\r
                                + '<td class="charmap">'\r
-                               + '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'\r
+                               + '<a class="charmaplink" role="button" onmouseover="'+previewCharFn+'" onfocus="'+previewCharFn+'" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">'\r
                                + charmap[i][1]\r
                                + '</a></td>';\r
                        if ((cols+1) % charsPerRow == 0)\r
@@ -301,7 +320,8 @@ function renderCharMapHTML() {
                        html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';\r
        }\r
 \r
-       html += '</tr></table>';\r
+       html += '</tr></table></div>';\r
+       html = html.replace(/<tr height="20"><\/tr>/g, '');\r
 \r
        return html;\r
 }\r