Changeset 6062
- Timestamp:
- 11/09/10 15:51:29 (3 years ago)
- Location:
- CKEditor/branches/features/adobeair
- Files:
-
- 57 edited
-
. (modified) (1 prop)
-
CHANGES.html (modified) (6 diffs, 1 prop)
-
_dev/docs_build/docs_build.conf (modified) (1 diff)
-
_dev/docs_build/template/class.tmpl (modified) (4 diffs)
-
_dev/docs_build/template/static/default.css (modified) (2 diffs)
-
_dev/releaser/ckreleaser.release (modified) (1 prop)
-
_dev/releaser/release.bat (modified) (1 diff, 1 prop)
-
_dev/releaser/release.sh (modified) (1 diff)
-
_samples/assets/swfobject.js (modified) (1 diff)
-
_samples/output_for_flash.html (modified) (4 diffs)
-
_source/adapters/jquery.js (modified) (1 diff)
-
_source/core/ajax.js (modified) (1 diff)
-
_source/core/ckeditor_base.js (modified) (1 diff)
-
_source/core/ckeditor_basic.js (modified) (1 diff)
-
_source/core/command.js (modified) (1 diff)
-
_source/core/commanddefinition.js (modified) (7 diffs)
-
_source/core/config.js (modified) (5 diffs)
-
_source/core/dom.js (modified) (1 diff)
-
_source/core/dom/documentfragment.js (modified) (1 diff)
-
_source/core/dom/domobject.js (modified) (1 diff)
-
_source/core/dom/elementpath.js (modified) (1 diff)
-
_source/core/dom/nodelist.js (modified) (1 diff)
-
_source/core/dom/range.js (modified) (3 diffs)
-
_source/core/dom/rangelist.js (modified) (3 diffs)
-
_source/core/dom/walker.js (modified) (1 diff)
-
_source/core/dtd.js (modified) (2 diffs)
-
_source/core/editor.js (modified) (9 diffs)
-
_source/core/editor_basic.js (modified) (3 diffs)
-
_source/core/env.js (modified) (8 diffs)
-
_source/core/event.js (modified) (3 diffs)
-
_source/core/eventInfo.js (modified) (1 diff)
-
_source/core/focusmanager.js (modified) (6 diffs)
-
_source/core/htmlparser.js (modified) (2 diffs)
-
_source/core/imagecacher.js (modified) (3 diffs)
-
_source/core/lang.js (modified) (3 diffs)
-
_source/core/skins.js (modified) (1 diff)
-
_source/plugins/basicstyles/plugin.js (modified) (1 diff)
-
_source/plugins/bidi/plugin.js (modified) (5 diffs)
-
_source/plugins/contextmenu/plugin.js (modified) (1 diff)
-
_source/plugins/dialog/plugin.js (modified) (1 diff)
-
_source/plugins/domiterator/plugin.js (modified) (2 diffs)
-
_source/plugins/floatpanel/plugin.js (modified) (3 diffs)
-
_source/plugins/indent/plugin.js (modified) (11 diffs)
-
_source/plugins/justify/plugin.js (modified) (1 diff)
-
_source/plugins/list/plugin.js (modified) (3 diffs)
-
_source/plugins/maximize/plugin.js (modified) (3 diffs)
-
_source/plugins/panel/plugin.js (modified) (2 diffs)
-
_source/plugins/panelbutton/plugin.js (modified) (4 diffs)
-
_source/plugins/scayt/plugin.js (modified) (1 diff)
-
_source/plugins/selection/plugin.js (modified) (1 diff)
-
_source/plugins/smiley/dialogs/smiley.js (modified) (1 diff)
-
_source/plugins/sourcearea/plugin.js (modified) (2 diffs)
-
_source/plugins/styles/plugin.js (modified) (3 diffs)
-
_source/plugins/toolbar/plugin.js (modified) (1 diff)
-
_source/plugins/wysiwygarea/plugin.js (modified) (2 diffs)
-
_source/themes/default/theme.js (modified) (3 diffs)
-
contents.css (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
CKEditor/branches/features/adobeair
- Property svn:mergeinfo changed
/CKEditor/trunk merged: 6007-6033,6035,6037-6038,6040,6044-6045,6048,6052-6054,6057-6061
- Property svn:mergeinfo changed
-
CKEditor/branches/features/adobeair/CHANGES.html
- Property svn:mergeinfo changed
/CKEditor/trunk/CHANGES.html merged: 6007,6029,6031,6033,6045,6052-6054,6057-6058,6060-6061
r6006 r6062 36 36 </h1> 37 37 <h3> 38 CKEditor 3.4.2 (SVN)</h3> 38 CKEditor 3.4.3 (SVN)</h3> 39 <p> 40 New features:</p> 41 <ul> 42 <li></li> 43 </ul> 44 <p> 45 Fixed issues:</p> 46 <ul> 47 <li><a href="http://dev.ckeditor.com/ticket/6569">#6569</a> : Indentation now honors text direction of the only item.</li> 48 <li><a href="http://dev.ckeditor.com/ticket/6579">#6579</a> : The jQuery adapter wasn't working properly tunning on incompatible environments.</li> 49 <li><a href="http://dev.ckeditor.com/ticket/6471">#6471</a> : BIDI: Pressing decrease indent in an RTL bulleted list causes incorrect behaviour.</li> 50 <li><a href="http://dev.ckeditor.com/ticket/6644">#6644</a> : Restrict onmousedown handler to the toolbar area.</li> 51 <li><a href="http://dev.ckeditor.com/ticket/6656">#6656</a> : Panelbutton's buttons became active when clicking on source.</li> 52 </ul> 53 <h3> 54 CKEditor 3.4.2</h3> 39 55 <p> 40 56 New features:</p> … … 47 63 <li><a href="http://dev.ckeditor.com/ticket/5237">#5237</a> : English text in dialogs' title was flipped when using RTL language (office2003 and v2 skins).</li> 48 64 <li><a href="http://dev.ckeditor.com/ticket/6289">#6289</a> : Deleting nested table removed the parent cell.</li> 49 <li><a href="http://dev.ckeditor.com/ticket/6341">#6341</a> : The editor contents now ha sthe text cursor.</li>65 <li><a href="http://dev.ckeditor.com/ticket/6341">#6341</a> : The editor contents now have the text cursor.</li> 50 66 <li><a href="http://dev.ckeditor.com/ticket/6153">#6153</a> : Chrome: tab focus is wrong.</li> 51 67 <li><a href="http://dev.ckeditor.com/ticket/6261">#6261</a> : Focus and infinite loop between multiple editors.</li> … … 62 78 <li><a href="http://dev.ckeditor.com/ticket/6377">#6377</a> : FF width and height are not shown for smiley in Image properties dialog.</li> 63 79 <li><a href="http://dev.ckeditor.com/ticket/5399">#5399</a> : Lists pasted from Word do not maintain their nesting.</li> 64 <li><a href="http://dev.ckeditor.com/ticket/6225">#6225</a> : [FF] Can not transform sevaral lines to list with enterMode BR.</li>80 <li><a href="http://dev.ckeditor.com/ticket/6225">#6225</a> : [FF] Cannot transform several lines to list with enterMode BR.</li> 65 81 <li><a href="http://dev.ckeditor.com/ticket/6467">#6467</a> : [FF] It is now possible to disable the plugin command on "mode" event.</li> 66 82 <li><a href="http://dev.ckeditor.com/ticket/6461">#6461</a> : Attributes are now being kept when changing block formatting.</li> … … 69 85 <li><a href="http://dev.ckeditor.com/ticket/6444">#6444</a> : [Opera] Close panels and dialogs don't return focus to wysiwyg frame.</li> 70 86 <li><a href="http://dev.ckeditor.com/ticket/6332">#6332</a> : IE: V2 skin bottom dialog's border broken.</li> 71 <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorrec lty removes inline element when there's only one comment node enclosed.</li>87 <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorrectly removes inline element when there's only one comment node enclosed.</li> 72 88 <li><a href="http://dev.ckeditor.com/ticket/6189">#6189</a> : Minor code size reduction.</li> 73 89 <li><a href="http://dev.ckeditor.com/ticket/5045">#5045</a> : uiColor behaved wrong if multiple editors were used with period in their names.</li> … … 77 93 <li><a href="http://dev.ckeditor.com/ticket/6253">#6253</a> : BIDI: creating a Numbered/Bulleted list causing improper behavior on bidi.</li> 78 94 <li><a href="http://dev.ckeditor.com/ticket/4023">#4023</a> : [Opera] Maximize plugin.</li> 79 <li><a href="http://dev.ckeditor.com/ticket/6403">#6403</a> : [Opera] Font name options isnot correctly marked in dropdown list.</li>95 <li><a href="http://dev.ckeditor.com/ticket/6403">#6403</a> : [Opera] Font name options are not correctly marked in dropdown list.</li> 80 96 <li><a href="http://dev.ckeditor.com/ticket/4534">#4534</a> : [Opera] Arrow key to navigate through combo list has side effects of window scrolling.</li> 97 <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li> 98 <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li> 81 99 <li><a href="http://dev.ckeditor.com/ticket/6416">#6416</a> : [IE9] Unable to make text selection with mouse in source area.</li> 82 100 <li><a href="http://dev.ckeditor.com/ticket/6417">#6417</a> : [IE9] Context menu opens at the upper-left corner always.</li> … … 90 108 <li><a href="http://dev.ckeditor.com/ticket/5626">#5626</a> : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.</li> 91 109 <li><a href="http://dev.ckeditor.com/ticket/6508">#6508</a> : BiDi: Margin mirroring logic doesn't honor CSS direction.</li> 92 <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to left & Alignment of Paragraph is not changed.</li>93 <li><a href="http://dev.ckeditor.com/ticket/6485">#6485</a> : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied on the entiredlist.</li>94 <li><a href="http://dev.ckeditor.com/ticket/6087">#6087</a> : Cursor of input fields in dialog isn't visible in R LT.</li>110 <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to the left & Alignment of Paragraph is not changed.</li> 111 <li><a href="http://dev.ckeditor.com/ticket/6485">#6485</a> : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied to the entire list.</li> 112 <li><a href="http://dev.ckeditor.com/ticket/6087">#6087</a> : Cursor of input fields in dialog isn't visible in RTL.</li> 95 113 <li><a href="http://dev.ckeditor.com/ticket/5595">#5595</a> : Extra leading spaces added in preformatted block.</li> 96 114 <li><a href="http://dev.ckeditor.com/ticket/6094">#6094</a> : Match full word option doesn't stop on block boundaries.</li> - Property svn:mergeinfo changed
-
CKEditor/branches/features/adobeair/_dev/docs_build/docs_build.conf
r6006 r6062 17 17 '../../_source/core/', 18 18 '../../_source/plugins/', 19 '../../_source/skins/kama/skin.js' 19 '../../_source/skins/kama/skin.js', 20 '../../_source/themes/default/theme.js' 20 21 ], 21 22 -
CKEditor/branches/features/adobeair/_dev/docs_build/template/class.tmpl
r6006 r6062 54 54 {+ data.version +}.<br /> 55 55 </if> 56 57 {+resolveLinks(data.classDesc)+} 58 56 59 <if test="data.augments.length"><br />Extends 57 60 {+ … … 62 65 ) 63 66 .join(", ") 64 +}. <br />67 +}. 65 68 </if> 66 69 67 {+resolveLinks(data.classDesc)+}68 69 70 <if test="!data.isBuiltin()">{# isn't defined in any file #} 70 71 <br /><i>Defined in: </i> {+ ckeditor_FileLink( data.srcFile ) +}. … … 73 74 74 75 <!-- ============================== constructor summary ==================== --> 75 <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">76 <if test="!data.isBuiltin() && data.is('CONSTRUCTOR')"> 76 77 <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class {+data.alias+}."> 77 78 <caption>{+classType+}Summary</caption> … … 313 314 314 315 <!-- ============================== constructor details ==================== --> 315 <if test="!data.isBuiltin() && (data.isNamespace || data.is('CONSTRUCTOR'))">316 <if test="!data.isBuiltin() && data.is('CONSTRUCTOR')"> 316 317 <div class="details"><a name="constructor"> </a> 317 318 <div class="sectionTitle"> -
CKEditor/branches/features/adobeair/_dev/docs_build/template/static/default.css
r2935 r6062 36 36 #index 37 37 { 38 margin-top: 24px;38 margin-top: 14px; 39 39 float: left; 40 width: 160px;40 width: 220px; 41 41 position: absolute; 42 42 left: 8px; … … 47 47 #content 48 48 { 49 margin-left: 190px;49 margin-left: 250px; 50 50 } 51 51 -
CKEditor/branches/features/adobeair/_dev/releaser/ckreleaser.release
- Property svn:mergeinfo changed (with no actual effect on merging)
-
CKEditor/branches/features/adobeair/_dev/releaser/release.bat
- Property svn:mergeinfo changed
/CKEditor/trunk/_dev/releaser/release.bat merged: 6045
r6006 r6062 11 11 :: rmdir /S /Q release 12 12 13 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4. 2 (SVN)" ckeditor_3.4.2_svn --run-before-release=langtool.bat13 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.3 (SVN)" ckeditor_3.4.3_svn --run-before-release=langtool.bat - Property svn:mergeinfo changed
-
CKEditor/branches/features/adobeair/_dev/releaser/release.sh
r6006 r6062 13 13 14 14 pushd $DIR 15 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4. 2 (SVN)" ckeditor_3.4.2_svn --run-before-release=$LANGTOOL15 java -jar ckreleaser/ckreleaser.jar ckreleaser.release ../.. release "3.4.3 (SVN)" ckeditor_3.4.3_svn --run-before-release=$LANGTOOL 16 16 popd -
CKEditor/branches/features/adobeair/_samples/assets/swfobject.js
r6006 r6062 1 /**1 /** 2 2 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/ 3 3 * -
CKEditor/branches/features/adobeair/_samples/output_for_flash.html
r6006 r6062 96 96 */ 97 97 // Define the way font elements will be applied to the document. The "font" 98 // element will be used. 98 // element will be used. 99 99 font_style : 100 100 { … … 138 138 139 139 /* 140 * Adjust the behavior of the dataProcessor to match the 140 * Adjust the behavior of the dataProcessor to match the 141 141 * requirements of Flash 142 142 */ … … 173 173 174 174 // Output properties as attributes, not styles. 175 htmlFilter.addRules( 175 htmlFilter.addRules( 176 176 { 177 177 elements : … … 218 218 { 219 219 // Get the align from the style. 220 match = /(?:^|\s)text-align\s*:\s*(\w*); /i.exec( style );220 match = /(?:^|\s)text-align\s*:\s*(\w*);?/i.exec( style ); 221 221 align = match && match[1]; 222 222 -
CKEditor/branches/features/adobeair/_source/adapters/jquery.js
r5613 r6062 98 98 ckeditor: function( callback, config ) 99 99 { 100 if ( !CKEDITOR.env.isCompatible ) 101 return this; 102 100 103 if ( !jQuery.isFunction( callback )) 101 104 { -
CKEditor/branches/features/adobeair/_source/core/ajax.js
r5613 r6062 10 10 11 11 /** 12 * Ajax methods for data loading. 13 * @namespace 12 * @namespace Ajax methods for data loading. 14 13 * @example 15 14 */ -
CKEditor/branches/features/adobeair/_source/core/ckeditor_base.js
r6006 r6062 21 21 { 22 22 /** 23 * This is the API entry point. The entire CKEditor code runs under this object.24 23 * @name CKEDITOR 25 * @namespace 24 * @namespace This is the API entry point. The entire CKEditor code runs under this object. 26 25 * @example 27 26 */ -
CKEditor/branches/features/adobeair/_source/core/ckeditor_basic.js
r6006 r6062 139 139 }; 140 140 141 /** 142 * @ignore 143 * Documented at ckeditor.js. 144 */ 141 // Documented at ckeditor.js. 145 142 CKEDITOR.add = function( editor ) 146 143 { -
CKEditor/branches/features/adobeair/_source/core/command.js
r6006 r6062 199 199 /** 200 200 * Fired when the command state changes. 201 * @name CKEDITOR.command .prototype#state201 * @name CKEDITOR.command#state 202 202 * @event 203 * @example 203 204 * command.on( <b>'state'</b> , function( e ) 204 205 * { -
CKEditor/branches/features/adobeair/_source/core/commanddefinition.js
r5613 r6062 12 12 /** 13 13 * (Virtual Class) Do not call this constructor. This class is not really part 14 * of the API. It just illustrates the features of command objects to be 14 * of the API. 15 * @name CKEDITOR.commandDefinition 16 * @class Virtual class that illustrates the features of command objects to be 15 17 * passed to the {@link CKEDITOR.editor.prototype.addCommand} function. 16 * @name CKEDITOR.commandDefinition17 * @constructor18 18 * @example 19 19 */ 20 20 21 21 /** 22 * Executes the command.22 * The function to be fired when the commend is executed. 23 23 * @name CKEDITOR.commandDefinition.prototype.exec 24 24 * @function … … 39 39 /** 40 40 * Whether the command need to be hooked into the redo/undo system. 41 * @name CKEDITOR.commandDefinition. canUndo42 * @type {Boolean} If not defined or 'true' both hook into undo system, set it43 * to 'false' explicitly keep it out.41 * @name CKEDITOR.commandDefinition.prototype.canUndo 42 * @type {Boolean} 43 * @default true 44 44 * @field 45 45 * @example … … 55 55 56 56 /** 57 * Whether the command is asynchronous, which means the 'afterCommandExec' event 58 * will be fired by the command itself manually, and the 'exec' function return value 59 * of this command is not to be returned. 60 * @name CKEDITOR.commandDefinition.async 61 * @type {Boolean} If defined as 'true', the command is asynchronous. 57 * Whether the command is asynchronous, which means that the 58 * {@link CKEDITOR.editor#event:afterCommandExec} event will be fired by the 59 * command itself manually, and that the return value of this command is not to 60 * be returned by the {@link CKEDITOR.command#exec} function. 61 * @name CKEDITOR.commandDefinition.prototype.async 62 * @default false 63 * @type {Boolean} 62 64 * @example 63 * editorInstance.addCommand( ' alertName',65 * editorInstance.addCommand( 'loadOptions', 64 66 * { 65 67 * exec : function( editor ) 66 68 * { 67 69 * // Asynchronous operation below. 68 * CKEDITOR.ajax.loadXml( 'data.xml' ); 70 * CKEDITOR.ajax.loadXml( 'data.xml', function() 71 * { 72 * editor.fire( 'afterCommandExec' ); 73 * )); 69 74 * }, 70 75 * async : true // The command need some time to complete after exec function returns. … … 74 79 /** 75 80 * Whether the command should give focus to the editor before execution. 76 * @name CKEDITOR.commandDefinition. editorFocus81 * @name CKEDITOR.commandDefinition.prototype.editorFocus 77 82 * @type {Boolean} 83 * @default true 84 * @see CKEDITOR.command#editorFocus 78 85 * @example 79 86 * editorInstance.addCommand( 'maximize', … … 81 88 * exec : function( editor ) 82 89 * { 90 * // ... 83 91 * }, 84 92 * editorFocus : false // The command doesn't require focusing the editing document. … … 89 97 /** 90 98 * Whether the command state should be set to {@link CKEDITOR.TRISTATE_DISABLED} on startup. 91 * @name CKEDITOR.commandDefinition. startDisabled99 * @name CKEDITOR.commandDefinition.prototype.startDisabled 92 100 * @type {Boolean} 93 101 * @default false … … 97 105 * exec : function( editor ) 98 106 * { 107 * // ... 99 108 * }, 100 109 * startDisabled : true // Command is unavailable until selection is inside a link. 101 110 * }); 102 111 */ 112 113 /** 114 * The editor modes within which the command can be executed. The execution 115 * will have no action if the current mode is not listed in this property. 116 * @name CKEDITOR.commandDefinition.prototype.modes 117 * @type Object 118 * @default { wysiwyg : 1 } 119 * @see CKEDITOR.command#modes 120 * @example 121 * editorInstance.addCommand( 'link', 122 * { 123 * exec : function( editor ) 124 * { 125 * // ... 126 * }, 127 * modes : { wysiwyg : 1 } // Command is available in wysiwyg mode only. 128 * }); 129 */ -
CKEditor/branches/features/adobeair/_source/core/config.js
r6006 r6062 9 9 */ 10 10 11 /** 12 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 13 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce <p> 14 * tags when using the ENTER key. 15 * @constant 16 */ 11 17 CKEDITOR.ENTER_P = 1; 18 19 /** 20 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 21 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce <br> 22 * tags when using the ENTER key. 23 * @constant 24 */ 12 25 CKEDITOR.ENTER_BR = 2; 26 27 /** 28 * Used in conjuction with {@link CKEDITOR.config.enterMode} and 29 * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce <div> 30 * tags when using the ENTER key. 31 * @constant 32 */ 13 33 CKEDITOR.ENTER_DIV = 3; 14 34 15 35 /** 16 * Holds the default configuration settings. Changes to this object are36 * @namespace Holds the default configuration settings. Changes to this object are 17 37 * reflected in all editor instances, if not specificaly specified for those 18 38 * instances. 19 * @namespace20 * @example21 * // All editor created after the following setting will not load custom22 * // configuration files.23 * CKEDITOR.config.customConfig = '';24 39 */ 25 40 CKEDITOR.config = … … 57 72 * editor content. 58 73 * @type String 59 * @default '' (empty string)74 * @default '' (empty) 60 75 * @example 61 76 * config.baseHref = 'http://www.example.com/path/'; … … 195 210 /** 196 211 * Sets the "id" attribute to be used on the body element of the editing 197 * area. 212 * area. This can be useful when reusing the original CSS file you're using 213 * on your live website and you want to assing to the editor the same id 214 * you're using for the region that'll hold the contents. In this way, 215 * id specific CSS rules will be enabled. 198 216 * @since 3.1 199 217 * @type String 200 * @default '' 218 * @default '' (empty) 219 * @example 220 * config.bodyId = 'contents_id'; 201 221 */ 202 222 bodyId : '', … … 204 224 /** 205 225 * Sets the "class" attribute to be used on the body element of the editing 206 * area. 226 * area. This can be useful when reusing the original CSS file you're using 227 * on your live website and you want to assing to the editor the same class 228 * name you're using for the region that'll hold the contents. In this way, 229 * class specific CSS rules will be enabled. 207 230 * @since 3.1 208 231 * @type String 209 * @default '' 232 * @default '' (empty) 233 * @example 234 * config.bodyClass = 'contents'; 210 235 */ 211 236 bodyClass : '', … … 389 414 390 415 /** 391 * Indicates that some of the editor features, like align ement and text416 * Indicates that some of the editor features, like alignment and text 392 417 * direction, should used the "computed value" of the feature to indicate it's 393 * on/off state, instead of using the "real value". 394 * 418 * on/off state, instead of using the "real value".<br /> 419 * <br /> 395 420 * If enabled, in a left to right written document, the "Left Justify" 396 421 * alignment button will show as active, even if the aligment style is not -
CKEditor/branches/features/adobeair/_source/core/dom.js
r5613 r6062 10 10 11 11 /** 12 * DOM manipulation objects and function.<br /><br />12 * @namespace DOM manipulation objects, classes and functions. 13 13 * @see CKEDITOR.dom.element 14 14 * @see CKEDITOR.dom.node 15 * @namespace16 15 * @example 17 16 */ -
CKEditor/branches/features/adobeair/_source/core/dom/documentfragment.js
r5613 r6062 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 4 */ 5 5 6 /** 6 * DocumentFragment is a "lightweight" or "minimal" Document object. It is7 * @class DocumentFragment is a "lightweight" or "minimal" Document object. It is 7 8 * commonly used to extract a portion of a document's tree or to create a new 8 9 * fragment of a document. Various operations may take DocumentFragment objects 9 10 * as arguments and results in all the child nodes of the DocumentFragment being 10 11 * moved to the child list of this node. 11 *12 12 * @param {Object} ownerDocument 13 13 */ -
CKEditor/branches/features/adobeair/_source/core/dom/domobject.js
r6006 r6062 239 239 240 240 /** 241 * @name CKEDITOR.dom.domObject.prototype.getCustomData 241 * Gets an ID that can be used to identiquely identify this DOM object in 242 * the running session. 243 * @name CKEDITOR.dom.domObject.prototype.getUniqueId 244 * @function 245 * @returns {Number} A unique ID. 242 246 */ 243 247 domObjectProto.getUniqueId = function() -
CKEditor/branches/features/adobeair/_source/core/dom/elementpath.js
r5613 r6062 28 28 }; 29 29 30 /** 31 * @class 32 */ 30 33 CKEDITOR.dom.elementPath = function( lastNode ) 31 34 { -
CKEditor/branches/features/adobeair/_source/core/dom/nodelist.js
r5613 r6062 4 4 */ 5 5 6 /** 7 * @class 8 */ 6 9 CKEDITOR.dom.nodeList = function( nativeList ) 7 10 { -
CKEditor/branches/features/adobeair/_source/core/dom/range.js
r6006 r6062 4 4 */ 5 5 6 /** 7 * @class 8 */ 6 9 CKEDITOR.dom.range = function( document ) 7 10 { … … 1301 1304 } 1302 1305 1303 var walker = new CKEDITOR.dom.walker( walkerRange ); 1306 var walker = new CKEDITOR.dom.walker( walkerRange ), 1307 isBookmark = CKEDITOR.dom.walker.bookmark(); 1304 1308 1305 1309 walker.evaluator = function( node ) … … 1312 1316 walker.guard = function( node, movingOut ) 1313 1317 { 1318 if ( isBookmark( node ) ) 1319 return true; 1320 1314 1321 // Stop when we're shrink in element mode while encountering a text node. 1315 1322 if ( mode == CKEDITOR.SHRINK_ELEMENT && node.type == CKEDITOR.NODE_TEXT ) -
CKEditor/branches/features/adobeair/_source/core/dom/rangelist.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 41 41 var rangeList = this, 42 42 bookmark = CKEDITOR.dom.walker.bookmark(), 43 emptySpaces = CKEDITOR.dom.walker.whitespaces(),44 43 guard = function( node ) { return ! ( node.is && node.is( 'tr' ) ); }, 45 44 bookmarks = [], … … 114 113 115 114 range.moveToBookmark( bookmarks.shift() ); 116 115 116 var next; 117 117 // Merge ranges finally after moving to bookmarks. 118 118 while( mergeCount-- ) 119 119 { 120 varnext = rangeList[ ++current ];120 next = rangeList[ ++current ]; 121 121 next.moveToBookmark( bookmarks.shift() ); 122 122 range.setEnd( next.endContainer, next.endOffset ); -
CKEditor/branches/features/adobeair/_source/core/dom/walker.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license -
CKEditor/branches/features/adobeair/_source/core/dtd.js
r5613 r6062 11 11 12 12 /** 13 * Holds and object representation of the HTML DTD to be used by the editor in14 * its internal operations.15 * 16 * Each element in the DTD is represented by a 17 * property in this object. Each property contains the list of elements that18 * can be contained by the element. Text is represented by the "#" property.19 * 13 * @namespace Holds and object representation of the HTML DTD to be used by the 14 * editor in its internal operations.<br /> 15 * <br /> 16 * Each element in the DTD is represented by a property in this object. Each 17 * property contains the list of elements that can be contained by the element. 18 * Text is represented by the "#" property.<br /> 19 * <br /> 20 20 * Several special grouping properties are also available. Their names start 21 21 * with the "$" character. 22 * @namespace23 22 * @example 24 23 * // Check if "div" can be contained in a "p" element. … … 82 81 $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 }, 83 82 83 /** 84 * List of inline (<span> like) elements. 85 */ 84 86 $inline : L, // Just like span. 85 87 88 /** 89 * list of elements that can be children at <body>. 90 */ 86 91 $body : X({script:1,style:1}, block), 87 92 -
CKEditor/branches/features/adobeair/_source/core/editor.js
r6006 r6062 119 119 'skins/' + skinName + '/' ) ); 120 120 121 /** 122 * The name of the skin used by this editor instance. The skin name can 123 * be set though the {@link CKEDITOR.config.skin} setting. 124 * @name CKEDITOR.editor.prototype.skinName 125 * @type String 126 * @example 127 * alert( editor.skinName ); // "kama" (e.g.) 128 */ 121 129 editor.skinName = skinName; 130 131 /** 132 * The full URL of the skin directory. 133 * @name CKEDITOR.editor.prototype.skinPath 134 * @type String 135 * @example 136 * alert( editor.skinPath ); // "http://example.com/ckeditor/skins/kama/" (e.g.) 137 */ 122 138 editor.skinPath = skinPath; 139 140 /** 141 * The CSS class name used for skin identification purposes. 142 * @name CKEDITOR.editor.prototype.skinClass 143 * @type String 144 * @example 145 * alert( editor.skinClass ); // "cke_skin_kama" (e.g.) 146 */ 123 147 editor.skinClass = 'cke_skin_' + skinName; 124 148 149 /** 150 * The <a href="http://en.wikipedia.org/wiki/Tabbing_navigation">tabbing 151 * navigation</a> order that has been calculated for this editor 152 * instance. This can be set by the {@link CKEDITOR.config.tabIndex} 153 * setting or taken from the "tabindex" attribute of the 154 * {@link #element} associated to the editor. 155 * @name CKEDITOR.editor.prototype.tabIndex 156 * @type Number 157 * @default 0 (zero) 158 * @example 159 * alert( editor.tabIndex ); // "0" (e.g.) 160 */ 125 161 editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0; 126 162 … … 136 172 CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang ) 137 173 { 174 /** 175 * The code for the language resources that have been loaded 176 * for the user internface elements of this editor instance. 177 * @name CKEDITOR.editor.prototype.langCode 178 * @type String 179 * @example 180 * alert( editor.langCode ); // "en" (e.g.) 181 */ 138 182 editor.langCode = languageCode; 139 183 184 /** 185 * An object holding all language strings used by the editor 186 * interface. 187 * @name CKEDITOR.editor.prototype.lang 188 * @type CKEDITOR.lang 189 * @example 190 * alert( editor.lang.bold ); // "Negrito" (e.g. if language is Portuguese) 191 */ 140 192 // As we'll be adding plugin specific entries that could come 141 193 // from different language code files, we need a copy of lang, … … 189 241 var languageFiles = []; 190 242 191 // Cache the loaded plugin names. 243 /** 244 * And object holding references to all plugins used by this 245 * editor istance. 246 * @name CKEDITOR.editor.prototype.plugins 247 * @type Object 248 * @example 249 * alert( editor.plugins.dialog.path ); // "http://example.com/ckeditor/plugins/dialog/" (e.g.) 250 */ 192 251 editor.plugins = plugins; 193 252 … … 272 331 CKEDITOR.themes.load( theme, function() 273 332 { 333 /** 334 * The theme used by this editor instance. 335 * @name CKEDITOR.editor.prototype.theme 336 * @type CKEDITOR.theme 337 * @example 338 * alert( editor.theme ); "http://example.com/ckeditor/themes/default/" (e.g.) 339 */ 274 340 var editorTheme = editor.theme = CKEDITOR.themes.get( theme ); 275 341 editorTheme.path = CKEDITOR.themes.getPath( theme ); … … 604 670 }, 605 671 672 /** 673 * Gets the "raw data" currently available in the editor. This is a 674 * fast method which return the data as is, without processing, so it's 675 * not recommended to use it on resulting pages. It can be used instead 676 * combined with the {@link #loadSnapshot} so one can automatic save 677 * the editor data from time to time while the user is using the 678 * editor, to avoid data loss, without risking performance issues. 679 * @example 680 * alert( editor.getSnapshot() ); 681 */ 606 682 getSnapshot : function() 607 683 { … … 618 694 }, 619 695 696 /** 697 * Loads "raw data" in the editor. This data is loaded with processing 698 * straight to the editing area. It should not be used as a way to load 699 * any kind of data, but instead in combination with 700 * {@link #getSnapshot} produced data. 701 * @example 702 * var data = editor.getSnapshot(); 703 * editor.<b>loadSnapshot( data )</b>; 704 */ 620 705 loadSnapshot : function( snapshot ) 621 706 { … … 685 770 }, 686 771 772 /** 773 * Checks whether the current editor contents present changes when 774 * compared to the contents loaded into the editor at startup, or to 775 * the contents available in the editor when {@link #resetDirty} has 776 * been called. 777 * @returns {Boolean} "true" is the contents present changes. 778 * @example 779 * function beforeUnload( e ) 780 * { 781 * if ( CKEDITOR.instances.editor1.<b>checkDirty()</b> ) 782 * return e.returnValue = "You'll loose the changes made in the editor."; 783 * } 784 * 785 * if ( window.addEventListener ) 786 * window.addEventListener( 'beforeunload', beforeUnload, false ); 787 * else 788 * window.attachEvent( 'onbeforeunload', beforeUnload ); 789 */ 687 790 checkDirty : function() 688 791 { … … 690 793 }, 691 794 795 /** 796 * Resets the "dirty state" of the editor so subsequent calls to 797 * {@link #checkDirty} will return "false" if the user will not make 798 * further changes to the contents. 799 * @example 800 * alert( editor.checkDirty() ); // "true" (e.g.) 801 * editor.<b>resetDirty()</b>; 802 * alert( editor.checkDirty() ); // "false" 803 */ 692 804 resetDirty : function() 693 805 { … … 764 876 * @name CKEDITOR#pluginsLoaded 765 877 * @event 878 * @param {CKEDITOR.editor} editor The editor instance that has been destroyed. 766 879 */ 880 881 /** 882 * Fired before the command execution when {@link #execCommand} is called. 883 * @name CKEDITOR.editor#beforeCommandExec 884 * @event 885 * @param {CKEDITOR.editor} editor This editor instance. 886 * @param {String} data.name The command name. 887 * @param {Object} data.commandData The data to be sent to the command. This 888 * can be manipulated by the event listener. 889 * @param {CKEDITOR.command} data.command The command itself. 890 */ 891 892 /** 893 * Fired after the command execution when {@link #execCommand} is called. 894 * @name CKEDITOR.editor#afterCommandExec 895 * @event 896 * @param {CKEDITOR.editor} editor This editor instance. 897 * @param {String} data.name The command name. 898 * @param {Object} data.commandData The data sent to the command. 899 * @param {CKEDITOR.command} data.command The command itself. 900 * @param {Object} data.returnValue The value returned by the command execution. 901 */ 902 903 /** 904 * Fired every custom configuration file is loaded, before the final 905 * configurations initialization.<br /> 906 * <br /> 907 * Custom configuration files can be loaded thorugh the 908 * {@link CKEDITOR.config.customConfig} setting. Several files can be loading 909 * by chaning this setting. 910 * @name CKEDITOR.editor#customConfigLoaded 911 * @event 912 * @param {CKEDITOR.editor} editor This editor instance. 913 * @example 914 */ 915 916 /** 917 * Fired once the editor configuration is ready (loaded and processed). 918 * @name CKEDITOR.editor#configLoaded 919 * @event 920 * @param {CKEDITOR.editor} editor This editor instance. 921 * @example 922 * if( editor.config.fullPage ) 923 * alert( 'This is a full page editor' ); 924 */ -
CKEditor/branches/features/adobeair/_source/core/editor_basic.js
r5613 r6062 28 28 29 29 /** 30 * Represents an editor instance. This constructor should be rarely used,31 * being the {@link CKEDITOR} methods preferible.32 * @ constructor30 * Creates an editor class instance. This constructor should be rarely 31 * used, in favor of the {@link CKEDITOR} editor creation functions. 32 * @ class Represents an editor instance. 33 33 * @param {Object} instanceConfig Configuration values for this specific 34 34 * instance. … … 36 36 * instance. 37 37 * @param {Number} [mode] The mode in which the element is linked to this 38 * instance. 38 * instance. See {@link #elementMode}. 39 39 * @param {String} [data] Since 3.3. Initial value for the instance. 40 40 * @augments CKEDITOR.event … … 55 55 * instance. It can be any of the following values: 56 56 * <ul> 57 * <li> <b>CKEDITOR.ELEMENT_MODE_NONE</b>: No element is linked to the57 * <li>{@link CKEDITOR.ELEMENT_MODE_NONE}: No element is linked to the 58 58 * editor instance.</li> 59 * <li> <b>CKEDITOR.ELEMENT_MODE_REPLACE</b>: The element is to be59 * <li>{@link CKEDITOR.ELEMENT_MODE_REPLACE}: The element is to be 60 60 * replaced by the editor instance.</li> 61 * <li> <b>CKEDITOR.ELEMENT_MODE_APPENDTO</b>: The editor is to be61 * <li>{@link CKEDITOR.ELEMENT_MODE_APPENDTO}: The editor is to be 62 62 * created inside the element.</li> 63 63 * </ul> -
CKEditor/branches/features/adobeair/_source/core/env.js
r6006 r6062 12 12 { 13 13 /** 14 * Environment and browser information. 15 * @namespace 16 * @example 14 * @namespace Environment and browser information. 17 15 */ 18 16 CKEDITOR.env = (function() … … 70 68 mac : ( agent.indexOf( 'macintosh' ) > -1 ), 71 69 70 /** 71 * Indicates that CKEditor is running on a quirks mode environemnt. 72 * @type Boolean 73 * @example 74 * if ( CKEDITOR.env.quirks ) 75 * alert( "Nooooo!" ); 76 */ 72 77 quirks : ( document.compatMode == 'BackCompat' ), 73 78 79 /** 80 * Indicates that CKEditor is running on a mobile like environemnt. 81 * @type Boolean 82 * @example 83 * if ( CKEDITOR.env.mobile ) 84 * alert( "I'm running with CKEditor today!" ); 85 */ 74 86 mobile : ( agent.indexOf( 'mobile' ) > -1 ), 75 87 88 /** 89 * Indicates that the browser has a custom domain enabled. This has 90 * been set with "document.domain". 91 * @returns {Boolean} "true" if a custom domain is enabled. 92 * @example 93 * if ( CKEDITOR.env.isCustomDomain() ) 94 * alert( "I'm in a custom domain!" ); 95 */ 76 96 isCustomDomain : function() 77 97 { … … 106 126 107 127 /** 108 * Indicate IE8 browser. 128 * Indicates that CKEditor is running on Internet Explorer 8. 129 * @name CKEDITOR.env.ie8 130 * @type Boolean 131 * @example 132 * if ( CKEDITOR.env.ie8 ) 133 * alert( "I'm on IE8!" ); 109 134 */ 110 135 env.ie8 = !!document.documentMode; 111 136 112 137 /** 113 * Indicte IE8 document mode. 138 * Indicates that CKEditor is running on Internet Explorer 8 on 139 * standards mode. 140 * @name CKEDITOR.env.ie8Compat 141 * @type Boolean 142 * @example 143 * if ( CKEDITOR.env.ie8Compat ) 144 * alert( "Now I'm on IE8, for real!" ); 114 145 */ 115 146 env.ie8Compat = document.documentMode == 8; … … 118 149 * Indicates that CKEditor is running on an IE7-like environment, which 119 150 * includes IE7 itself and IE8's IE7 document mode. 120 * @type Boolean 151 * @name CKEDITOR.env.ie7Compat 152 * @type Boolean 153 * @example 154 * if ( CKEDITOR.env.ie8Compat ) 155 * alert( "I'm on IE7 or on an IE7 like IE8!" ); 121 156 */ 122 157 env.ie7Compat = ( ( version == 7 && !document.documentMode ) … … 126 161 * Indicates that CKEditor is running on an IE6-like environment, which 127 162 * includes IE6 itself and IE7 and IE8 quirks mode. 163 * @name CKEDITOR.env.ie6Compat 128 164 * @type Boolean 129 165 * @example … … 132 168 */ 133 169 env.ie6Compat = ( version < 7 || env.quirks ); 134 135 170 } 136 171 … … 161 196 162 197 /** 163 * Contains the browser version. 164 * 198 * Contains the browser version.<br /> 199 * <br /> 165 200 * For gecko based browsers (like Firefox) it contains the revision 166 201 * number with first three parts concatenated with a padding zero 167 * (e.g. for revision 1.9.0.2 we have 10900). 168 * 202 * (e.g. for revision 1.9.0.2 we have 10900).<br /> 203 * <br /> 169 204 * For webkit based browser (like Safari and Chrome) it contains the 170 205 * WebKit build version (e.g. 522). … … 194 229 false ); 195 230 196 // The CSS class to be appended on the main UI containers, making it 197 // easy to apply browser specific styles to it. 231 /** 232 * The CSS class to be appended on the main UI containers, making it 233 * easy to apply browser specific styles to it. 234 * @name CKEDITOR.env.cssClass 235 * @type String 236 * @example 237 * myDiv.className = CKEDITOR.env.cssClass; 238 */ 198 239 env.cssClass = 199 240 'cke_browser_' + ( -
CKEditor/branches/features/adobeair/_source/core/event.js
r5613 r6062 12 12 { 13 13 /** 14 * This is a base class for classes and objects that require event handling 15 * features. 16 * @constructor 14 * Creates an event class instance. This constructor is rearely used, being 15 * the {@link #.implementOn} function used in class prototypes directly 16 * instead. 17 * @class This is a base class for classes and objects that require event 18 * handling features.<br /> 19 * <br /> 20 * Do not confuse this class with {@link CKEDITOR.dom.event} which is 21 * instead used for DOM events. The CKEDITOR.event class implements the 22 * internal event system used by the CKEditor to fire API related events. 17 23 * @example 18 24 */ … … 22 28 /** 23 29 * Implements the {@link CKEDITOR.event} features in an object. 24 * @param {Object} targetObject The object in which implement the features.30 * @param {Object} targetObject The object into which implement the features. 25 31 * @example 26 32 * var myObject = { message : 'Example' }; … … 32 38 * myObject.fire( 'testEvent' ); 33 39 */ 34 CKEDITOR.event.implementOn = function( targetObject , isTargetPrototype)40 CKEDITOR.event.implementOn = function( targetObject ) 35 41 { 36 42 var eventProto = CKEDITOR.event.prototype; -
CKEditor/branches/features/adobeair/_source/core/eventInfo.js
r5613 r6062 11 11 12 12 /** 13 * This class is not really part of the API. It just illustrates the features 14 * of the event object passed to event listeners by a {@link CKEDITOR.event} 15 * based object. 13 * (Virtual Class) Do not call this constructor. This class is not really part 14 * of the API. 15 * @class Virtual class that illustrates the features of the event object to be 16 * passed to event listeners by a {@link CKEDITOR.event} based object. 16 17 * @name CKEDITOR.eventInfo 17 * @constructor18 18 * @example 19 19 * // Do not do this. -
CKEditor/branches/features/adobeair/_source/core/focusmanager.js
r5613 r6062 10 10 11 11 /** 12 * Manages the focus activity in an editor instance. This class is to be used 13 * mainly by UI elements coders when adding interface elements to CKEditor. 14 * @constructor 12 * Creates a focusManager class instance. 13 * @class Manages the focus activity in an editor instance. This class is to be 14 * used mainly by UI elements coders when adding interface elements that need 15 * to set the focus state of the editor. 15 16 * @param {CKEDITOR.editor} editor The editor instance. 16 17 * @example 18 * var focusManager = <b>new CKEDITOR.focusManager( editor )</b>; 19 * focusManager.focus(); 17 20 */ 18 21 CKEDITOR.focusManager = function( editor ) … … 44 47 { 45 48 /** 46 * Indicates that the editor instance has the focus. 47 * 48 * This function is not used to set the focus in the editor. Use 49 * Used to indicate that the editor instance has the focus.<br /> 50 * <br /> 51 * Note that this function will not explicitelly set the focus in the 52 * editor (for example, making the caret blinking on it). Use 49 53 * {@link CKEDITOR.editor#focus} for it instead. 50 54 * @example … … 77 81 78 82 /** 79 * Indicates that the editor instance has lost the focus. Note that this 80 * functions acts asynchronously with a delay of 100ms to avoid subsequent 81 * blur/focus effects. If you want the "blur" to happen immediately, use 82 * the {@link #forceBlur} function instead. 83 * Used to indicate that the editor instance has lost the focus.<br /> 84 * <br /> 85 * Note that this functions acts asynchronously with a delay of 100ms to 86 * avoid subsequent blur/focus effects. If you want the "blur" to happen 87 * immediately, use the {@link #forceBlur} function instead. 83 88 * @example 84 89 * var editor = CKEDITOR.instances.editor1; … … 102 107 103 108 /** 104 * Indicatesthat the editor instance has lost the focus. Unlike109 * Used to indicate that the editor instance has lost the focus. Unlike 105 110 * {@link #blur}, this function is synchronous, marking the instance as 106 111 * "blured" immediately. … … 128 133 * @event 129 134 * @param {CKEDITOR.editor} editor The editor instance. 135 * @example 136 * editor.on( 'focus', function( e ) 137 * { 138 * alert( 'The editor named ' + e.editor.name + ' is now focused' ); 139 * }); 130 140 */ 131 141 … … 135 145 * @event 136 146 * @param {CKEDITOR.editor} editor The editor instance. 147 * @example 148 * editor.on( 'blur', function( e ) 149 * { 150 * alert( 'The editor named ' + e.editor.name + ' lost the focus' ); 151 * }); 137 152 */ -
CKEditor/branches/features/adobeair/_source/core/htmlparser.js
r6006 r6062 5 5 6 6 /** 7 * HTML text parser.8 * @c onstructor7 * Creates a {@link CKEDITOR.htmlParser} class instance. 8 * @class Provides an "event like" system to parse strings of HTML data. 9 9 * @example 10 * var parser = new CKEDITOR.htmlParser(); 11 * parser.onTagOpen = function( tagName, attributes, selfClosing ) 12 * { 13 * alert( tagName ); 14 * }; 15 * parser.parse( '<p>Some <b>text</b>.</p>' ); 10 16 */ 11 17 CKEDITOR.htmlParser = function() … … 93 99 * @example 94 100 * var parser = new CKEDITOR.htmlParser(); 95 * parser.on Text = function( comment )101 * parser.onComment = function( comment ) 96 102 * { 97 103 * alert( comment ); // e.g. " Example " -
CKEditor/branches/features/adobeair/_source/core/imagecacher.js
r6006 r6062 24 24 25 25 /** 26 * Load images into the browser cache. 27 * @namespace 28 * @example 26 * @namespace Load images into the browser cache. 29 27 */ 30 28 CKEDITOR.imageCacher = … … 32 30 /** 33 31 * Loads one or more images. 34 * @param {Array} images The URLs for the images to be loaded. 35 * @param {Function} callback The optional function to be called once all images 36 * are loaded. You can bind any function to the returned event object. 37 * @return {CKEDITOR.event} Event object which fires 'preloaded' event when all images finished. 38 * Additionally it set "finished" property flag after 'preloaded' event. 32 * @param {Array} images The URLs of the images to be loaded. 33 * @param {Function} [callback] A function to be called once all images 34 * are loaded. 35 * @return {CKEDITOR.event} An event object which fires the 'loaded' 36 * event when all images are completely loaded. Additionally, the 37 * "finished" property is set after the "loaded" event call. 38 * @example 39 * var loader = CKEDITOR.imageCacher.load( [ '/image1.png', 'image2.png' ] ); 40 * if ( !loader.finished ) 41 * { 42 * loader.on( 'load', function() 43 * { 44 * alert( 'All images are loaded' ); 45 * }); 46 * } 39 47 */ 40 48 load : function( images, callback ) … … 43 51 44 52 var event = new CKEDITOR.event; 45 event.on( ' preloaded', function()46 {47 event.finished = true;48 });49 53 event.on( 'loaded', function() 54 { 55 event.finished = 1; 56 }); 57 50 58 if ( callback ) 51 event.on( ' preloaded', callback );59 event.on( 'loaded', callback ); 52 60 53 61 var checkPending = function() 54 {55 if ( --pendingCount === 0 )56 event.fire( 'preloaded' );57 };62 { 63 if ( --pendingCount === 0 ) 64 event.fire( 'loaded' ); 65 }; 58 66 59 67 for ( var i = 0 ; i < images.length ; i++ ) -
CKEditor/branches/features/adobeair/_source/core/lang.js
r5613 r6062 8 8 var loadedLangs = {}; 9 9 10 /** 11 * @namespace Holds language related functions. 12 */ 10 13 CKEDITOR.lang = 11 14 { … … 82 85 * then called when the file gets loaded. 83 86 * @param {String} languageCode The code of the language file to be 84 * loaded. If "autoDetect" is set to true, this language will be 85 * used as the default one, if the detect language is not 86 * available in the core. 87 * @param {Boolean} autoDetect Indicates that the function must try to 88 * detect the user language and load it instead. 89 * @param {Function} callback The function to be called once the 87 * loaded. If null or empty, autodetection will be performed. The 88 * same happens if the language is not supported. 89 * @param {String} defaultLanguage The language to be used if 90 * languageCode is not supported or if the autodetection fails. 91 * @param {Function} callback A function to be called once the 90 92 * language file is loaded. Two parameters are passed to this 91 93 * function: the language code and the loaded language entries. … … 122 124 * @param {String} defaultLanguage The default language to be returned 123 125 * if the user language is not supported. 126 * @param {String} [probeLanguage] A language code to try to use, 127 * instead of the browser based autodetection. 124 128 * @returns {String} The detected language code. 125 129 * @example -
CKEditor/branches/features/adobeair/_source/core/skins.js
r6006 r6062 71 71 { 72 72 // Bind listener for this editor instance. 73 preloaded[ skinName ].on( ' preloaded', function()73 preloaded[ skinName ].on( 'loaded', function() 74 74 { 75 75 loadPart( editor, skinName, part, callback ); -
CKEditor/branches/features/adobeair/_source/plugins/basicstyles/plugin.js
r6006 r6062 30 30 }; 31 31 32 var config = editor.config, 32 var config = editor.config, 33 33 lang = editor.lang; 34 34 -
CKEditor/branches/features/adobeair/_source/plugins/bidi/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 6 6 (function() 7 7 { 8 var guardElements = { table:1, tbody: 1, tr:1, ul:1, ol:1, blockquote:1, div:1 },8 var guardElements = { table:1, tbody: 1, ul:1, ol:1, blockquote:1, div:1, tr: 1 }, 9 9 directSelectionGuardElements = {}, 10 10 // All guard elements which can have a direction applied on them. 11 11 allGuardElements = {}; 12 CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { p:1, div:1, li:1 } );12 CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { tr:1, p:1, div:1, li:1 } ); 13 13 CKEDITOR.tools.extend( allGuardElements, directSelectionGuardElements, { td:1 } ); 14 14 … … 50 50 chromeRoot = editor.container.getChild( 1 ), 51 51 directionNode = getElementForDirection( evt.data.path.lastElement ); 52 52 53 53 if ( directionNode && editor.lang.dir != directionNode.getComputedStyle( 'direction' ) ) 54 54 chromeRoot.addClass( 'cke_mixed_dir_content' ); … … 94 94 95 95 var useComputedState = ( 'useComputedState' in editor.config ) ? editor.config.useComputedState : 1; 96 96 97 97 var elementDir = useComputedState ? element.getComputedStyle( 'direction' ) 98 98 : element.getStyle( 'direction' ) || element.hasAttribute( 'dir' ); … … 108 108 element.removeStyle( 'direction' ); 109 109 110 // Do the second check when computed state is ON, to check 110 // Do the second check when computed state is ON, to check 111 111 // if we need to apply explicit direction on this element. 112 112 if ( useComputedState ) -
CKEditor/branches/features/adobeair/_source/plugins/contextmenu/plugin.js
r6006 r6062 225 225 }, 226 226 this ); 227 228 if ( CKEDITOR.env.opera ) 229 { 230 // 'contextmenu' event triggered by Windows menu key is unpreventable, 231 // cancel the key event itself. (#6534) 232 element.on( 'keypress' , function ( evt ) 233 { 234 var domEvent = evt.data; 235 236 if ( domEvent.$.keyCode === 0 ) 237 domEvent.preventDefault(); 238 }); 239 } 227 240 228 241 if ( CKEDITOR.env.webkit ) -
CKEditor/branches/features/adobeair/_source/plugins/dialog/plugin.js
r6006 r6062 996 996 var selected = this._.tabs[ id ]; 997 997 selected[ 0 ].addClass( 'cke_dialog_tab_selected' ); 998 999 // [IE] an invisible input[type='text'] will enlarge it's width 998 999 // [IE] an invisible input[type='text'] will enlarge it's width 1000 1000 // if it's value is long when it shows, so we clear it's value 1001 1001 // before it shows and then recover it (#5649) -
CKEditor/branches/features/adobeair/_source/plugins/domiterator/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 66 66 67 67 var walker = new CKEDITOR.dom.walker( range ), 68 ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( false, true );68 ignoreBookmarkTextEvaluator = CKEDITOR.dom.walker.bookmark( true, true ); 69 69 // Avoid anchor inside bookmark inner text. 70 70 walker.evaluator = ignoreBookmarkTextEvaluator; -
CKEditor/branches/features/adobeair/_source/plugins/floatpanel/plugin.js
r6006 r6062 124 124 element.setStyles( 125 125 { 126 top : '-30000px', 126 top : 0, 127 left: 0, 127 128 display : '' 128 129 }); … … 278 279 279 280 // Trigger the onHide event of the previously active panel to prevent 280 // incorrect styles from being applied (#6170) 281 // incorrect styles from being applied (#6170) 281 282 var innerElement = element.getFirst(), 282 283 activePanel; … … 318 319 this.element.setStyle( 'display', 'none' ); 319 320 this.visible = 0; 320 this.element.getFirst().removeCustomData( 'activePanel' ); 321 this.element.getFirst().removeCustomData( 'activePanel' ); 321 322 } 322 323 }, -
CKEditor/branches/features/adobeair/_source/plugins/indent/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 79 79 80 80 // Returns the CSS property to be used for identing a given element. 81 function getIndentCssProperty( element )82 { 83 return element.getComputedStyle( 'direction') == 'ltr' ? 'margin-left' : 'margin-right';81 function getIndentCssProperty( element, dir ) 82 { 83 return ( dir || element.getComputedStyle( 'direction' ) ) == 'ltr' ? 'margin-left' : 'margin-right'; 84 84 } 85 85 … … 158 158 // Convert the array back to a DOM forest (yes we might have a few subtrees now). 159 159 // And replace the old list with the new forest. 160 var newListDir = listNode.getAttribute( 'dir' ) || listNode.getStyle( 'direction' ); 161 var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, newListDir ); 160 var newList = CKEDITOR.plugins.list.arrayToList( listArray, database, null, editor.config.enterMode, listNode.getDirection() ); 162 161 163 162 // Avoid nested <li> after outdent even they're visually same, … … 221 220 } 222 221 223 function indentElement( element )222 function indentElement( element, dir ) 224 223 { 225 224 if ( element.getCustomData( 'indent_processed' ) ) … … 257 256 else 258 257 { 259 var indentCssProperty = getIndentCssProperty( element ),258 var indentCssProperty = getIndentCssProperty( element, dir ), 260 259 currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 ); 261 260 if ( isNaN( currentOffset ) ) … … 283 282 range; 284 283 285 var skipBookmarks = CKEDITOR.dom.walker.bookmark( 0, 1 );286 284 287 285 var iterator = ranges.createIterator(); 288 286 while ( ( range = iterator.getNextRange() ) ) 289 287 { 290 // Do not indent body. (#6138) 291 range.shrink( CKEDITOR.SHRINK_ELEMENT ); 292 if ( range.endContainer.getName() == 'body' ) 293 range.setEndAt( range.endContainer.getLast( skipBookmarks ), CKEDITOR.POSITION_BEFORE_END ); 294 295 var startContainer = range.startContainer, 296 endContainer = range.endContainer, 297 rangeRoot = range.getCommonAncestor(), 288 var rangeRoot = range.getCommonAncestor(), 298 289 nearestListBlock = rangeRoot; 299 290 … … 302 293 nearestListBlock = nearestListBlock.getParent(); 303 294 295 // Avoid having selection enclose the entire list. (#6138) 296 // [<ul><li>...</li></ul>] =><ul><li>[...]</li></ul> 297 if ( !nearestListBlock ) 298 { 299 var selectedNode = range.getEnclosedNode(); 300 if ( selectedNode 301 && selectedNode.type == CKEDITOR.NODE_ELEMENT 302 && selectedNode.getName() in listNodeNames) 303 { 304 range.setStartAt( selectedNode, CKEDITOR.POSITION_AFTER_START ); 305 range.setEndAt( selectedNode, CKEDITOR.POSITION_BEFORE_END ); 306 nearestListBlock = selectedNode; 307 } 308 } 309 304 310 // Avoid selection anchors under list root. 305 311 // <ul>[<li>...</li>]</ul> => <ul><li>[...]</li></ul> 306 if ( nearestListBlock && startContainer.type == CKEDITOR.NODE_ELEMENT307 && startContainer.getName() in listNodeNames )312 if ( nearestListBlock && range.startContainer.type == CKEDITOR.NODE_ELEMENT 313 && range.startContainer.getName() in listNodeNames ) 308 314 { 309 315 var walker = new CKEDITOR.dom.walker( range ); … … 312 318 } 313 319 314 if ( nearestListBlock && endContainer.type == CKEDITOR.NODE_ELEMENT315 && endContainer.getName() in listNodeNames )320 if ( nearestListBlock && range.endContainer.type == CKEDITOR.NODE_ELEMENT 321 && range.endContainer.getName() in listNodeNames ) 316 322 { 317 323 walker = new CKEDITOR.dom.walker( range ); … … 322 328 if ( nearestListBlock ) 323 329 { 324 var firstListItem = nearestListBlock.getFirst( function( node ) 325 { 326 return node.type == CKEDITOR.NODE_ELEMENT && node.is( 'li' ); 327 }), 330 var firstListItem = nearestListBlock.getFirst( isListItem ), 331 hasMultipleItems = !!firstListItem.getNext( isListItem ), 328 332 rangeStart = range.startContainer, 329 333 indentWholeList = firstListItem.equals( rangeStart ) || firstListItem.contains( rangeStart ); … … 333 337 if ( !( indentWholeList && 334 338 ( self.name == 'indent' || self.useIndentClasses || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) && 335 indentElement( nearestListBlock ) ) )339 indentElement( nearestListBlock, !hasMultipleItems && firstListItem.getDirection() ) ) ) 336 340 indentList( nearestListBlock ); 337 341 } … … 391 395 range.setStartBefore( e.data ); 392 396 range.setEndAfter( e.data ); 393 397 394 398 var walker = new CKEDITOR.dom.walker( range ), 395 399 node; -
CKEditor/branches/features/adobeair/_source/plugins/justify/plugin.js
r6006 r6062 94 94 node; 95 95 96 while ( node = walker.next() )96 while ( ( node = walker.next() ) ) 97 97 { 98 98 if ( node.type == CKEDITOR.NODE_ELEMENT ) -
CKEditor/branches/features/adobeair/_source/plugins/list/plugin.js
r6006 r6062 89 89 { 90 90 rootNode = listArray[ currentIndex ].parent.clone( false, 1 ); 91 dir && rootNode.setAttribute( 'dir', dir ); 91 92 retval.append( rootNode ); 92 93 } … … 293 294 listContents.push( contentNode ); 294 295 295 // Determine the lists's direction. 296 // Determine the lists's direction. 296 297 if ( !explicitDirection && contentNode.getDirection() ) 297 298 explicitDirection = 1; … … 341 342 contentBlock.removeAttribute( 'dir' ); 342 343 } 343 344 344 345 contentBlock.copyAttributes( listItem ); 345 346 contentBlock.moveChildren( listItem ); -
CKEditor/branches/features/adobeair/_source/plugins/maximize/plugin.js
r6006 r6062 196 196 // Hide scroll bars. 197 197 var viewPaneSize = mainWindow.getViewPaneSize(); 198 var styles = 198 var styles = 199 199 { 200 200 overflow : 'hidden', … … 202 202 height : ( CKEDITOR.env.opera ? viewPaneSize.height - 16 : 0 ) + 'px' 203 203 }; 204 204 205 205 if ( CKEDITOR.env.ie ) 206 206 { … … 212 212 mainDocument.getBody().setStyles( styles ); 213 213 } 214 214 215 215 // #4023: [Opera] Maximize plugin 216 216 if ( CKEDITOR.env.opera ) -
CKEditor/branches/features/adobeair/_source/plugins/panel/plugin.js
r6006 r6062 166 166 win.$.CKEDITOR = CKEDITOR; 167 167 168 // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534). 168 // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534). 169 169 doc.on( 'key' + ( CKEDITOR.env.opera? 'press':'down' ), function( evt ) 170 170 { … … 315 315 // Safari need focus on the iframe window first(#3389), but we need 316 316 // lock the blur to avoid hiding the panel. 317 if ( CKEDITOR.env.webkit )317 if ( CKEDITOR.env.webkit || CKEDITOR.env.opera ) 318 318 item.getDocument().getWindow().focus(); 319 319 item.focus(); -
CKEditor/branches/features/adobeair/_source/plugins/panelbutton/plugin.js
r6006 r6062 94 94 95 95 var panelDefinition = this._.panelDefinition || {}, 96 panelBlockDefinition = this._.panelDefinition.block,96 panelBlockDefinition = this._.panelDefinition.block, 97 97 panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), 98 98 panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), … … 105 105 this.element.getFirst().addClass( me.className + '_panel' ); 106 106 107 _.oldState = me._.state;108 107 me.setState( CKEDITOR.TRISTATE_ON ); 109 108 … … 119 118 this.element.getFirst().removeClass( me.className + '_panel' ); 120 119 121 me.setState( _.oldState);120 me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); 122 121 123 122 _.on = 0; … … 137 136 138 137 block.onHide = function() 139 {140 _.on = 0;141 me.setState( CKEDITOR.TRISTATE_OFF );142 };138 { 139 _.on = 0; 140 me.setState( CKEDITOR.TRISTATE_OFF ); 141 }; 143 142 } 144 143 } -
CKEditor/branches/features/adobeair/_source/plugins/scayt/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license -
CKEditor/branches/features/adobeair/_source/plugins/selection/plugin.js
r6006 r6062 887 887 if ( !node || node.type != CKEDITOR.NODE_ELEMENT ) 888 888 node = range.startContainer; 889 890 var child = node.getFirst(); 891 while ( child && child.type == CKEDITOR.NODE_ELEMENT ) 892 { 893 node = child; 894 child = child.getFirst(); 889 else 890 { 891 var child = node.getFirst(); 892 while ( child && child.type == CKEDITOR.NODE_ELEMENT ) 893 { 894 node = child; 895 child = child.getFirst(); 896 } 895 897 } 896 898 } -
CKEditor/branches/features/adobeair/_source/plugins/smiley/dialogs/smiley.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license -
CKEditor/branches/features/adobeair/_source/plugins/sourcearea/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 72 72 win.on( 'resize', onResize ); 73 73 setTimeout( onResize, 0 ); 74 }75 // As we prevent click to put focus on editor container,76 // while 'mousedown' inside <textarea> is also captured,77 // but we must stop the even propagation, otherwise78 // it's not possible to place the caret inside of it (non IE and IE9).79 if ( document.addEventListener )80 {81 textarea.on( 'mousedown', function( evt )82 {83 evt.data.stopPropagation();84 } );85 74 } 86 75 -
CKEditor/branches/features/adobeair/_source/plugins/styles/plugin.js
r6006 r6062 1 /*1 /* 2 2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license … … 1354 1354 { 1355 1355 var selection = document.getSelection(), 1356 ranges = selection.getRanges( true ), 1356 // Bookmark the range so we can re-select it after processing. 1357 bookmarks = selection.createBookmarks( 1 ), 1358 ranges = selection.getRanges( 1 ), 1357 1359 func = remove ? this.removeFromRange : this.applyToRange, 1358 1360 range; … … 1362 1364 func.call( this, range ); 1363 1365 1364 selection.selectRanges( ranges ); 1366 if ( bookmarks.length == 1 && bookmarks[0].collapsed ) 1367 { 1368 selection.selectRanges( ranges ); 1369 document.getById( bookmarks[ 0 ].startNode ).remove(); 1370 } 1371 else 1372 selection.selectBookmarks( bookmarks ); 1365 1373 } 1366 1374 })(); -
CKEditor/branches/features/adobeair/_source/plugins/toolbar/plugin.js
r6006 r6062 160 160 var labelId = CKEDITOR.tools.getNextId(); 161 161 162 var output = [ '<div class="cke_toolbox" role="toolbar" aria-labelledby="', labelId, '" ' ],162 var output = [ '<div class="cke_toolbox" role="toolbar" aria-labelledby="', labelId, '" onmousedown="return false;"' ], 163 163 expanded = editor.config.toolbarStartupExpanded !== false, 164 164 groupStarted; -
CKEditor/branches/features/adobeair/_source/plugins/wysiwygarea/plugin.js
r6006 r6062 659 659 else if ( CKEDITOR.env.opera ) 660 660 doc.getBody().focus(); 661 // Webkit needs focus for the first time on the HTML element. 661 // Webkit needs focus for the first time on the HTML element. (#6153) 662 662 else if ( CKEDITOR.env.webkit ) 663 663 { … … 666 666 editor.document.getDocumentElement().focus(); 667 667 wasFocused = 1; 668 669 // Webkit does not scroll to the cursor position after first focus.670 setTimeout(function()671 {672 doc.$.execCommand( 'inserthtml', false, '<span id="cke_focus_marker" cke_temp="1"></span>' );673 var marker = doc.getById( 'cke_focus_marker' );674 marker.scrollIntoView();675 marker.remove();676 }, 0 );677 668 } 678 669 } -
CKEditor/branches/features/adobeair/_source/themes/default/theme.js
r6006 r6062 3 3 For licensing, see LICENSE.html or http://ckeditor.com/license 4 4 */ 5 6 /** 7 * @name CKEDITOR.theme 8 * @class 9 */ 5 10 6 11 CKEDITOR.themes.add( 'default', (function() … … 66 71 } 67 72 68 return {73 return /** @lends CKEDITOR.theme */ { 69 74 build : function( editor, themePath ) 70 75 { … … 114 119 '<span' + 115 120 ' id="cke_', name, '"' + 116 ' onmousedown="return false;"' +117 121 ' class="', editor.skinClass, ' ', editor.id, ' cke_editor_', name, '"' + 118 122 ' dir="', editor.lang.dir, '"' + -
CKEditor/branches/features/adobeair/contents.css
r6006 r6062 24 24 /* #6341: The text cursor must be set on the editor area. */ 25 25 cursor: text; 26 /* #6632: Avoid having "text" shape of cursor in IE7 scrollbars.*/ 27 *cursor:auto; 26 28 } 27 29
Note: See TracChangeset
for help on using the changeset viewer.
