diff options
Diffstat (limited to 'core/config.js')
| -rw-r--r-- | core/config.js | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/core/config.js b/core/config.js new file mode 100644 index 0000000..6155f1f --- /dev/null +++ b/core/config.js @@ -0,0 +1,363 @@ +/** + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.html or http://ckeditor.com/license + */ + +/** + * @fileOverview Defines the {@link CKEDITOR.config} object that stores the + * default configuration settings. + */ + +/** + * Used in conjunction with {@link CKEDITOR.config#enterMode} + * and {@link CKEDITOR.config#shiftEnterMode} configuration + * settings to make the editor produce `<p>` tags when + * using the *Enter* key. + * + * @readonly + * @property {Number} [=1] + * @member CKEDITOR + */ +CKEDITOR.ENTER_P = 1; + +/** + * Used in conjunction with {@link CKEDITOR.config#enterMode} + * and {@link CKEDITOR.config#shiftEnterMode} configuration + * settings to make the editor produce `<br>` tags when + * using the *Enter* key. + * + * @readonly + * @property {Number} [=2] + * @member CKEDITOR + */ +CKEDITOR.ENTER_BR = 2; + +/** + * Used in conjunction with {@link CKEDITOR.config#enterMode} + * and {@link CKEDITOR.config#shiftEnterMode} configuration + * settings to make the editor produce `<div>` tags when + * using the *Enter* key. + * + * @readonly + * @property {Number} [=3] + * @member CKEDITOR + */ +CKEDITOR.ENTER_DIV = 3; + +/** + * Stores default configuration settings. Changes to this object are + * reflected in all editor instances, if not specified otherwise for a particular + * instance. + * + * @class + * @singleton + */ +CKEDITOR.config = { + /** + * The URL path for the custom configuration file to be loaded. If not + * overloaded with inline configuration, it defaults to the `config.js` + * file present in the root of the CKEditor installation directory. + * + * CKEditor will recursively load custom configuration files defined inside + * other custom configuration files. + * + * // Load a specific configuration file. + * CKEDITOR.replace( 'myfield', { customConfig: '/myconfig.js' } ); + * + * // Do not load any custom configuration file. + * CKEDITOR.replace( 'myfield', { customConfig: '' } ); + * + * @cfg {String} [="<CKEditor folder>/config.js"] + */ + customConfig: 'config.js', + + /** + * Whether the replaced element (usually a `<textarea>`) + * is to be updated automatically when posting the form containing the editor. + * + * @cfg + */ + autoUpdateElement: true, + + /** + * The user interface language localization to use. If left empty, the editor + * will automatically be localized to the user language. If the user language is not supported, + * the language specified in the {@link CKEDITOR.config#defaultLanguage} + * configuration setting is used. + * + * // Load the German interface. + * config.language = 'de'; + * + * @cfg + */ + language: '', + + /** + * The language to be used if the {@link CKEDITOR.config#language} + * setting is left empty and it is not possible to localize the editor to the user language. + * + * config.defaultLanguage = 'it'; + * + * @cfg + */ + defaultLanguage: 'en', + + /** + * The writting direction of the language used to write the editor + * contents. Allowed values are: + * + * * `''` (empty string) - indicate content direction will be the same with either the editor + * UI direction or page element direction depending on the creators: + * * Themed UI: The same with user interface language direction; + * * Inline: The same with the editable element text direction; + * * `'ltr'` - for Left-To-Right language (like English); + * * `'rtl'` - for Right-To-Left languages (like Arabic). + * + * Example: + * + * config.contentsLangDirection = 'rtl'; + * + * @cfg + */ + contentsLangDirection: '', + + /** + * Sets the behavior of the *Enter* key. It also determines other behavior + * rules of the editor, like whether the `<br>` element is to be used + * as a paragraph separator when indenting text. + * The allowed values are the following constants that cause the behavior outlined below: + * + * * {@link CKEDITOR#ENTER_P} (1) – new `<p>` paragraphs are created; + * * {@link CKEDITOR#ENTER_BR} (2) – lines are broken with `<br>` elements; + * * {@link CKEDITOR#ENTER_DIV} (3) – new `<div>` blocks are created. + * + * **Note**: It is recommended to use the {@link CKEDITOR#ENTER_P} setting because of + * its semantic value and correctness. The editor is optimized for this setting. + * + * // Not recommended. + * config.enterMode = CKEDITOR.ENTER_BR; + * + * @cfg {Number} [=CKEDITOR.ENTER_P] + */ + enterMode: CKEDITOR.ENTER_P, + + /** + * Force the use of {@link CKEDITOR.config#enterMode} as line break regardless + * of the context. If, for example, {@link CKEDITOR.config#enterMode} is set + * to {@link CKEDITOR#ENTER_P}, pressing the *Enter* key inside a + * `<div>` element will create a new paragraph with `<p>` + * instead of a `<div>`. + * + * // Not recommended. + * config.forceEnterMode = true; + * + * @since 3.2.1 + * @cfg + */ + forceEnterMode: false, + + /** + * Similarly to the {@link CKEDITOR.config#enterMode} setting, it defines the behavior + * of the *Shift+Enter* key combination. + * + * The allowed values are the following constants the behavior outlined below: + * + * * {@link CKEDITOR#ENTER_P} (1) – new `<p>` paragraphs are created; + * * {@link CKEDITOR#ENTER_BR} (2) – lines are broken with `<br>` elements; + * * {@link CKEDITOR#ENTER_DIV} (3) – new `<div>` blocks are created. + * + * Example: + * + * config.shiftEnterMode = CKEDITOR.ENTER_P; + * + * @cfg {Number} [=CKEDITOR.ENTER_BR] + */ + shiftEnterMode: CKEDITOR.ENTER_BR, + + /** + * Sets the `DOCTYPE` to be used when loading the editor content as HTML. + * + * // Set the DOCTYPE to the HTML 4 (Quirks) mode. + * config.docType = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'; + * + * @cfg + */ + docType: '<!DOCTYPE html>', + + /** + * Sets the `id` attribute to be used on the `body` element + * of the editing area. This can be useful when you intend to reuse the original CSS + * file you are using on your live website and want to assign the editor the same ID + * as the section that will include the contents. In this way ID-specific CSS rules will + * be enabled. + * + * config.bodyId = 'contents_id'; + * + * @since 3.1 + * @cfg + */ + bodyId: '', + + /** + * Sets the `class` attribute to be used on the `body` element + * of the editing area. This can be useful when you intend to reuse the original CSS + * file you are using on your live website and want to assign the editor the same class + * as the section that will include the contents. In this way class-specific CSS rules will + * be enabled. + * + * config.bodyClass = 'contents'; + * + * @since 3.1 + * @cfg + */ + bodyClass: '', + + /** + * Indicates whether the contents to be edited are being input as a full HTML page. + * A full page includes the `<html>`, `<head>`, and `<body>` elements. + * The final output will also reflect this setting, including the + * `<body>` contents only if this setting is disabled. + * + * config.fullPage = true; + * + * @since 3.1 + * @cfg + */ + fullPage: false, + + /** + * The height of the editing area (that includes the editor content). This + * can be an integer, for pixel sizes, or any CSS-defined length unit. + * + * **Note:** Percent units (%) are not supported. + * + * config.height = 500; // 500 pixels. + * config.height = '25em'; // CSS length. + * config.height = '300px'; // CSS length. + * + * @cfg {Number/String} + */ + height: 200, + + /** + * Comma separated list of plugins to be used for an editor instance, + * besides, the actual plugins that to be loaded could be still affected by two other settings: + * {@link CKEDITOR.config#extraPlugins} and {@link CKEDITOR.config#removePlugins}. + * + * @cfg {String} [="<default list of plugins>"] + */ + plugins: '', // %REMOVE_LINE% + + /** + * A list of additional plugins to be loaded. This setting makes it easier + * to add new plugins without having to touch {@link CKEDITOR.config#plugins} setting. + * + * config.extraPlugins = 'myplugin,anotherplugin'; + * + * @cfg + */ + extraPlugins: '', + + /** + * A list of plugins that must not be loaded. This setting makes it possible + * to avoid loading some plugins defined in the {@link CKEDITOR.config#plugins} + * setting, without having to touch it. + * + * **Note:** Plugin required by other plugin cannot be removed (error will be thrown). + * So e.g. if `contextmenu` is required by `tabletools`, then it can be removed + * only if `tabletools` isn't loaded. + * + * config.removePlugins = 'elementspath,save,font'; + * + * @cfg + */ + removePlugins: '', + + /** + * List of regular expressions to be executed on input HTML, + * indicating HTML source code that when matched, must **not** be available in the WYSIWYG + * mode for editing. + * + * config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // PHP code + * config.protectedSource.push( /<%[\s\S]*?%>/g ); // ASP code + * config.protectedSource.push( /(<asp:[^\>]+>[\s|\S]*?<\/asp:[^\>]+>)|(<asp:[^\>]+\/>)/gi ); // ASP.Net code + * + * @cfg + */ + protectedSource: [], + + /** + * The editor `tabindex` value. + * + * config.tabIndex = 1; + * + * @cfg + */ + tabIndex: 0, + + /** + * The editor UI outer width. This can be an integer, for pixel sizes, or + * any CSS-defined unit. + * + * Unlike the {@link CKEDITOR.config#height} setting, this + * one will set the outer width of the entire editor UI, not for the + * editing area only. + * + * config.width = 850; // 850 pixels wide. + * config.width = '75%'; // CSS unit. + * + * @cfg {String/Number} + */ + width: '', + + /** + * The base Z-index for floating dialog windows and popups. + * + * config.baseFloatZIndex = 2000; + * + * @cfg + */ + baseFloatZIndex: 10000, + + /** + * The keystrokes that are blocked by default as the browser implementation + * is buggy. These default keystrokes are handled by the editor. + * + * @cfg {Array} [=[ CKEDITOR.CTRL + 66, CKEDITOR.CTRL + 73, CKEDITOR.CTRL + 85 ] // CTRL+B,I,U] + */ + blockedKeystrokes: [ + CKEDITOR.CTRL + 66, // CTRL+B + CKEDITOR.CTRL + 73, // CTRL+I + CKEDITOR.CTRL + 85 // CTRL+U + ] +}; + +/** + * Indicates that some of the editor features, like alignment and text + * direction, should use the "computed value" of the feature to indicate its + * on/off state instead of using the "real value". + * + * If enabled in a Left-To-Right written document, the "Left Justify" + * alignment button will be shown as active, even if the alignment style is not + * explicitly applied to the current paragraph in the editor. + * + * config.useComputedState = false; + * + * @since 3.4 + * @cfg {Boolean} [useComputedState=true] + */ + +/** + * The base user interface color to be used by the editor. Not all skins are + * compatible with this setting. + * + * // Using a color code. + * config.uiColor = '#AADC6E'; + * + * // Using an HTML color name. + * config.uiColor = 'Gold'; + * + * @cfg {String} uiColor + */ + +// PACKAGER_RENAME( CKEDITOR.config ) |
