mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-08-19 04:46:42 +02:00
Committed CKEditor 3.2.1 stock version
This commit is contained in:
@@ -0,0 +1,211 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.dialog.add( 'a11yHelp', function( editor )
|
||||
{
|
||||
var lang = editor.lang.accessibilityHelp,
|
||||
id = CKEDITOR.tools.getNextNumber();
|
||||
|
||||
// CharCode <-> KeyChar.
|
||||
var keyMap =
|
||||
{
|
||||
8 : "BACKSPACE",
|
||||
9 : "TAB" ,
|
||||
13 : "ENTER" ,
|
||||
16 : "SHIFT" ,
|
||||
17 : "CTRL" ,
|
||||
18 : "ALT" ,
|
||||
19 : "PAUSE" ,
|
||||
20 : "CAPSLOCK" ,
|
||||
27 : "ESCAPE" ,
|
||||
33 : "PAGE UP" ,
|
||||
34 : "PAGE DOWN" ,
|
||||
35 : "END" ,
|
||||
36 : "HOME" ,
|
||||
37 : "LEFT ARROW" ,
|
||||
38 : "UP ARROW" ,
|
||||
39 : "RIGHT ARROW" ,
|
||||
40 : "DOWN ARROW" ,
|
||||
45 : "INSERT" ,
|
||||
46 : "DELETE" ,
|
||||
91 : "LEFT WINDOW KEY" ,
|
||||
92 : "RIGHT WINDOW KEY" ,
|
||||
93 : "SELECT KEY" ,
|
||||
96 : "NUMPAD 0" ,
|
||||
97 : "NUMPAD 1" ,
|
||||
98 : "NUMPAD 2" ,
|
||||
99 : "NUMPAD 3" ,
|
||||
100 : "NUMPAD 4" ,
|
||||
101 : "NUMPAD 5" ,
|
||||
102 : "NUMPAD 6" ,
|
||||
103 : "NUMPAD 7" ,
|
||||
104 : "NUMPAD 8" ,
|
||||
105 : "NUMPAD 9" ,
|
||||
106 : "MULTIPLY" ,
|
||||
107 : "ADD" ,
|
||||
109 : "SUBTRACT" ,
|
||||
110 : "DECIMAL POINT" ,
|
||||
111 : "DIVIDE" ,
|
||||
112 : "F1" ,
|
||||
113 : "F2" ,
|
||||
114 : "F3" ,
|
||||
115 : "F4" ,
|
||||
116 : "F5" ,
|
||||
117 : "F6" ,
|
||||
118 : "F7" ,
|
||||
119 : "F8" ,
|
||||
120 : "F9" ,
|
||||
121 : "F10" ,
|
||||
122 : "F11" ,
|
||||
123 : "F12" ,
|
||||
144 : "NUM LOCK" ,
|
||||
145 : "SCROLL LOCK" ,
|
||||
186 : "SEMI-COLON" ,
|
||||
187 : "EQUAL SIGN" ,
|
||||
188 : "COMMA" ,
|
||||
189 : "DASH" ,
|
||||
190 : "PERIOD" ,
|
||||
191 : "FORWARD SLASH" ,
|
||||
192 : "GRAVE ACCENT" ,
|
||||
219 : "OPEN BRACKET" ,
|
||||
220 : "BACK SLASH" ,
|
||||
221 : "CLOSE BRAKET" ,
|
||||
222 : "SINGLE QUOTE"
|
||||
};
|
||||
|
||||
// Modifier keys override.
|
||||
keyMap[ CKEDITOR.ALT ] = 'ALT';
|
||||
keyMap[ CKEDITOR.SHIFT ] = 'SHIFT';
|
||||
keyMap[ CKEDITOR.CTRL ] = 'CTRL';
|
||||
|
||||
// Sort in desc.
|
||||
var modifiers = [ CKEDITOR.ALT, CKEDITOR.SHIFT, CKEDITOR.CTRL ];
|
||||
|
||||
function representKeyStroke( keystroke )
|
||||
{
|
||||
var quotient,
|
||||
modifier,
|
||||
presentation = [];
|
||||
|
||||
for ( var i = 0; i < modifiers.length; i++ )
|
||||
{
|
||||
modifier = modifiers[ i ];
|
||||
quotient = keystroke / modifiers[ i ];
|
||||
if ( quotient > 1 && quotient <= 2 )
|
||||
{
|
||||
keystroke -= modifier;
|
||||
presentation.push( keyMap[ modifier ] );
|
||||
}
|
||||
}
|
||||
|
||||
presentation.push( keyMap[ keystroke ]
|
||||
|| String.fromCharCode( keystroke ) );
|
||||
|
||||
return presentation.join( '+' );
|
||||
}
|
||||
|
||||
var variablesPattern = /\$\{(.*?)\}/g;
|
||||
function replaceVariables( match, name )
|
||||
{
|
||||
var keystrokes = editor.config.keystrokes,
|
||||
definition,
|
||||
length = keystrokes.length;
|
||||
|
||||
for ( var i = 0; i < length; i++ )
|
||||
{
|
||||
definition = keystrokes[ i ];
|
||||
if ( definition[ 1 ] == name )
|
||||
break;
|
||||
}
|
||||
return representKeyStroke( definition[ 0 ] );
|
||||
}
|
||||
|
||||
// Create the help list directly from lang file entries.
|
||||
function buildHelpContents()
|
||||
{
|
||||
var pageTpl = '<div class="cke_accessibility_legend" role="document" aria-labelledby="cke_' + id + '_arialbl" tabIndex="-1">%1</div>' +
|
||||
'<span id="cke_' + id + '_arialbl" class="cke_voice_label">' + lang.contents + ' </span>',
|
||||
sectionTpl = '<h1>%1</h1><dl>%2</dl>',
|
||||
itemTpl = '<dt>%1</dt><dd>%2</dd>';
|
||||
|
||||
var pageHtml = [],
|
||||
sections = lang.legend,
|
||||
sectionLength = sections.length;
|
||||
|
||||
for ( var i = 0; i < sectionLength; i++ )
|
||||
{
|
||||
var section = sections[ i ],
|
||||
sectionHtml = [],
|
||||
items = section.items,
|
||||
itemsLength = items.length;
|
||||
|
||||
for ( var j = 0; j < itemsLength; j++ )
|
||||
{
|
||||
var item = items[ j ],
|
||||
itemHtml;
|
||||
itemHtml = itemTpl.replace( '%1', item.name ).
|
||||
replace( '%2', item.legend.replace( variablesPattern, replaceVariables ) );
|
||||
sectionHtml.push( itemHtml );
|
||||
}
|
||||
|
||||
pageHtml.push( sectionTpl.replace( '%1', section.name ).replace( '%2', sectionHtml.join( '' ) ) );
|
||||
}
|
||||
|
||||
return pageTpl.replace( '%1', pageHtml.join( '' ) );
|
||||
}
|
||||
|
||||
return {
|
||||
title : lang.title,
|
||||
minWidth : 600,
|
||||
minHeight : 400,
|
||||
contents : [
|
||||
{
|
||||
id : 'info',
|
||||
label : editor.lang.common.generalTab,
|
||||
expand : true,
|
||||
elements :
|
||||
[
|
||||
{
|
||||
type : 'html',
|
||||
id : 'legends',
|
||||
focus : function() {},
|
||||
html : buildHelpContents() +
|
||||
'<style type="text/css">' +
|
||||
'.cke_accessibility_legend' +
|
||||
'{' +
|
||||
'width:600px;' +
|
||||
'height:400px;' +
|
||||
'padding-right:5px;' +
|
||||
'overflow-y:auto;' +
|
||||
'overflow-x:hidden;' +
|
||||
'}' +
|
||||
'.cke_accessibility_legend h1' +
|
||||
'{' +
|
||||
'font-size: 20px;' +
|
||||
'border-bottom: 1px solid #AAA;' +
|
||||
'margin: 5px 0px 15px;' +
|
||||
'}' +
|
||||
'.cke_accessibility_legend dl' +
|
||||
'{' +
|
||||
'margin-left: 5px;' +
|
||||
'}' +
|
||||
'.cke_accessibility_legend dt' +
|
||||
'{' +
|
||||
'font-size: 13px;' +
|
||||
'font-weight: bold;' +
|
||||
'}' +
|
||||
'.cke_accessibility_legend dd' +
|
||||
'{' +
|
||||
'white-space:normal;' +
|
||||
'margin:10px' +
|
||||
'}' +
|
||||
'</style>'
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
buttons : [ CKEDITOR.dialog.cancelButton ]
|
||||
};
|
||||
});
|
108
phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js
Normal file
108
phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/lang/en.js
Normal file
@@ -0,0 +1,108 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.plugins.setLang( 'a11yhelp', 'en',
|
||||
{
|
||||
accessibilityHelp :
|
||||
{
|
||||
title : 'Accessibility Instructions',
|
||||
contents : 'Help Contents. To close this dialog press ESC.',
|
||||
legend :
|
||||
[
|
||||
{
|
||||
name : 'General',
|
||||
items :
|
||||
[
|
||||
{
|
||||
name : 'Editor Toolbar',
|
||||
legend:
|
||||
'Press ${toolbarFocus} to navigate to the toolbar. ' +
|
||||
'Move to next toolbar button with TAB or RIGHT ARROW. ' +
|
||||
'Move to previous button with SHIFT+TAB or LEFT ARROW. ' +
|
||||
'Press SPACE or ENTER to activate the toolbar button.'
|
||||
},
|
||||
|
||||
{
|
||||
name : 'Editor Dialog',
|
||||
legend :
|
||||
'Inside a dialog, press TAB to navigate to next dialog field, press SHIFT + TAB to move to previous field, press ENTER to submit dialog, press ESC to cancel dialog. ' +
|
||||
'For dialogs that have multiple tab pages, press ALT + F10 to navigate to tab-list. ' +
|
||||
'Then move to next tab with TAB OR RIGTH ARROW. ' +
|
||||
'Move to previous tab with SHIFT + TAB or LEFT ARROW. ' +
|
||||
'Press SPACE or ENTER to select the tab page.'
|
||||
},
|
||||
|
||||
{
|
||||
name : 'Editor Context Menu',
|
||||
legend :
|
||||
'Press ${contextMenu} or APPLICATION KEY to open context-menu. ' +
|
||||
'Then move to next menu option with TAB or DOWN ARROW. ' +
|
||||
'Move to previous option with SHIFT+TAB or UP ARROW. ' +
|
||||
'Press SPACE or ENTER to select the menu option. ' +
|
||||
'Open sub-menu of current option wtih SPACE or ENTER or RIGHT ARROW. ' +
|
||||
'Go back to parent menu item with ESC or LEFT ARROW. ' +
|
||||
'Close context menu with ESC.'
|
||||
},
|
||||
|
||||
{
|
||||
name : 'Editor List Box',
|
||||
legend :
|
||||
'Inside a list-box, move to next list item with TAB OR DOWN ARROW. ' +
|
||||
'Move to previous list item with SHIFT + TAB or UP ARROW. ' +
|
||||
'Press SPACE or ENTER to select the list option. ' +
|
||||
'Press ESC to close the list-box.'
|
||||
},
|
||||
|
||||
{
|
||||
name : 'Editor Element Path Bar',
|
||||
legend :
|
||||
'Press ${elementsPathFocus} to navigate to the elements path bar. ' +
|
||||
'Move to next element button with TAB or RIGHT ARROW. ' +
|
||||
'Move to previous button with SHIFT+TAB or LEFT ARROW. ' +
|
||||
'Press SPACE or ENTER to select the element in editor.'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name : 'Commands',
|
||||
items :
|
||||
[
|
||||
{
|
||||
name : ' Undo command',
|
||||
legend : 'Press ${undo}'
|
||||
},
|
||||
{
|
||||
name : ' Redo command',
|
||||
legend : 'Press ${redo}'
|
||||
},
|
||||
{
|
||||
name : ' Bold command',
|
||||
legend : 'Press ${bold}'
|
||||
},
|
||||
{
|
||||
name : ' Italic command',
|
||||
legend : 'Press ${italic}'
|
||||
},
|
||||
{
|
||||
name : ' Underline command',
|
||||
legend : 'Press ${underline}'
|
||||
},
|
||||
{
|
||||
name : ' Link command',
|
||||
legend : 'Press ${link}'
|
||||
},
|
||||
{
|
||||
name : ' Toolbar Collapse command',
|
||||
legend : 'Press ${toolbarCollapse}'
|
||||
},
|
||||
{
|
||||
name : ' Accessibility Help',
|
||||
legend : 'Press ${a11yHelp}'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
});
|
46
phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js
Normal file
46
phpgwapi/js/ckeditor3/_source/plugins/a11yhelp/plugin.js
Normal file
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @fileOverview Plugin definition for the a11yhelp, which provides a dialog
|
||||
* with accessibility related help.
|
||||
*/
|
||||
|
||||
(function()
|
||||
{
|
||||
var pluginName = 'a11yhelp',
|
||||
commandName = 'a11yHelp';
|
||||
|
||||
CKEDITOR.plugins.add( pluginName,
|
||||
{
|
||||
// List of available localizations.
|
||||
availableLangs : { en:1 },
|
||||
|
||||
init : function( editor )
|
||||
{
|
||||
var plugin = this;
|
||||
editor.addCommand( commandName,
|
||||
{
|
||||
exec : function()
|
||||
{
|
||||
var langCode = editor.langCode;
|
||||
langCode = plugin.availableLangs[ langCode ] ? langCode : 'en';
|
||||
|
||||
CKEDITOR.scriptLoader.load(
|
||||
CKEDITOR.getUrl( plugin.path + 'lang/' + langCode + '.js' ),
|
||||
function()
|
||||
{
|
||||
CKEDITOR.tools.extend( editor.lang, plugin.lang[ langCode ] );
|
||||
editor.openDialog( commandName );
|
||||
});
|
||||
},
|
||||
modes : { wysiwyg:1, source:1 },
|
||||
canUndo : false
|
||||
});
|
||||
|
||||
CKEDITOR.dialog.add( commandName, this.path + 'dialogs/a11yhelp.js' );
|
||||
}
|
||||
});
|
||||
})();
|
Reference in New Issue
Block a user