mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-07 18:18:18 +01:00
New: Update ckeditor to version 4 (part 1)
This commit is contained in:
@@ -1,129 +1,189 @@
|
||||
/*
|
||||
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
|
||||
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.plugins.add( 'basicstyles',
|
||||
{
|
||||
requires : [ 'styles', 'button' ],
|
||||
|
||||
init : function( editor )
|
||||
{
|
||||
// All buttons use the same code to register. So, to avoid
|
||||
// duplications, let's use this tool function.
|
||||
var addButtonCommand = function( buttonName, buttonLabel, commandName, styleDefiniton )
|
||||
{
|
||||
var style = new CKEDITOR.style( styleDefiniton );
|
||||
|
||||
editor.attachStyleStateChange( style, function( state )
|
||||
{
|
||||
!editor.readOnly && editor.getCommand( commandName ).setState( state );
|
||||
});
|
||||
|
||||
editor.addCommand( commandName, new CKEDITOR.styleCommand( style ) );
|
||||
|
||||
editor.ui.addButton( buttonName,
|
||||
{
|
||||
label : buttonLabel,
|
||||
command : commandName
|
||||
});
|
||||
};
|
||||
|
||||
var config = editor.config,
|
||||
lang = editor.lang;
|
||||
|
||||
addButtonCommand( 'Bold' , lang.bold , 'bold' , config.coreStyles_bold );
|
||||
addButtonCommand( 'Italic' , lang.italic , 'italic' , config.coreStyles_italic );
|
||||
addButtonCommand( 'Underline' , lang.underline , 'underline' , config.coreStyles_underline );
|
||||
addButtonCommand( 'Strike' , lang.strike , 'strike' , config.coreStyles_strike );
|
||||
addButtonCommand( 'Subscript' , lang.subscript , 'subscript' , config.coreStyles_subscript );
|
||||
addButtonCommand( 'Superscript' , lang.superscript , 'superscript' , config.coreStyles_superscript );
|
||||
}
|
||||
});
|
||||
|
||||
// Basic Inline Styles.
|
||||
|
||||
/**
|
||||
* The style definition that applies the <strong>bold</strong> style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'strong', overrides : 'b' }</code>
|
||||
* @example
|
||||
* config.coreStyles_bold = { element : 'b', overrides : 'strong' };
|
||||
* @example
|
||||
* config.coreStyles_bold =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'Bold' }
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_bold = { element : 'strong', overrides : 'b' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the <em>italics</em> style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'em', overrides : 'i' }</code>
|
||||
* @example
|
||||
* config.coreStyles_italic = { element : 'i', overrides : 'em' };
|
||||
* @example
|
||||
* CKEDITOR.config.coreStyles_italic =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'Italic' }
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_italic = { element : 'em', overrides : 'i' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the <u>underline</u> style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'u' }</code>
|
||||
* @example
|
||||
* CKEDITOR.config.coreStyles_underline =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'Underline' }
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_underline = { element : 'u' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the <strike>strike-through</strike> style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'strike' }</code>
|
||||
* @example
|
||||
* CKEDITOR.config.coreStyles_strike =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'StrikeThrough' },
|
||||
* overrides : 'strike'
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_strike = { element : 'strike' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the subscript style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'sub' }</code>
|
||||
* @example
|
||||
* CKEDITOR.config.coreStyles_subscript =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'Subscript' },
|
||||
* overrides : 'sub'
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_subscript = { element : 'sub' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the superscript style to the text.
|
||||
* @type Object
|
||||
* @default <code>{ element : 'sup' }</code>
|
||||
* @example
|
||||
* CKEDITOR.config.coreStyles_superscript =
|
||||
* {
|
||||
* element : 'span',
|
||||
* attributes : { 'class' : 'Superscript' },
|
||||
* overrides : 'sup'
|
||||
* };
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_superscript = { element : 'sup' };
|
||||
/**
|
||||
* @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
|
||||
* For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||
*/
|
||||
|
||||
CKEDITOR.plugins.add( 'basicstyles', {
|
||||
lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE%
|
||||
icons: 'bold,italic,underline,strike,subscript,superscript', // %REMOVE_LINE_CORE%
|
||||
hidpi: true, // %REMOVE_LINE_CORE%
|
||||
init: function( editor ) {
|
||||
var order = 0;
|
||||
// All buttons use the same code to register. So, to avoid
|
||||
// duplications, let's use this tool function.
|
||||
var addButtonCommand = function( buttonName, buttonLabel, commandName, styleDefiniton ) {
|
||||
// Disable the command if no definition is configured.
|
||||
if ( !styleDefiniton )
|
||||
return;
|
||||
|
||||
var style = new CKEDITOR.style( styleDefiniton ),
|
||||
forms = contentForms[ commandName ];
|
||||
|
||||
// Put the style as the most important form.
|
||||
forms.unshift( style );
|
||||
|
||||
// Listen to contextual style activation.
|
||||
editor.attachStyleStateChange( style, function( state ) {
|
||||
!editor.readOnly && editor.getCommand( commandName ).setState( state );
|
||||
} );
|
||||
|
||||
// Create the command that can be used to apply the style.
|
||||
editor.addCommand( commandName, new CKEDITOR.styleCommand( style, {
|
||||
contentForms: forms
|
||||
} ) );
|
||||
|
||||
// Register the button, if the button plugin is loaded.
|
||||
if ( editor.ui.addButton ) {
|
||||
editor.ui.addButton( buttonName, {
|
||||
label: buttonLabel,
|
||||
command: commandName,
|
||||
toolbar: 'basicstyles,' + ( order += 10 )
|
||||
} );
|
||||
}
|
||||
};
|
||||
|
||||
var contentForms = {
|
||||
bold: [
|
||||
'strong',
|
||||
'b',
|
||||
[ 'span', function( el ) {
|
||||
var fw = el.styles[ 'font-weight' ];
|
||||
return fw == 'bold' || +fw >= 700;
|
||||
} ]
|
||||
],
|
||||
|
||||
italic: [
|
||||
'em',
|
||||
'i',
|
||||
[ 'span', function( el ) {
|
||||
return el.styles[ 'font-style' ] == 'italic';
|
||||
} ]
|
||||
],
|
||||
|
||||
underline: [
|
||||
'u',
|
||||
[ 'span', function( el ) {
|
||||
return el.styles[ 'text-decoration' ] == 'underline';
|
||||
} ]
|
||||
],
|
||||
|
||||
strike: [
|
||||
's',
|
||||
'strike',
|
||||
[ 'span', function( el ) {
|
||||
return el.styles[ 'text-decoration' ] == 'line-through';
|
||||
} ]
|
||||
],
|
||||
|
||||
subscript: [
|
||||
'sub'
|
||||
],
|
||||
|
||||
superscript: [
|
||||
'sup'
|
||||
]
|
||||
},
|
||||
config = editor.config,
|
||||
lang = editor.lang.basicstyles;
|
||||
|
||||
addButtonCommand( 'Bold', lang.bold, 'bold', config.coreStyles_bold );
|
||||
addButtonCommand( 'Italic', lang.italic, 'italic', config.coreStyles_italic );
|
||||
addButtonCommand( 'Underline', lang.underline, 'underline', config.coreStyles_underline );
|
||||
addButtonCommand( 'Strike', lang.strike, 'strike', config.coreStyles_strike );
|
||||
addButtonCommand( 'Subscript', lang.subscript, 'subscript', config.coreStyles_subscript );
|
||||
addButtonCommand( 'Superscript', lang.superscript, 'superscript', config.coreStyles_superscript );
|
||||
|
||||
editor.setKeystroke( [
|
||||
[ CKEDITOR.CTRL + 66 /*B*/, 'bold' ],
|
||||
[ CKEDITOR.CTRL + 73 /*I*/, 'italic' ],
|
||||
[ CKEDITOR.CTRL + 85 /*U*/, 'underline' ]
|
||||
] );
|
||||
}
|
||||
} );
|
||||
|
||||
// Basic Inline Styles.
|
||||
|
||||
/**
|
||||
* The style definition that applies the **bold** style to the text.
|
||||
*
|
||||
* config.coreStyles_bold = { element: 'b', overrides: 'strong' };
|
||||
*
|
||||
* config.coreStyles_bold = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'Bold' }
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_bold = { element: 'strong', overrides: 'b' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the *italics* style to the text.
|
||||
*
|
||||
* config.coreStyles_italic = { element: 'i', overrides: 'em' };
|
||||
*
|
||||
* CKEDITOR.config.coreStyles_italic = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'Italic' }
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_italic = { element: 'em', overrides: 'i' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the <u>underline</u> style to the text.
|
||||
*
|
||||
* CKEDITOR.config.coreStyles_underline = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'Underline' }
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_underline = { element: 'u' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the <strike>strike-through</strike> style to the text.
|
||||
*
|
||||
* CKEDITOR.config.coreStyles_strike = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'StrikeThrough' },
|
||||
* overrides: 'strike'
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_strike = { element: 's', overrides: 'strike' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the subscript style to the text.
|
||||
*
|
||||
* CKEDITOR.config.coreStyles_subscript = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'Subscript' },
|
||||
* overrides: 'sub'
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_subscript = { element: 'sub' };
|
||||
|
||||
/**
|
||||
* The style definition that applies the superscript style to the text.
|
||||
*
|
||||
* CKEDITOR.config.coreStyles_superscript = {
|
||||
* element: 'span',
|
||||
* attributes: { 'class': 'Superscript' },
|
||||
* overrides: 'sup'
|
||||
* };
|
||||
*
|
||||
* @cfg
|
||||
* @member CKEDITOR.config
|
||||
*/
|
||||
CKEDITOR.config.coreStyles_superscript = { element: 'sup' };
|
||||
|
||||
Reference in New Issue
Block a user