cable 0.9.15 → 0.9.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/VERSION +1 -1
- data/public/javascripts/tinymce/langs/en.js +54 -2
- data/public/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +2 -0
- data/public/javascripts/tinymce/plugins/advhr/rule.htm +30 -29
- data/public/javascripts/tinymce/plugins/advimage/image.htm +34 -31
- data/public/javascripts/tinymce/plugins/advimage/js/image.js +4 -2
- data/public/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +2 -0
- data/public/javascripts/tinymce/plugins/advlink/js/advlink.js +5 -10
- data/public/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +4 -2
- data/public/javascripts/tinymce/plugins/advlink/link.htm +34 -29
- data/public/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +3 -3
- data/public/javascripts/tinymce/plugins/autolink/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/autolink/editor_plugin_src.js +169 -0
- data/public/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +13 -4
- data/public/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +1 -1
- data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +23 -14
- data/public/javascripts/tinymce/plugins/emotions/emotions.htm +15 -14
- data/public/javascripts/tinymce/plugins/fullpage/css/fullpage.css +6 -4
- data/public/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +53 -8
- data/public/javascripts/tinymce/plugins/fullpage/fullpage.htm +2 -2
- data/public/javascripts/tinymce/plugins/fullpage/js/fullpage.js +45 -19
- data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +10 -2
- data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +76 -15
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -10
- data/public/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/layer/editor_plugin_src.js +2 -0
- data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +29 -26
- data/public/javascripts/tinymce/plugins/lists/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/lists/editor_plugin_src.js +617 -0
- data/public/javascripts/tinymce/plugins/media/css/media.css +5 -4
- data/public/javascripts/tinymce/plugins/media/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/media/editor_plugin_src.js +652 -296
- data/public/javascripts/tinymce/plugins/media/js/media.js +327 -603
- data/public/javascripts/tinymce/plugins/media/langs/en_dlg.js +8 -2
- data/public/javascripts/tinymce/plugins/media/media.htm +283 -288
- data/public/javascripts/tinymce/plugins/media/moxieplayer.swf +0 -0
- data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +1 -1
- data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +1 -4
- data/public/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/paste/editor_plugin_src.js +106 -128
- data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +4 -0
- data/public/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +14 -10
- data/public/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +17 -16
- data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +55 -37
- data/public/javascripts/tinymce/plugins/style/js/props.js +2 -8
- data/public/javascripts/tinymce/plugins/style/langs/en_dlg.js +8 -1
- data/public/javascripts/tinymce/plugins/style/props.htm +513 -398
- data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +30 -28
- data/public/javascripts/tinymce/plugins/table/cell.htm +12 -12
- data/public/javascripts/tinymce/plugins/table/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/table/editor_plugin_src.js +85 -26
- data/public/javascripts/tinymce/plugins/table/js/cell.js +9 -11
- data/public/javascripts/tinymce/plugins/table/js/row.js +13 -18
- data/public/javascripts/tinymce/plugins/table/js/table.js +8 -12
- data/public/javascripts/tinymce/plugins/table/langs/en_dlg.js +1 -1
- data/public/javascripts/tinymce/plugins/table/merge_cells.htm +11 -11
- data/public/javascripts/tinymce/plugins/table/row.htm +10 -8
- data/public/javascripts/tinymce/plugins/table/table.htm +54 -53
- data/public/javascripts/tinymce/plugins/template/js/template.js +1 -1
- data/public/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +1 -1
- data/public/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -1
- data/public/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +35 -19
- data/public/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +6 -5
- data/public/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +6 -5
- data/public/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +6 -5
- data/public/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +5 -4
- data/public/javascripts/tinymce/plugins/xhtmlxtras/del.htm +9 -8
- data/public/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +11 -10
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +0 -1
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +2 -2
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +3 -5
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +4 -3
- data/public/javascripts/tinymce/themes/advanced/about.htm +3 -5
- data/public/javascripts/tinymce/themes/advanced/anchor.htm +5 -5
- data/public/javascripts/tinymce/themes/advanced/charmap.htm +39 -40
- data/public/javascripts/tinymce/themes/advanced/color_picker.htm +10 -9
- data/public/javascripts/tinymce/themes/advanced/editor_template.js +1 -1
- data/public/javascripts/tinymce/themes/advanced/editor_template_src.js +171 -40
- data/public/javascripts/tinymce/themes/advanced/image.htm +51 -51
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/flash.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/img/iframe.gif +0 -0
- data/public/javascripts/tinymce/{plugins/pagebreak → themes/advanced}/img/pagebreak.gif +0 -0
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/quicktime.gif +0 -0
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/realmedia.gif +0 -0
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/shockwave.gif +0 -0
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/trans.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/img/video.gif +0 -0
- data/public/javascripts/tinymce/{plugins/media → themes/advanced}/img/windowsmedia.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/js/about.js +1 -0
- data/public/javascripts/tinymce/themes/advanced/js/anchor.js +5 -0
- data/public/javascripts/tinymce/themes/advanced/js/charmap.js +26 -6
- data/public/javascripts/tinymce/themes/advanced/js/color_picker.js +108 -32
- data/public/javascripts/tinymce/themes/advanced/js/image.js +3 -1
- data/public/javascripts/tinymce/themes/advanced/js/link.js +4 -7
- data/public/javascripts/tinymce/themes/advanced/js/source_editor.js +1 -1
- data/public/javascripts/tinymce/themes/advanced/langs/en.js +8 -2
- data/public/javascripts/tinymce/themes/advanced/langs/en_dlg.js +6 -3
- data/public/javascripts/tinymce/themes/advanced/link.htm +27 -28
- data/public/javascripts/tinymce/themes/advanced/shortcuts.htm +47 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/content.css +11 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/ui.css +4 -4
- data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/content.css +23 -0
- data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/dialog.css +105 -0
- data/public/javascripts/tinymce/themes/advanced/skins/highcontrast/ui.css +101 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +10 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +1 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +5 -4
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +1 -1
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +1 -1
- data/public/javascripts/tinymce/themes/advanced/source_editor.htm +3 -3
- data/public/javascripts/tinymce/themes/simple/editor_template.js +1 -1
- data/public/javascripts/tinymce/themes/simple/editor_template_src.js +1 -2
- data/public/javascripts/tinymce/tiny_mce.js +1 -1
- data/public/javascripts/tinymce/tiny_mce_popup.js +1 -1
- data/public/javascripts/tinymce/tiny_mce_src.js +6383 -4025
- data/public/javascripts/tinymce/utils/form_utils.js +14 -4
- data/public/javascripts/tinymce/utils/mctabs.js +95 -10
- data/public/javascripts/tinymce/utils/validate.js +34 -2
- metadata +50 -93
- data/public/javascripts/tinymce/plugins/media/css/content.css +0 -6
- data/public/javascripts/tinymce/plugins/media/img/flv_player.swf +0 -0
- data/public/javascripts/tinymce/plugins/pagebreak/css/content.css +0 -1
- data/public/javascripts/tinymce/plugins/pagebreak/img/trans.gif +0 -0
- data/public/javascripts/tinymce/plugins/pdw/editor_plugin.js +0 -4
- data/public/javascripts/tinymce/plugins/pdw/editor_plugin_src.js +0 -158
- data/public/javascripts/tinymce/plugins/pdw/img/toolbars.gif +0 -0
- data/public/javascripts/tinymce/plugins/pdw/langs/en.js +0 -3
- data/public/javascripts/tinymce/plugins/pdw/langs/nl.js +0 -3
|
@@ -17,57 +17,57 @@
|
|
|
17
17
|
|
|
18
18
|
<div class="panel_wrapper">
|
|
19
19
|
<div id="general_panel" class="panel current">
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
20
|
+
<table border="0" cellpadding="4" cellspacing="0">
|
|
21
|
+
<tr>
|
|
22
|
+
<td class="nowrap"><label for="src">{#advanced_dlg.image_src}</label></td>
|
|
23
|
+
<td><table border="0" cellspacing="0" cellpadding="0">
|
|
24
|
+
<tr>
|
|
25
|
+
<td><input id="src" name="src" type="text" class="mceFocus" value="" style="width: 200px" onchange="ImageDialog.getImageData();" /></td>
|
|
26
|
+
<td id="srcbrowsercontainer"> </td>
|
|
27
|
+
</tr>
|
|
28
|
+
</table></td>
|
|
29
|
+
</tr>
|
|
30
|
+
<tr>
|
|
31
|
+
<td><label for="image_list">{#advanced_dlg.image_list}</label></td>
|
|
32
|
+
<td><select id="image_list" name="image_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;"></select></td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr>
|
|
35
|
+
<td class="nowrap"><label for="alt">{#advanced_dlg.image_alt}</label></td>
|
|
36
|
+
<td><input id="alt" name="alt" type="text" value="" style="width: 200px" /></td>
|
|
37
|
+
</tr>
|
|
38
|
+
<tr>
|
|
39
|
+
<td class="nowrap"><label for="align">{#advanced_dlg.image_align}</label></td>
|
|
40
|
+
<td><select id="align" name="align" onchange="ImageDialog.updateStyle();">
|
|
41
|
+
<option value="">{#not_set}</option>
|
|
42
|
+
<option value="baseline">{#advanced_dlg.image_align_baseline}</option>
|
|
43
|
+
<option value="top">{#advanced_dlg.image_align_top}</option>
|
|
44
|
+
<option value="middle">{#advanced_dlg.image_align_middle}</option>
|
|
45
|
+
<option value="bottom">{#advanced_dlg.image_align_bottom}</option>
|
|
46
|
+
<option value="text-top">{#advanced_dlg.image_align_texttop}</option>
|
|
47
|
+
<option value="text-bottom">{#advanced_dlg.image_align_textbottom}</option>
|
|
48
|
+
<option value="left">{#advanced_dlg.image_align_left}</option>
|
|
49
|
+
<option value="right">{#advanced_dlg.image_align_right}</option>
|
|
50
|
+
</select></td>
|
|
51
|
+
</tr>
|
|
52
|
+
<tr>
|
|
53
|
+
<td class="nowrap"><label for="width">{#advanced_dlg.image_dimensions}</label></td>
|
|
54
|
+
<td><input id="width" name="width" type="text" value="" size="3" maxlength="5" />
|
|
55
|
+
x
|
|
56
|
+
<input id="height" name="height" type="text" value="" size="3" maxlength="5" /></td>
|
|
57
|
+
</tr>
|
|
58
|
+
<tr>
|
|
59
|
+
<td class="nowrap"><label for="border">{#advanced_dlg.image_border}</label></td>
|
|
60
|
+
<td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
|
|
61
|
+
</tr>
|
|
62
|
+
<tr>
|
|
63
|
+
<td class="nowrap"><label for="vspace">{#advanced_dlg.image_vspace}</label></td>
|
|
64
|
+
<td><input id="vspace" name="vspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<td class="nowrap"><label for="hspace">{#advanced_dlg.image_hspace}</label></td>
|
|
68
|
+
<td><input id="hspace" name="hspace" type="text" value="" size="3" maxlength="3" onchange="ImageDialog.updateStyle();" /></td>
|
|
69
|
+
</tr>
|
|
70
|
+
</table>
|
|
71
71
|
</div>
|
|
72
72
|
</div>
|
|
73
73
|
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
@@ -66,6 +66,7 @@ function insertHelpIFrame() {
|
|
|
66
66
|
html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>';
|
|
67
67
|
document.getElementById('iframecontainer').innerHTML = html;
|
|
68
68
|
document.getElementById('help_tab').style.display = 'block';
|
|
69
|
+
document.getElementById('help_tab').setAttribute("aria-hidden", "false");
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
|
|
@@ -19,6 +19,11 @@ var AnchorDialog = {
|
|
|
19
19
|
update : function() {
|
|
20
20
|
var ed = this.editor, elm, name = document.forms[0].anchorName.value;
|
|
21
21
|
|
|
22
|
+
if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) {
|
|
23
|
+
tinyMCEPopup.alert('advanced_dlg.anchor_invalid');
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
22
27
|
tinyMCEPopup.restoreSelection();
|
|
23
28
|
|
|
24
29
|
if (this.action != 'update')
|
|
@@ -173,7 +173,7 @@ var charmap = [
|
|
|
173
173
|
['ý', 'ý', true, 'y - acute'],
|
|
174
174
|
['þ', 'þ', true, 'thorn'],
|
|
175
175
|
['ÿ', 'ÿ', true, 'y - diaeresis'],
|
|
176
|
-
|
|
176
|
+
['Α', 'Α', true, 'Alpha'],
|
|
177
177
|
['Β', 'Β', true, 'Beta'],
|
|
178
178
|
['Γ', 'Γ', true, 'Gamma'],
|
|
179
179
|
['Δ', 'Δ', true, 'Delta'],
|
|
@@ -258,8 +258,8 @@ var charmap = [
|
|
|
258
258
|
['⌋', '⌋', false,'right floor'],
|
|
259
259
|
['⟨', '〈', false,'left-pointing angle bracket'],
|
|
260
260
|
['⟩', '〉', false,'right-pointing angle bracket'],
|
|
261
|
-
['◊', '◊', true,'lozenge'],
|
|
262
|
-
['♠', '♠',
|
|
261
|
+
['◊', '◊', true, 'lozenge'],
|
|
262
|
+
['♠', '♠', true, 'black spade suit'],
|
|
263
263
|
['♣', '♣', true, 'black club suit'],
|
|
264
264
|
['♥', '♥', true, 'black heart suit'],
|
|
265
265
|
['♦', '♦', true, 'black diamond suit'],
|
|
@@ -275,19 +275,38 @@ var charmap = [
|
|
|
275
275
|
|
|
276
276
|
tinyMCEPopup.onInit.add(function() {
|
|
277
277
|
tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
|
|
278
|
+
addKeyboardNavigation();
|
|
278
279
|
});
|
|
279
280
|
|
|
281
|
+
function addKeyboardNavigation(){
|
|
282
|
+
var tableElm, cells, settings;
|
|
283
|
+
|
|
284
|
+
cells = tinyMCEPopup.dom.select(".charmaplink", "charmapgroup");
|
|
285
|
+
|
|
286
|
+
settings ={
|
|
287
|
+
root: "charmapgroup",
|
|
288
|
+
items: cells
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
|
|
292
|
+
}
|
|
293
|
+
|
|
280
294
|
function renderCharMapHTML() {
|
|
281
295
|
var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
|
|
282
|
-
var html = '<
|
|
296
|
+
var html = '<div id="charmapgroup" aria-labelledby="charmap_label" tabindex="0" role="listbox">'+
|
|
297
|
+
'<table role="presentation" border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) +
|
|
298
|
+
'"><tr height="' + tdHeight + '">';
|
|
283
299
|
var cols=-1;
|
|
284
300
|
|
|
285
301
|
for (i=0; i<charmap.length; i++) {
|
|
302
|
+
var previewCharFn;
|
|
303
|
+
|
|
286
304
|
if (charmap[i][2]==true) {
|
|
287
305
|
cols++;
|
|
306
|
+
previewCharFn = 'previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');';
|
|
288
307
|
html += ''
|
|
289
308
|
+ '<td class="charmap">'
|
|
290
|
-
+ '<a
|
|
309
|
+
+ '<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] + '">'
|
|
291
310
|
+ charmap[i][1]
|
|
292
311
|
+ '</a></td>';
|
|
293
312
|
if ((cols+1) % charsPerRow == 0)
|
|
@@ -301,7 +320,8 @@ function renderCharMapHTML() {
|
|
|
301
320
|
html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>';
|
|
302
321
|
}
|
|
303
322
|
|
|
304
|
-
html += '</tr></table>';
|
|
323
|
+
html += '</tr></table></div>';
|
|
324
|
+
html = html.replace(/<tr height="20"><\/tr>/g, '');
|
|
305
325
|
|
|
306
326
|
return html;
|
|
307
327
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
tinyMCEPopup.requireLangPack();
|
|
2
2
|
|
|
3
|
-
var detail = 50, strhex = "
|
|
3
|
+
var detail = 50, strhex = "0123456789ABCDEF", i, isMouseDown = false, isMouseOver = false;
|
|
4
4
|
|
|
5
5
|
var colors = [
|
|
6
6
|
"#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
|
|
@@ -33,37 +33,41 @@ var colors = [
|
|
|
33
33
|
];
|
|
34
34
|
|
|
35
35
|
var named = {
|
|
36
|
-
'#F0F8FF':'
|
|
37
|
-
'#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'
|
|
38
|
-
'#DEB887':'
|
|
39
|
-
'#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'
|
|
40
|
-
'#A9A9A9':'
|
|
41
|
-
'#FF8C00':'Darkorange','#9932CC':'
|
|
42
|
-
'#2F4F4F':'
|
|
43
|
-
'#696969':'
|
|
44
|
-
'#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'
|
|
45
|
-
'#008000':'Green','#ADFF2F':'
|
|
46
|
-
'#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'
|
|
47
|
-
'#F08080':'
|
|
48
|
-
'#FFB6C1':'
|
|
49
|
-
'#B0C4DE':'
|
|
50
|
-
'#66CDAA':'
|
|
51
|
-
'#00FA9A':'
|
|
52
|
-
'#FFDEAD':'
|
|
53
|
-
'#EEE8AA':'
|
|
54
|
-
'#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'
|
|
55
|
-
'#8B4513':'
|
|
56
|
-
'#87CEEB':'
|
|
57
|
-
'#4682B4':'
|
|
58
|
-
'#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'
|
|
36
|
+
'#F0F8FF':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
|
|
37
|
+
'#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown',
|
|
38
|
+
'#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue',
|
|
39
|
+
'#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod',
|
|
40
|
+
'#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green',
|
|
41
|
+
'#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue',
|
|
42
|
+
'#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue',
|
|
43
|
+
'#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green',
|
|
44
|
+
'#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey',
|
|
45
|
+
'#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory',
|
|
46
|
+
'#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue',
|
|
47
|
+
'#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green',
|
|
48
|
+
'#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey',
|
|
49
|
+
'#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
|
|
50
|
+
'#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue',
|
|
51
|
+
'#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin',
|
|
52
|
+
'#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid',
|
|
53
|
+
'#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff',
|
|
54
|
+
'#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue',
|
|
55
|
+
'#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver',
|
|
56
|
+
'#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green',
|
|
57
|
+
'#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
|
|
58
|
+
'#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green'
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
+
var namedLookup = {};
|
|
62
|
+
|
|
61
63
|
function init() {
|
|
62
|
-
var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color'));
|
|
64
|
+
var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value;
|
|
63
65
|
|
|
64
66
|
tinyMCEPopup.resizeToInnerSize();
|
|
65
67
|
|
|
66
68
|
generatePicker();
|
|
69
|
+
generateWebColors();
|
|
70
|
+
generateNamedColors();
|
|
67
71
|
|
|
68
72
|
if (inputColor) {
|
|
69
73
|
changeFinalColor(inputColor);
|
|
@@ -73,6 +77,45 @@ function init() {
|
|
|
73
77
|
if (col)
|
|
74
78
|
updateLight(col.r, col.g, col.b);
|
|
75
79
|
}
|
|
80
|
+
|
|
81
|
+
for (key in named) {
|
|
82
|
+
value = named[key];
|
|
83
|
+
namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function toHexColor(color) {
|
|
88
|
+
var matches, red, green, blue, toInt = parseInt;
|
|
89
|
+
|
|
90
|
+
function hex(value) {
|
|
91
|
+
value = parseInt(value).toString(16);
|
|
92
|
+
|
|
93
|
+
return value.length > 1 ? value : '0' + value; // Padd with leading zero
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
color = color.replace(/[\s#]+/g, '').toLowerCase();
|
|
97
|
+
color = namedLookup[color] || color;
|
|
98
|
+
matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})|([a-f0-9])([a-f0-9])([a-f0-9])$/.exec(color);
|
|
99
|
+
|
|
100
|
+
if (matches) {
|
|
101
|
+
if (matches[1]) {
|
|
102
|
+
red = toInt(matches[1]);
|
|
103
|
+
green = toInt(matches[2]);
|
|
104
|
+
blue = toInt(matches[3]);
|
|
105
|
+
} else if (matches[4]) {
|
|
106
|
+
red = toInt(matches[4], 16);
|
|
107
|
+
green = toInt(matches[5], 16);
|
|
108
|
+
blue = toInt(matches[6], 16);
|
|
109
|
+
} else if (matches[7]) {
|
|
110
|
+
red = toInt(matches[7] + matches[7], 16);
|
|
111
|
+
green = toInt(matches[8] + matches[8], 16);
|
|
112
|
+
blue = toInt(matches[9] + matches[9], 16);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return '#' + hex(red) + hex(green) + hex(blue);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return '';
|
|
76
119
|
}
|
|
77
120
|
|
|
78
121
|
function insertAction() {
|
|
@@ -81,7 +124,7 @@ function insertAction() {
|
|
|
81
124
|
tinyMCEPopup.restoreSelection();
|
|
82
125
|
|
|
83
126
|
if (f)
|
|
84
|
-
f(color);
|
|
127
|
+
f(toHexColor(color));
|
|
85
128
|
|
|
86
129
|
tinyMCEPopup.close();
|
|
87
130
|
}
|
|
@@ -91,7 +134,7 @@ function showColor(color, name) {
|
|
|
91
134
|
document.getElementById("colorname").innerHTML = name;
|
|
92
135
|
|
|
93
136
|
document.getElementById("preview").style.backgroundColor = color;
|
|
94
|
-
document.getElementById("color").value = color.
|
|
137
|
+
document.getElementById("color").value = color.toUpperCase();
|
|
95
138
|
}
|
|
96
139
|
|
|
97
140
|
function convertRGBToHex(col) {
|
|
@@ -153,23 +196,40 @@ function generateWebColors() {
|
|
|
153
196
|
if (el.className == 'generated')
|
|
154
197
|
return;
|
|
155
198
|
|
|
156
|
-
|
|
199
|
+
// TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby.
|
|
200
|
+
h += '<div role="listbox" aria-labelledby="webcolors_title" tabindex="0"><table role="presentation" border="0" cellspacing="1" cellpadding="0">'
|
|
157
201
|
+ '<tr>';
|
|
158
202
|
|
|
159
203
|
for (i=0; i<colors.length; i++) {
|
|
160
204
|
h += '<td bgcolor="' + colors[i] + '" width="10" height="10">'
|
|
161
|
-
+ '<a href="javascript:insertAction();" onfocus="showColor(\'' + colors[i] +
|
|
162
|
-
|
|
205
|
+
+ '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="web_colors_' + i + '" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">';
|
|
206
|
+
if (tinyMCEPopup.editor.forcedHighContrastMode) {
|
|
207
|
+
h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>';
|
|
208
|
+
}
|
|
209
|
+
h += '<span class="mceVoiceLabel" style="display:none;" id="web_colors_' + i + '">' + colors[i].toUpperCase() + '</span>';
|
|
210
|
+
h += '</a></td>';
|
|
163
211
|
if ((i+1) % 18 == 0)
|
|
164
212
|
h += '</tr><tr>';
|
|
165
213
|
}
|
|
166
214
|
|
|
167
|
-
h += '</table>';
|
|
215
|
+
h += '</table></div>';
|
|
168
216
|
|
|
169
217
|
el.innerHTML = h;
|
|
170
218
|
el.className = 'generated';
|
|
219
|
+
|
|
220
|
+
paintCanvas(el);
|
|
221
|
+
enableKeyboardNavigation(el.firstChild);
|
|
171
222
|
}
|
|
172
223
|
|
|
224
|
+
function paintCanvas(el) {
|
|
225
|
+
tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) {
|
|
226
|
+
var context;
|
|
227
|
+
if (canvas.getContext && (context = canvas.getContext("2d"))) {
|
|
228
|
+
context.fillStyle = canvas.getAttribute('data-color');
|
|
229
|
+
context.fillRect(0, 0, 10, 10);
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
}
|
|
173
233
|
function generateNamedColors() {
|
|
174
234
|
var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
|
|
175
235
|
|
|
@@ -178,11 +238,27 @@ function generateNamedColors() {
|
|
|
178
238
|
|
|
179
239
|
for (n in named) {
|
|
180
240
|
v = named[n];
|
|
181
|
-
h += '<a href="javascript:insertAction();" onmouseover="showColor(\'' + n +
|
|
241
|
+
h += '<a href="javascript:insertAction();" role="option" tabindex="-1" aria-labelledby="named_colors_' + i + '" onfocus="showColor(\'' + n + '\',\'' + v + '\');" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '">';
|
|
242
|
+
if (tinyMCEPopup.editor.forcedHighContrastMode) {
|
|
243
|
+
h += '<canvas class="mceColorSwatch" height="10" width="10" data-color="' + colors[i] + '"></canvas>';
|
|
244
|
+
}
|
|
245
|
+
h += '<span class="mceVoiceLabel" style="display:none;" id="named_colors_' + i + '">' + v + '</span>';
|
|
246
|
+
h += '</a>';
|
|
247
|
+
i++;
|
|
182
248
|
}
|
|
183
249
|
|
|
184
250
|
el.innerHTML = h;
|
|
185
251
|
el.className = 'generated';
|
|
252
|
+
|
|
253
|
+
paintCanvas(el);
|
|
254
|
+
enableKeyboardNavigation(el);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
function enableKeyboardNavigation(el) {
|
|
258
|
+
tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', {
|
|
259
|
+
root: el,
|
|
260
|
+
items: tinyMCEPopup.dom.select('a', el)
|
|
261
|
+
}, tinyMCEPopup.dom);
|
|
186
262
|
}
|
|
187
263
|
|
|
188
264
|
function dechex(n) {
|
|
@@ -77,7 +77,7 @@ var ImageDialog = {
|
|
|
77
77
|
args.style = this.styleVal;
|
|
78
78
|
|
|
79
79
|
tinymce.extend(args, {
|
|
80
|
-
src : f.src.value,
|
|
80
|
+
src : f.src.value.replace(/ /g, '%20'),
|
|
81
81
|
alt : f.alt.value,
|
|
82
82
|
width : f.width.value,
|
|
83
83
|
height : f.height.value
|
|
@@ -87,6 +87,8 @@ var ImageDialog = {
|
|
|
87
87
|
|
|
88
88
|
if (el && el.nodeName == 'IMG') {
|
|
89
89
|
ed.dom.setAttribs(el, args);
|
|
90
|
+
tinyMCEPopup.editor.execCommand('mceRepaint');
|
|
91
|
+
tinyMCEPopup.editor.focus();
|
|
90
92
|
} else {
|
|
91
93
|
ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1});
|
|
92
94
|
ed.dom.setAttribs('__mce_tmp', args);
|