esp-ckeditor 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/MIT-LICENSE +20 -0
- data/README.rdoc +32 -0
- data/Rakefile +28 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/_bootstrap.js +87 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor.js +141 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_base.js +227 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/ckeditor_basic.js +238 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/command.js +209 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/commanddefinition.js +129 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/config.js +423 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dataprocessor.js +65 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/comment.js +32 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/document.js +251 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/documentfragment.js +49 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/domobject.js +258 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/element.js +1691 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/elementpath.js +119 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/event.js +145 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/node.js +696 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/nodelist.js +26 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/range.js +2054 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/rangelist.js +213 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/text.js +128 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/walker.js +462 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom/window.js +96 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dom.js +20 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/dtd.js +266 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/editor.js +1060 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/editor_basic.js +186 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/env.js +305 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/event.js +342 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/eventInfo.js +120 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/focusmanager.js +152 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/cdata.js +43 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/comment.js +60 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/element.js +308 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/filter.js +288 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/fragment.js +518 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser/text.js +53 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/htmlparser.js +224 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/lang.js +157 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/loader.js +240 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/plugindefinition.js +83 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/plugins.js +103 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/resourcemanager.js +238 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/scriptloader.js +180 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/skins.js +184 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/themes.js +19 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/tools.js +763 -0
- data/app/assets/javascripts/esp-ckeditor/_source/core/ui.js +128 -0
- data/app/assets/javascripts/esp-ckeditor/_source/lang/_languages.js +27 -0
- data/app/assets/javascripts/esp-ckeditor/_source/lang/en.js +815 -0
- data/app/assets/javascripts/esp-ckeditor/_source/lang/ru.js +815 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/button/plugin.js +290 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/clipboard/plugin.js +453 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialog/plugin.js +3308 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/domiterator/plugin.js +361 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/editingblock/plugin.js +278 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/elementspath/plugin.js +218 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/enterkey/plugin.js +433 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/entities/plugin.js +250 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/dialogs/esp_attachment.js +234 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/images/esp_attachment.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/en.js +22 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/ru.js +22 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/lang/uk.js +22 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_attachment/plugin.js +23 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/dialogs/esp_audio.js +207 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/esp_audio.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/images/placeholder.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/en.js +18 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/ru.js +18 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/lang/uk.js +18 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_audio/plugin.js +182 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/dialogs/esp_blockquote.js +132 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_blockquote/plugin.js +235 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/dialogs/esp_image.js +1414 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/images/esp_image.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/en.js +9 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/ru.js +9 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/lang/uk.js +9 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_image/plugin.js +80 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_anchor.js +145 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/dialogs/esp_link.js +1396 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/anchor.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_anchor.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_link.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/images/esp_unlink.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/en.js +8 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/ru.js +8 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/lang/uk.js +8 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_link/plugin.js +379 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_address.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_blockquote.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_div.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h1.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h2.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h3.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h4.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h5.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_h6.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_p.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/block_pre.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_showblocks/plugin.js +163 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/dialogs/esp_video.js +277 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/esp_video.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/images/placeholder.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/en.js +19 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/ru.js +19 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/lang/uk.js +19 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/esp_video/plugin.js +182 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/dialogs/find.js +915 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/find/plugin.js +47 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/format/plugin.js +197 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/image/plugin.js +81 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/indent/plugin.js +461 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/justify/plugin.js +253 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/list/plugin.js +774 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/listblock/plugin.js +266 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/liststyle/plugin.js +66 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/maximize/plugin.js +353 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/menu/plugin.js +541 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/panel/plugin.js +400 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/pastetext/plugin.js +98 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/popup/plugin.js +64 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/removeformat/plugin.js +185 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/resize/plugin.js +168 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/richcombo/plugin.js +381 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/selection/plugin.js +1729 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/showborders/plugin.js +207 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/plugin.js +1700 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/styles/styles/default.js +88 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/tab/plugin.js +367 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/dialogs/table.js +623 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/table/plugin.js +78 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/toolbar/plugin.js +545 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/undo/plugin.js +578 -0
- data/app/assets/javascripts/esp-ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/dialog.css +988 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/editor.css +25 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/elementspath.css +73 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.css +367 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/icons_rtl.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/mini.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/noimage.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/mainui.css +209 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/menu.css +232 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/panel.css +227 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/presets.css +49 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/reset.css +85 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/richcombo.css +287 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/skin.js +236 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/templates.css +88 -0
- data/app/assets/javascripts/esp-ckeditor/_source/skins/kama/toolbar.css +412 -0
- data/app/assets/javascripts/esp-ckeditor/_source/themes/default/theme.js +407 -0
- data/app/assets/javascripts/esp-ckeditor/application.js +8 -0
- data/app/assets/javascripts/esp-ckeditor/ckeditor.js +137 -0
- data/app/assets/javascripts/esp-ckeditor/ckeditor.pack +194 -0
- data/app/assets/javascripts/esp-ckeditor/ckeditor_source.js +35 -0
- data/app/assets/javascripts/esp-ckeditor/ckpackager.jar +0 -0
- data/app/assets/javascripts/esp-ckeditor/ckpackager.txt +2 -0
- data/app/assets/javascripts/esp-ckeditor/config.js +147 -0
- data/app/assets/javascripts/esp-ckeditor/contents.css +38 -0
- data/app/assets/javascripts/esp-ckeditor/images/spacer.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/init_ckeditor.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/lang/he.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/a11yhelp/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/basicstyles/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/button/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/dialogs/paste.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/clipboard/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/contextmenu/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/dialog/dialogDefinition.js +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/dialog/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/dialogadvtab/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/dialogui/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/domiterator/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/editingblock/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/elementspath/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/enterkey/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/entities/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/dialogs/esp_attachment.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/images/esp_attachment.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/ru.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/lang/uk.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_attachment/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/dialogs/esp_audio.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/esp_audio.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/images/placeholder.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/ru.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/lang/uk.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_audio/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/dialogs/esp_blockquote.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_blockquote/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/dialogs/esp_image.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/images/esp_image.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/ru.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/lang/uk.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_image/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_anchor.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/dialogs/esp_link.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/anchor.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_anchor.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_link.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/images/esp_unlink.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/ru.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/lang/uk.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_link/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_address.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_blockquote.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_div.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h1.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h2.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h3.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h4.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h5.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_h6.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_p.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/block_pre.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/images/esp_showblocks.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_showblocks/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/dialogs/esp_video.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/esp_video.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/images/placeholder.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/en.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/ru.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/lang/uk.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/esp_video/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/fakeobjects/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/filebrowser/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/find/dialogs/find.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/find/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/floatpanel/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/format/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/htmldataprocessor/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/htmlwriter/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/image/dialogs/image.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/image/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/indent/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/justify/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/keystrokes/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/list/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/listblock/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/liststyle/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/maximize/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/menu/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/panel/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/filter/default.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/pastefromword/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/dialogs/pastetext.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/pastetext/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/popup/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/removeformat/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/resize/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/richcombo/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/selection/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/showborders/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/sourcearea/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/styles/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/styles/styles/default.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/stylescombo/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/tab/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/table/dialogs/table.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/table/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/tabletools/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/toolbar/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/undo/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/plugins/wysiwygarea/plugin.js +1 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/dialog.css +988 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/editor.css +25 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/elementspath.css +73 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.css +367 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/icons.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/icons_rtl.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/mini.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/noimage.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/images/toolbar_start.gif +0 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/mainui.css +209 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/menu.css +232 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/panel.css +227 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/presets.css +49 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/reset.css +85 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/richcombo.css +287 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/skin.js +236 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/templates.css +88 -0
- data/app/assets/javascripts/esp-ckeditor/skins/kama/toolbar.css +412 -0
- data/app/inputs/ckeditor_input.rb +42 -0
- data/config/routes.rb +2 -0
- data/lib/esp-ckeditor/engine.rb +9 -0
- data/lib/esp-ckeditor/version.rb +3 -0
- data/lib/esp-ckeditor.rb +17 -0
- data/lib/tasks/esp-ckeditor_tasks.rake +4 -0
- metadata +434 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @fileOverview Defines the {@link CKEDITOR.dom.document} class, which
|
8
|
+
* represents a DOM document.
|
9
|
+
*/
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Represents a DOM window.
|
13
|
+
* @constructor
|
14
|
+
* @augments CKEDITOR.dom.domObject
|
15
|
+
* @param {Object} domWindow A native DOM window.
|
16
|
+
* @example
|
17
|
+
* var document = new CKEDITOR.dom.window( window );
|
18
|
+
*/
|
19
|
+
CKEDITOR.dom.window = function( domWindow )
|
20
|
+
{
|
21
|
+
CKEDITOR.dom.domObject.call( this, domWindow );
|
22
|
+
};
|
23
|
+
|
24
|
+
CKEDITOR.dom.window.prototype = new CKEDITOR.dom.domObject();
|
25
|
+
|
26
|
+
CKEDITOR.tools.extend( CKEDITOR.dom.window.prototype,
|
27
|
+
/** @lends CKEDITOR.dom.window.prototype */
|
28
|
+
{
|
29
|
+
/**
|
30
|
+
* Moves the selection focus to this window.
|
31
|
+
* @function
|
32
|
+
* @example
|
33
|
+
* var win = new CKEDITOR.dom.window( window );
|
34
|
+
* <b>win.focus()</b>;
|
35
|
+
*/
|
36
|
+
focus : function()
|
37
|
+
{
|
38
|
+
// Webkit is sometimes failed to focus iframe, blur it first(#3835).
|
39
|
+
if ( CKEDITOR.env.webkit && this.$.parent )
|
40
|
+
this.$.parent.focus();
|
41
|
+
this.$.focus();
|
42
|
+
},
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Gets the width and height of this window's viewable area.
|
46
|
+
* @function
|
47
|
+
* @returns {Object} An object with the "width" and "height"
|
48
|
+
* properties containing the size.
|
49
|
+
* @example
|
50
|
+
* var win = new CKEDITOR.dom.window( window );
|
51
|
+
* var size = <b>win.getViewPaneSize()</b>;
|
52
|
+
* alert( size.width );
|
53
|
+
* alert( size.height );
|
54
|
+
*/
|
55
|
+
getViewPaneSize : function()
|
56
|
+
{
|
57
|
+
var doc = this.$.document,
|
58
|
+
stdMode = doc.compatMode == 'CSS1Compat';
|
59
|
+
return {
|
60
|
+
width : ( stdMode ? doc.documentElement.clientWidth : doc.body.clientWidth ) || 0,
|
61
|
+
height : ( stdMode ? doc.documentElement.clientHeight : doc.body.clientHeight ) || 0
|
62
|
+
};
|
63
|
+
},
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Gets the current position of the window's scroll.
|
67
|
+
* @function
|
68
|
+
* @returns {Object} An object with the "x" and "y" properties
|
69
|
+
* containing the scroll position.
|
70
|
+
* @example
|
71
|
+
* var win = new CKEDITOR.dom.window( window );
|
72
|
+
* var pos = <b>win.getScrollPosition()</b>;
|
73
|
+
* alert( pos.x );
|
74
|
+
* alert( pos.y );
|
75
|
+
*/
|
76
|
+
getScrollPosition : function()
|
77
|
+
{
|
78
|
+
var $ = this.$;
|
79
|
+
|
80
|
+
if ( 'pageXOffset' in $ )
|
81
|
+
{
|
82
|
+
return {
|
83
|
+
x : $.pageXOffset || 0,
|
84
|
+
y : $.pageYOffset || 0
|
85
|
+
};
|
86
|
+
}
|
87
|
+
else
|
88
|
+
{
|
89
|
+
var doc = $.document;
|
90
|
+
return {
|
91
|
+
x : doc.documentElement.scrollLeft || doc.body.scrollLeft || 0,
|
92
|
+
y : doc.documentElement.scrollTop || doc.body.scrollTop || 0
|
93
|
+
};
|
94
|
+
}
|
95
|
+
}
|
96
|
+
});
|
@@ -0,0 +1,20 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @fileOverview Defines the {@link CKEDITOR.dom} object, which contains DOM
|
8
|
+
* manipulation objects and function.
|
9
|
+
*/
|
10
|
+
|
11
|
+
/**
|
12
|
+
* @namespace DOM manipulation objects, classes and functions.
|
13
|
+
* @see CKEDITOR.dom.element
|
14
|
+
* @see CKEDITOR.dom.node
|
15
|
+
* @example
|
16
|
+
*/
|
17
|
+
CKEDITOR.dom =
|
18
|
+
{};
|
19
|
+
|
20
|
+
// PACKAGER_RENAME( CKEDITOR.dom )
|
@@ -0,0 +1,266 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @fileOverview Defines the {@link CKEDITOR.dtd} object, which holds the DTD
|
8
|
+
* mapping for XHTML 1.0 Transitional. This file was automatically
|
9
|
+
* generated from the file: xhtml1-transitional.dtd.
|
10
|
+
*/
|
11
|
+
|
12
|
+
/**
|
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
|
+
* Several special grouping properties are also available. Their names start
|
21
|
+
* with the "$" character.
|
22
|
+
* @example
|
23
|
+
* // Check if "div" can be contained in a "p" element.
|
24
|
+
* alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] ); "false"
|
25
|
+
* @example
|
26
|
+
* // Check if "p" can be contained in a "div" element.
|
27
|
+
* alert( !!CKEDITOR.dtd[ 'div' ][ 'p' ] ); "true"
|
28
|
+
* @example
|
29
|
+
* // Check if "p" is a block element.
|
30
|
+
* alert( !!CKEDITOR.dtd.$block[ 'p' ] ); "true"
|
31
|
+
*/
|
32
|
+
CKEDITOR.dtd = (function()
|
33
|
+
{
|
34
|
+
var X = CKEDITOR.tools.extend,
|
35
|
+
|
36
|
+
A = {isindex:1,fieldset:1},
|
37
|
+
B = {input:1,button:1,select:1,textarea:1,label:1},
|
38
|
+
C = X({a:1},B),
|
39
|
+
D = X({iframe:1},C),
|
40
|
+
E = {hr:1,ul:1,menu:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},
|
41
|
+
F = {ins:1,del:1,script:1,style:1},
|
42
|
+
G = X({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1,wbr:1},F),
|
43
|
+
H = X({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1,mark:1,audio:1,video:1},G),
|
44
|
+
I = X({p:1},H),
|
45
|
+
J = X({iframe:1},H,B),
|
46
|
+
K = {img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,mark:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1,audio:1,video:1},
|
47
|
+
|
48
|
+
L = X({a:1},J),
|
49
|
+
M = {tr:1},
|
50
|
+
N = {'#':1},
|
51
|
+
O = X({param:1},K),
|
52
|
+
P = X({form:1},A,D,E,I),
|
53
|
+
Q = {li:1},
|
54
|
+
R = {style:1,script:1},
|
55
|
+
S = {base:1,link:1,meta:1,title:1},
|
56
|
+
T = X(S,R),
|
57
|
+
U = {head:1,body:1},
|
58
|
+
V = {html:1};
|
59
|
+
|
60
|
+
var block = {address:1,blockquote:1,center:1,dir:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};
|
61
|
+
|
62
|
+
return /** @lends CKEDITOR.dtd */ {
|
63
|
+
|
64
|
+
// The "$" items have been added manually.
|
65
|
+
|
66
|
+
// List of elements living outside body.
|
67
|
+
$nonBodyContent: X(V,U,S),
|
68
|
+
|
69
|
+
/**
|
70
|
+
* List of block elements, like "p" or "div".
|
71
|
+
* @type Object
|
72
|
+
* @example
|
73
|
+
*/
|
74
|
+
$block : block,
|
75
|
+
|
76
|
+
/**
|
77
|
+
* List of block limit elements.
|
78
|
+
* @type Object
|
79
|
+
* @example
|
80
|
+
*/
|
81
|
+
$blockLimit : { body:1,div:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,audio:1,video:1,details:1,datagrid:1,datalist:1,td:1,th:1,caption:1,form:1 },
|
82
|
+
|
83
|
+
/**
|
84
|
+
* List of inline (<span> like) elements.
|
85
|
+
*/
|
86
|
+
$inline : L, // Just like span.
|
87
|
+
|
88
|
+
/**
|
89
|
+
* list of elements that can be children at <body>.
|
90
|
+
*/
|
91
|
+
$body : X({script:1,style:1}, block),
|
92
|
+
|
93
|
+
$cdata : {script:1,style:1},
|
94
|
+
|
95
|
+
/**
|
96
|
+
* List of empty (self-closing) elements, like "br" or "img".
|
97
|
+
* @type Object
|
98
|
+
* @example
|
99
|
+
*/
|
100
|
+
$empty : {area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1,wbr:1},
|
101
|
+
|
102
|
+
/**
|
103
|
+
* List of list item elements, like "li" or "dd".
|
104
|
+
* @type Object
|
105
|
+
* @example
|
106
|
+
*/
|
107
|
+
$listItem : {dd:1,dt:1,li:1},
|
108
|
+
|
109
|
+
/**
|
110
|
+
* List of list root elements.
|
111
|
+
* @type Object
|
112
|
+
* @example
|
113
|
+
*/
|
114
|
+
$list: {ul:1,ol:1,dl:1},
|
115
|
+
|
116
|
+
/**
|
117
|
+
* Elements that accept text nodes, but are not possible to edit into
|
118
|
+
* the browser.
|
119
|
+
* @type Object
|
120
|
+
* @example
|
121
|
+
*/
|
122
|
+
$nonEditable : {applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1,audio:1,video:1},
|
123
|
+
|
124
|
+
/**
|
125
|
+
* List of block tags with each one a singleton element lives in the corresponding structure for description.
|
126
|
+
*/
|
127
|
+
$captionBlock : { caption:1, legend:1 },
|
128
|
+
|
129
|
+
/**
|
130
|
+
* List of elements that can be ignored if empty, like "b" or "span".
|
131
|
+
* @type Object
|
132
|
+
* @example
|
133
|
+
*/
|
134
|
+
$removeEmpty : {abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1,mark:1},
|
135
|
+
|
136
|
+
/**
|
137
|
+
* List of elements that have tabindex set to zero by default.
|
138
|
+
* @type Object
|
139
|
+
* @example
|
140
|
+
*/
|
141
|
+
$tabIndex : {a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},
|
142
|
+
|
143
|
+
/**
|
144
|
+
* List of elements used inside the "table" element, like "tbody" or "td".
|
145
|
+
* @type Object
|
146
|
+
* @example
|
147
|
+
*/
|
148
|
+
$tableContent : {caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},
|
149
|
+
|
150
|
+
html: U,
|
151
|
+
head: T,
|
152
|
+
style: N,
|
153
|
+
script: N,
|
154
|
+
body: P,
|
155
|
+
base: {},
|
156
|
+
link: {},
|
157
|
+
meta: {},
|
158
|
+
title: N,
|
159
|
+
col : {},
|
160
|
+
tr : {td:1,th:1},
|
161
|
+
img : {},
|
162
|
+
colgroup : {col:1},
|
163
|
+
noscript : P,
|
164
|
+
td : P,
|
165
|
+
br : {},
|
166
|
+
wbr : {},
|
167
|
+
th : P,
|
168
|
+
center : P,
|
169
|
+
kbd : L,
|
170
|
+
button : X(I,E),
|
171
|
+
basefont : {},
|
172
|
+
h5 : L,
|
173
|
+
h4 : L,
|
174
|
+
samp : L,
|
175
|
+
h6 : L,
|
176
|
+
ol : Q,
|
177
|
+
h1 : L,
|
178
|
+
h3 : L,
|
179
|
+
option : N,
|
180
|
+
h2 : L,
|
181
|
+
form : X(A,D,E,I),
|
182
|
+
select : {optgroup:1,option:1},
|
183
|
+
font : L,
|
184
|
+
ins : L,
|
185
|
+
menu : Q,
|
186
|
+
abbr : L,
|
187
|
+
label : L,
|
188
|
+
table : {thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},
|
189
|
+
code : L,
|
190
|
+
tfoot : M,
|
191
|
+
cite : L,
|
192
|
+
li : P,
|
193
|
+
input : {},
|
194
|
+
iframe : P,
|
195
|
+
strong : L,
|
196
|
+
textarea : N,
|
197
|
+
noframes : P,
|
198
|
+
big : L,
|
199
|
+
small : L,
|
200
|
+
span : L,
|
201
|
+
hr : {},
|
202
|
+
dt : L,
|
203
|
+
sub : L,
|
204
|
+
optgroup : {option:1},
|
205
|
+
param : {},
|
206
|
+
bdo : L,
|
207
|
+
'var' : L,
|
208
|
+
div : P,
|
209
|
+
object : O,
|
210
|
+
sup : L,
|
211
|
+
dd : P,
|
212
|
+
strike : L,
|
213
|
+
area : {},
|
214
|
+
dir : Q,
|
215
|
+
map : X({area:1,form:1,p:1},A,F,E),
|
216
|
+
applet : O,
|
217
|
+
dl : {dt:1,dd:1},
|
218
|
+
del : L,
|
219
|
+
isindex : {},
|
220
|
+
fieldset : X({legend:1},K),
|
221
|
+
thead : M,
|
222
|
+
ul : Q,
|
223
|
+
acronym : L,
|
224
|
+
b : L,
|
225
|
+
a : J,
|
226
|
+
blockquote : P,
|
227
|
+
caption : L,
|
228
|
+
i : L,
|
229
|
+
u : L,
|
230
|
+
tbody : M,
|
231
|
+
s : L,
|
232
|
+
address : X(D,I),
|
233
|
+
tt : L,
|
234
|
+
legend : L,
|
235
|
+
q : L,
|
236
|
+
pre : X(G,C),
|
237
|
+
p : L,
|
238
|
+
em : L,
|
239
|
+
dfn : L,
|
240
|
+
//HTML5
|
241
|
+
section : P,
|
242
|
+
header : P,
|
243
|
+
footer : P,
|
244
|
+
nav : P,
|
245
|
+
article : P,
|
246
|
+
aside : P,
|
247
|
+
figure: P,
|
248
|
+
dialog : P,
|
249
|
+
hgroup : P,
|
250
|
+
mark : L,
|
251
|
+
time : L,
|
252
|
+
meter : L,
|
253
|
+
menu : L,
|
254
|
+
command : L,
|
255
|
+
keygen : L,
|
256
|
+
output : L,
|
257
|
+
progress : O,
|
258
|
+
audio : O,
|
259
|
+
video : O,
|
260
|
+
details : O,
|
261
|
+
datagrid : O,
|
262
|
+
datalist : O
|
263
|
+
};
|
264
|
+
})();
|
265
|
+
|
266
|
+
// PACKAGER_RENAME( CKEDITOR.dtd )
|
@@ -0,0 +1,1060 @@
|
|
1
|
+
/*
|
2
|
+
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @fileOverview Defines the {@link CKEDITOR.editor} class, which represents an
|
8
|
+
* editor instance.
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function()
|
12
|
+
{
|
13
|
+
// The counter for automatic instance names.
|
14
|
+
var nameCounter = 0;
|
15
|
+
|
16
|
+
var getNewName = function()
|
17
|
+
{
|
18
|
+
var name = 'editor' + ( ++nameCounter );
|
19
|
+
return ( CKEDITOR.instances && CKEDITOR.instances[ name ] ) ? getNewName() : name;
|
20
|
+
};
|
21
|
+
|
22
|
+
// ##### START: Config Privates
|
23
|
+
|
24
|
+
// These function loads custom configuration files and cache the
|
25
|
+
// CKEDITOR.editorConfig functions defined on them, so there is no need to
|
26
|
+
// download them more than once for several instances.
|
27
|
+
var loadConfigLoaded = {};
|
28
|
+
var loadConfig = function( editor )
|
29
|
+
{
|
30
|
+
var customConfig = editor.config.customConfig;
|
31
|
+
|
32
|
+
// Check if there is a custom config to load.
|
33
|
+
if ( !customConfig )
|
34
|
+
return false;
|
35
|
+
|
36
|
+
customConfig = CKEDITOR.getUrl( customConfig );
|
37
|
+
|
38
|
+
var loadedConfig = loadConfigLoaded[ customConfig ] || ( loadConfigLoaded[ customConfig ] = {} );
|
39
|
+
|
40
|
+
// If the custom config has already been downloaded, reuse it.
|
41
|
+
if ( loadedConfig.fn )
|
42
|
+
{
|
43
|
+
// Call the cached CKEDITOR.editorConfig defined in the custom
|
44
|
+
// config file for the editor instance depending on it.
|
45
|
+
loadedConfig.fn.call( editor, editor.config );
|
46
|
+
|
47
|
+
// If there is no other customConfig in the chain, fire the
|
48
|
+
// "configLoaded" event.
|
49
|
+
if ( CKEDITOR.getUrl( editor.config.customConfig ) == customConfig || !loadConfig( editor ) )
|
50
|
+
editor.fireOnce( 'customConfigLoaded' );
|
51
|
+
}
|
52
|
+
else
|
53
|
+
{
|
54
|
+
// Load the custom configuration file.
|
55
|
+
CKEDITOR.scriptLoader.load( customConfig, function()
|
56
|
+
{
|
57
|
+
// If the CKEDITOR.editorConfig function has been properly
|
58
|
+
// defined in the custom configuration file, cache it.
|
59
|
+
if ( CKEDITOR.editorConfig )
|
60
|
+
loadedConfig.fn = CKEDITOR.editorConfig;
|
61
|
+
else
|
62
|
+
loadedConfig.fn = function(){};
|
63
|
+
|
64
|
+
// Call the load config again. This time the custom
|
65
|
+
// config is already cached and so it will get loaded.
|
66
|
+
loadConfig( editor );
|
67
|
+
});
|
68
|
+
}
|
69
|
+
|
70
|
+
return true;
|
71
|
+
};
|
72
|
+
|
73
|
+
var initConfig = function( editor, instanceConfig )
|
74
|
+
{
|
75
|
+
// Setup the lister for the "customConfigLoaded" event.
|
76
|
+
editor.on( 'customConfigLoaded', function()
|
77
|
+
{
|
78
|
+
if ( instanceConfig )
|
79
|
+
{
|
80
|
+
// Register the events that may have been set at the instance
|
81
|
+
// configuration object.
|
82
|
+
if ( instanceConfig.on )
|
83
|
+
{
|
84
|
+
for ( var eventName in instanceConfig.on )
|
85
|
+
{
|
86
|
+
editor.on( eventName, instanceConfig.on[ eventName ] );
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
// Overwrite the settings from the in-page config.
|
91
|
+
CKEDITOR.tools.extend( editor.config, instanceConfig, true );
|
92
|
+
|
93
|
+
delete editor.config.on;
|
94
|
+
}
|
95
|
+
|
96
|
+
onConfigLoaded( editor );
|
97
|
+
});
|
98
|
+
|
99
|
+
// The instance config may override the customConfig setting to avoid
|
100
|
+
// loading the default ~/config.js file.
|
101
|
+
if ( instanceConfig && instanceConfig.customConfig != undefined )
|
102
|
+
editor.config.customConfig = instanceConfig.customConfig;
|
103
|
+
|
104
|
+
// Load configs from the custom configuration files.
|
105
|
+
if ( !loadConfig( editor ) )
|
106
|
+
editor.fireOnce( 'customConfigLoaded' );
|
107
|
+
};
|
108
|
+
|
109
|
+
// ##### END: Config Privates
|
110
|
+
|
111
|
+
var onConfigLoaded = function( editor )
|
112
|
+
{
|
113
|
+
// Set config related properties.
|
114
|
+
|
115
|
+
var skin = editor.config.skin.split( ',' ),
|
116
|
+
skinName = skin[ 0 ],
|
117
|
+
skinPath = CKEDITOR.getUrl( skin[ 1 ] || (
|
118
|
+
'_source/' + // @Packager.RemoveLine
|
119
|
+
'skins/' + skinName + '/' ) );
|
120
|
+
|
121
|
+
/**
|
122
|
+
* The name of the skin used by this editor instance. The skin name can
|
123
|
+
* be set through the <code>{@link CKEDITOR.config.skin}</code> setting.
|
124
|
+
* @name CKEDITOR.editor.prototype.skinName
|
125
|
+
* @type String
|
126
|
+
* @example
|
127
|
+
* alert( editor.skinName ); // E.g. "kama"
|
128
|
+
*/
|
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 ); // E.g. "http://example.com/ckeditor/skins/kama/"
|
137
|
+
*/
|
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 ); // E.g. "cke_skin_kama"
|
146
|
+
*/
|
147
|
+
editor.skinClass = 'cke_skin_' + skinName;
|
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 <code>{@link CKEDITOR.config.tabIndex}</code>
|
153
|
+
* setting or taken from the <code>tabindex</code> attribute of the
|
154
|
+
* <code>{@link #element}</code> associated with the editor.
|
155
|
+
* @name CKEDITOR.editor.prototype.tabIndex
|
156
|
+
* @type Number
|
157
|
+
* @default 0 (zero)
|
158
|
+
* @example
|
159
|
+
* alert( editor.tabIndex ); // E.g. "0"
|
160
|
+
*/
|
161
|
+
editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0;
|
162
|
+
|
163
|
+
/**
|
164
|
+
* Indicates the read-only state of this editor. This is a read-only property.
|
165
|
+
* @name CKEDITOR.editor.prototype.readOnly
|
166
|
+
* @type Boolean
|
167
|
+
* @since 3.6
|
168
|
+
* @see CKEDITOR.editor#setReadOnly
|
169
|
+
*/
|
170
|
+
editor.readOnly = !!( editor.config.readOnly || editor.element.getAttribute( 'disabled' ) );
|
171
|
+
|
172
|
+
// Fire the "configLoaded" event.
|
173
|
+
editor.fireOnce( 'configLoaded' );
|
174
|
+
|
175
|
+
// Load language file.
|
176
|
+
loadSkin( editor );
|
177
|
+
};
|
178
|
+
|
179
|
+
var loadLang = function( editor )
|
180
|
+
{
|
181
|
+
CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang )
|
182
|
+
{
|
183
|
+
/**
|
184
|
+
* The code for the language resources that have been loaded
|
185
|
+
* for the user interface elements of this editor instance.
|
186
|
+
* @name CKEDITOR.editor.prototype.langCode
|
187
|
+
* @type String
|
188
|
+
* @example
|
189
|
+
* alert( editor.langCode ); // E.g. "en"
|
190
|
+
*/
|
191
|
+
editor.langCode = languageCode;
|
192
|
+
|
193
|
+
/**
|
194
|
+
* An object that contains all language strings used by the editor
|
195
|
+
* interface.
|
196
|
+
* @name CKEDITOR.editor.prototype.lang
|
197
|
+
* @type CKEDITOR.lang
|
198
|
+
* @example
|
199
|
+
* alert( editor.lang.bold ); // E.g. "Negrito" (if the language is set to Portuguese)
|
200
|
+
*/
|
201
|
+
// As we'll be adding plugin specific entries that could come
|
202
|
+
// from different language code files, we need a copy of lang,
|
203
|
+
// not a direct reference to it.
|
204
|
+
editor.lang = CKEDITOR.tools.prototypedCopy( lang );
|
205
|
+
|
206
|
+
// We're not able to support RTL in Firefox 2 at this time.
|
207
|
+
if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 && editor.lang.dir == 'rtl' )
|
208
|
+
editor.lang.dir = 'ltr';
|
209
|
+
|
210
|
+
editor.fire( 'langLoaded' );
|
211
|
+
|
212
|
+
var config = editor.config;
|
213
|
+
config.contentsLangDirection == 'ui' && ( config.contentsLangDirection = editor.lang.dir );
|
214
|
+
|
215
|
+
loadPlugins( editor );
|
216
|
+
});
|
217
|
+
};
|
218
|
+
|
219
|
+
var loadPlugins = function( editor )
|
220
|
+
{
|
221
|
+
var config = editor.config,
|
222
|
+
plugins = config.plugins,
|
223
|
+
extraPlugins = config.extraPlugins,
|
224
|
+
removePlugins = config.removePlugins;
|
225
|
+
|
226
|
+
if ( extraPlugins )
|
227
|
+
{
|
228
|
+
// Remove them first to avoid duplications.
|
229
|
+
var removeRegex = new RegExp( '(?:^|,)(?:' + extraPlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
|
230
|
+
plugins = plugins.replace( removeRegex, '' );
|
231
|
+
|
232
|
+
plugins += ',' + extraPlugins;
|
233
|
+
}
|
234
|
+
|
235
|
+
if ( removePlugins )
|
236
|
+
{
|
237
|
+
removeRegex = new RegExp( '(?:^|,)(?:' + removePlugins.replace( /\s*,\s*/g, '|' ) + ')(?=,|$)' , 'g' );
|
238
|
+
plugins = plugins.replace( removeRegex, '' );
|
239
|
+
}
|
240
|
+
|
241
|
+
// Load the Adobe AIR plugin conditionally.
|
242
|
+
CKEDITOR.env.air && ( plugins += ',adobeair' );
|
243
|
+
|
244
|
+
// Load all plugins defined in the "plugins" setting.
|
245
|
+
CKEDITOR.plugins.load( plugins.split( ',' ), function( plugins )
|
246
|
+
{
|
247
|
+
// The list of plugins.
|
248
|
+
var pluginsArray = [];
|
249
|
+
|
250
|
+
// The language code to get loaded for each plugin. Null
|
251
|
+
// entries will be appended for plugins with no language files.
|
252
|
+
var languageCodes = [];
|
253
|
+
|
254
|
+
// The list of URLs to language files.
|
255
|
+
var languageFiles = [];
|
256
|
+
|
257
|
+
/**
|
258
|
+
* An object that contains references to all plugins used by this
|
259
|
+
* editor instance.
|
260
|
+
* @name CKEDITOR.editor.prototype.plugins
|
261
|
+
* @type Object
|
262
|
+
* @example
|
263
|
+
* alert( editor.plugins.dialog.path ); // E.g. "http://example.com/ckeditor/plugins/dialog/"
|
264
|
+
*/
|
265
|
+
editor.plugins = plugins;
|
266
|
+
|
267
|
+
// Loop through all plugins, to build the list of language
|
268
|
+
// files to get loaded.
|
269
|
+
for ( var pluginName in plugins )
|
270
|
+
{
|
271
|
+
var plugin = plugins[ pluginName ],
|
272
|
+
pluginLangs = plugin.lang,
|
273
|
+
pluginPath = CKEDITOR.plugins.getPath( pluginName ),
|
274
|
+
lang = null;
|
275
|
+
|
276
|
+
// Set the plugin path in the plugin.
|
277
|
+
plugin.path = pluginPath;
|
278
|
+
|
279
|
+
// If the plugin has "lang".
|
280
|
+
if ( pluginLangs )
|
281
|
+
{
|
282
|
+
// Resolve the plugin language. If the current language
|
283
|
+
// is not available, get the first one (default one).
|
284
|
+
lang = ( CKEDITOR.tools.indexOf( pluginLangs, editor.langCode ) >= 0 ? editor.langCode : pluginLangs[ 0 ] );
|
285
|
+
|
286
|
+
if ( !plugin.langEntries || !plugin.langEntries[ lang ] )
|
287
|
+
{
|
288
|
+
// Put the language file URL into the list of files to
|
289
|
+
// get downloaded.
|
290
|
+
languageFiles.push( CKEDITOR.getUrl( pluginPath + 'lang/' + lang + '.js' ) );
|
291
|
+
}
|
292
|
+
else
|
293
|
+
{
|
294
|
+
CKEDITOR.tools.extend( editor.lang, plugin.langEntries[ lang ] );
|
295
|
+
lang = null;
|
296
|
+
}
|
297
|
+
}
|
298
|
+
|
299
|
+
// Save the language code, so we know later which
|
300
|
+
// language has been resolved to this plugin.
|
301
|
+
languageCodes.push( lang );
|
302
|
+
|
303
|
+
pluginsArray.push( plugin );
|
304
|
+
}
|
305
|
+
|
306
|
+
// Load all plugin specific language files in a row.
|
307
|
+
CKEDITOR.scriptLoader.load( languageFiles, function()
|
308
|
+
{
|
309
|
+
// Initialize all plugins that have the "beforeInit" and "init" methods defined.
|
310
|
+
var methods = [ 'beforeInit', 'init', 'afterInit' ];
|
311
|
+
for ( var m = 0 ; m < methods.length ; m++ )
|
312
|
+
{
|
313
|
+
for ( var i = 0 ; i < pluginsArray.length ; i++ )
|
314
|
+
{
|
315
|
+
var plugin = pluginsArray[ i ];
|
316
|
+
|
317
|
+
// Uses the first loop to update the language entries also.
|
318
|
+
if ( m === 0 && languageCodes[ i ] && plugin.lang )
|
319
|
+
CKEDITOR.tools.extend( editor.lang, plugin.langEntries[ languageCodes[ i ] ] );
|
320
|
+
|
321
|
+
// Call the plugin method (beforeInit and init).
|
322
|
+
if ( plugin[ methods[ m ] ] )
|
323
|
+
plugin[ methods[ m ] ]( editor );
|
324
|
+
}
|
325
|
+
}
|
326
|
+
|
327
|
+
// Load the editor skin.
|
328
|
+
editor.fire( 'pluginsLoaded' );
|
329
|
+
loadTheme( editor );
|
330
|
+
});
|
331
|
+
});
|
332
|
+
};
|
333
|
+
|
334
|
+
var loadSkin = function( editor )
|
335
|
+
{
|
336
|
+
CKEDITOR.skins.load( editor, 'editor', function()
|
337
|
+
{
|
338
|
+
loadLang( editor );
|
339
|
+
});
|
340
|
+
};
|
341
|
+
|
342
|
+
var loadTheme = function( editor )
|
343
|
+
{
|
344
|
+
var theme = editor.config.theme;
|
345
|
+
CKEDITOR.themes.load( theme, function()
|
346
|
+
{
|
347
|
+
/**
|
348
|
+
* The theme used by this editor instance.
|
349
|
+
* @name CKEDITOR.editor.prototype.theme
|
350
|
+
* @type CKEDITOR.theme
|
351
|
+
* @example
|
352
|
+
* alert( editor.theme ); // E.g. "http://example.com/ckeditor/themes/default/"
|
353
|
+
*/
|
354
|
+
var editorTheme = editor.theme = CKEDITOR.themes.get( theme );
|
355
|
+
editorTheme.path = CKEDITOR.themes.getPath( theme );
|
356
|
+
editorTheme.build( editor );
|
357
|
+
|
358
|
+
if ( editor.config.autoUpdateElement )
|
359
|
+
attachToForm( editor );
|
360
|
+
});
|
361
|
+
};
|
362
|
+
|
363
|
+
var attachToForm = function( editor )
|
364
|
+
{
|
365
|
+
var element = editor.element;
|
366
|
+
|
367
|
+
// If are replacing a textarea, we must
|
368
|
+
if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE && element.is( 'textarea' ) )
|
369
|
+
{
|
370
|
+
var form = element.$.form && new CKEDITOR.dom.element( element.$.form );
|
371
|
+
if ( form )
|
372
|
+
{
|
373
|
+
function onSubmit()
|
374
|
+
{
|
375
|
+
editor.updateElement();
|
376
|
+
}
|
377
|
+
form.on( 'submit',onSubmit );
|
378
|
+
|
379
|
+
// Setup the submit function because it doesn't fire the
|
380
|
+
// "submit" event.
|
381
|
+
if ( !form.$.submit.nodeName && !form.$.submit.length )
|
382
|
+
{
|
383
|
+
form.$.submit = CKEDITOR.tools.override( form.$.submit, function( originalSubmit )
|
384
|
+
{
|
385
|
+
return function()
|
386
|
+
{
|
387
|
+
editor.updateElement();
|
388
|
+
|
389
|
+
// For IE, the DOM submit function is not a
|
390
|
+
// function, so we need thid check.
|
391
|
+
if ( originalSubmit.apply )
|
392
|
+
originalSubmit.apply( this, arguments );
|
393
|
+
else
|
394
|
+
originalSubmit();
|
395
|
+
};
|
396
|
+
});
|
397
|
+
}
|
398
|
+
|
399
|
+
// Remove 'submit' events registered on form element before destroying.(#3988)
|
400
|
+
editor.on( 'destroy', function()
|
401
|
+
{
|
402
|
+
form.removeListener( 'submit', onSubmit );
|
403
|
+
} );
|
404
|
+
}
|
405
|
+
}
|
406
|
+
};
|
407
|
+
|
408
|
+
function updateCommands()
|
409
|
+
{
|
410
|
+
var command,
|
411
|
+
commands = this._.commands,
|
412
|
+
mode = this.mode;
|
413
|
+
|
414
|
+
if ( !mode )
|
415
|
+
return;
|
416
|
+
|
417
|
+
for ( var name in commands )
|
418
|
+
{
|
419
|
+
command = commands[ name ];
|
420
|
+
command[ command.startDisabled ? 'disable' :
|
421
|
+
this.readOnly && !command.readOnly ? 'disable' : command.modes[ mode ] ? 'enable' : 'disable' ]();
|
422
|
+
}
|
423
|
+
}
|
424
|
+
|
425
|
+
/**
|
426
|
+
* Initializes the editor instance. This function is called by the editor
|
427
|
+
* contructor (<code>editor_basic.js</code>).
|
428
|
+
* @private
|
429
|
+
*/
|
430
|
+
CKEDITOR.editor.prototype._init = function()
|
431
|
+
{
|
432
|
+
// Get the properties that have been saved in the editor_base
|
433
|
+
// implementation.
|
434
|
+
var element = CKEDITOR.dom.element.get( this._.element ),
|
435
|
+
instanceConfig = this._.instanceConfig;
|
436
|
+
delete this._.element;
|
437
|
+
delete this._.instanceConfig;
|
438
|
+
|
439
|
+
this._.commands = {};
|
440
|
+
this._.styles = [];
|
441
|
+
|
442
|
+
/**
|
443
|
+
* The DOM element that was replaced by this editor instance. This
|
444
|
+
* element stores the editor data on load and post.
|
445
|
+
* @name CKEDITOR.editor.prototype.element
|
446
|
+
* @type CKEDITOR.dom.element
|
447
|
+
* @example
|
448
|
+
* var editor = CKEDITOR.instances.editor1;
|
449
|
+
* alert( <strong>editor.element</strong>.getName() ); // E.g. "textarea"
|
450
|
+
*/
|
451
|
+
this.element = element;
|
452
|
+
|
453
|
+
/**
|
454
|
+
* The editor instance name. It may be the replaced element ID, name, or
|
455
|
+
* a default name using the progressive counter (<code>editor1</code>,
|
456
|
+
* <code>editor2</code>, ...).
|
457
|
+
* @name CKEDITOR.editor.prototype.name
|
458
|
+
* @type String
|
459
|
+
* @example
|
460
|
+
* var editor = CKEDITOR.instances.editor1;
|
461
|
+
* alert( <strong>editor.name</strong> ); // "editor1"
|
462
|
+
*/
|
463
|
+
this.name = ( element && ( this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
464
|
+
&& ( element.getId() || element.getNameAtt() ) )
|
465
|
+
|| getNewName();
|
466
|
+
|
467
|
+
if ( this.name in CKEDITOR.instances )
|
468
|
+
throw '[CKEDITOR.editor] The instance "' + this.name + '" already exists.';
|
469
|
+
|
470
|
+
/**
|
471
|
+
* A unique random string assigned to each editor instance on the page.
|
472
|
+
* @name CKEDITOR.editor.prototype.id
|
473
|
+
* @type String
|
474
|
+
*/
|
475
|
+
this.id = CKEDITOR.tools.getNextId();
|
476
|
+
|
477
|
+
/**
|
478
|
+
* The configurations for this editor instance. It inherits all
|
479
|
+
* settings defined in <code>(@link CKEDITOR.config}</code>, combined with settings
|
480
|
+
* loaded from custom configuration files and those defined inline in
|
481
|
+
* the page when creating the editor.
|
482
|
+
* @name CKEDITOR.editor.prototype.config
|
483
|
+
* @type Object
|
484
|
+
* @example
|
485
|
+
* var editor = CKEDITOR.instances.editor1;
|
486
|
+
* alert( <strong>editor.config.theme</strong> ); // E.g. "default"
|
487
|
+
*/
|
488
|
+
this.config = CKEDITOR.tools.prototypedCopy( CKEDITOR.config );
|
489
|
+
|
490
|
+
/**
|
491
|
+
* The namespace containing UI features related to this editor instance.
|
492
|
+
* @name CKEDITOR.editor.prototype.ui
|
493
|
+
* @type CKEDITOR.ui
|
494
|
+
* @example
|
495
|
+
*/
|
496
|
+
this.ui = new CKEDITOR.ui( this );
|
497
|
+
|
498
|
+
/**
|
499
|
+
* Controls the focus state of this editor instance. This property
|
500
|
+
* is rarely used for normal API operations. It is mainly
|
501
|
+
* intended for developers adding UI elements to the editor interface.
|
502
|
+
* @name CKEDITOR.editor.prototype.focusManager
|
503
|
+
* @type CKEDITOR.focusManager
|
504
|
+
* @example
|
505
|
+
*/
|
506
|
+
this.focusManager = new CKEDITOR.focusManager( this );
|
507
|
+
|
508
|
+
CKEDITOR.fire( 'instanceCreated', null, this );
|
509
|
+
|
510
|
+
this.on( 'mode', updateCommands, null, null, 1 );
|
511
|
+
this.on( 'readOnly', updateCommands, null, null, 1 );
|
512
|
+
|
513
|
+
initConfig( this, instanceConfig );
|
514
|
+
};
|
515
|
+
})();
|
516
|
+
|
517
|
+
CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
|
518
|
+
/** @lends CKEDITOR.editor.prototype */
|
519
|
+
{
|
520
|
+
/**
|
521
|
+
* Adds a command definition to the editor instance. Commands added with
|
522
|
+
* this function can be executed later with the <code>{@link #execCommand}</code> method.
|
523
|
+
* @param {String} commandName The indentifier name of the command.
|
524
|
+
* @param {CKEDITOR.commandDefinition} commandDefinition The command definition.
|
525
|
+
* @example
|
526
|
+
* editorInstance.addCommand( 'sample',
|
527
|
+
* {
|
528
|
+
* exec : function( editor )
|
529
|
+
* {
|
530
|
+
* alert( 'Executing a command for the editor name "' + editor.name + '"!' );
|
531
|
+
* }
|
532
|
+
* });
|
533
|
+
*/
|
534
|
+
addCommand : function( commandName, commandDefinition )
|
535
|
+
{
|
536
|
+
return this._.commands[ commandName ] = new CKEDITOR.command( this, commandDefinition );
|
537
|
+
},
|
538
|
+
|
539
|
+
/**
|
540
|
+
* Adds a piece of CSS code to the editor which will be applied to the WYSIWYG editing document.
|
541
|
+
* This CSS would not be added to the output, and is there mainly for editor-specific editing requirements.
|
542
|
+
* Note: This function should be called before the editor is loaded to take effect.
|
543
|
+
* @param css {String} CSS text.
|
544
|
+
* @example
|
545
|
+
* editorInstance.addCss( 'body { background-color: grey; }' );
|
546
|
+
*/
|
547
|
+
addCss : function( css )
|
548
|
+
{
|
549
|
+
this._.styles.push( css );
|
550
|
+
},
|
551
|
+
|
552
|
+
/**
|
553
|
+
* Destroys the editor instance, releasing all resources used by it.
|
554
|
+
* If the editor replaced an element, the element will be recovered.
|
555
|
+
* @param {Boolean} [noUpdate] If the instance is replacing a DOM
|
556
|
+
* element, this parameter indicates whether or not to update the
|
557
|
+
* element with the instance contents.
|
558
|
+
* @example
|
559
|
+
* alert( CKEDITOR.instances.editor1 ); // E.g "object"
|
560
|
+
* <strong>CKEDITOR.instances.editor1.destroy()</strong>;
|
561
|
+
* alert( CKEDITOR.instances.editor1 ); // "undefined"
|
562
|
+
*/
|
563
|
+
destroy : function( noUpdate )
|
564
|
+
{
|
565
|
+
if ( !noUpdate )
|
566
|
+
this.updateElement();
|
567
|
+
|
568
|
+
this.fire( 'destroy' );
|
569
|
+
this.theme && this.theme.destroy( this );
|
570
|
+
|
571
|
+
CKEDITOR.remove( this );
|
572
|
+
CKEDITOR.fire( 'instanceDestroyed', null, this );
|
573
|
+
},
|
574
|
+
|
575
|
+
/**
|
576
|
+
* Executes a command associated with the editor.
|
577
|
+
* @param {String} commandName The indentifier name of the command.
|
578
|
+
* @param {Object} [data] Data to be passed to the command.
|
579
|
+
* @returns {Boolean} <code>true</code> if the command was executed
|
580
|
+
* successfully, otherwise <code>false</code>.
|
581
|
+
* @see CKEDITOR.editor.addCommand
|
582
|
+
* @example
|
583
|
+
* editorInstance.execCommand( 'bold' );
|
584
|
+
*/
|
585
|
+
execCommand : function( commandName, data )
|
586
|
+
{
|
587
|
+
var command = this.getCommand( commandName );
|
588
|
+
|
589
|
+
var eventData =
|
590
|
+
{
|
591
|
+
name: commandName,
|
592
|
+
commandData: data,
|
593
|
+
command: command
|
594
|
+
};
|
595
|
+
|
596
|
+
if ( command && command.state != CKEDITOR.TRISTATE_DISABLED )
|
597
|
+
{
|
598
|
+
if ( this.fire( 'beforeCommandExec', eventData ) !== true )
|
599
|
+
{
|
600
|
+
eventData.returnValue = command.exec( eventData.commandData );
|
601
|
+
|
602
|
+
// Fire the 'afterCommandExec' immediately if command is synchronous.
|
603
|
+
if ( !command.async && this.fire( 'afterCommandExec', eventData ) !== true )
|
604
|
+
return eventData.returnValue;
|
605
|
+
}
|
606
|
+
}
|
607
|
+
|
608
|
+
// throw 'Unknown command name "' + commandName + '"';
|
609
|
+
return false;
|
610
|
+
},
|
611
|
+
|
612
|
+
/**
|
613
|
+
* Gets one of the registered commands. Note that after registering a
|
614
|
+
* command definition with <code>{@link #addCommand}</code>, it is
|
615
|
+
* transformed internally into an instance of
|
616
|
+
* <code>{@link CKEDITOR.command}</code>, which will then be returned
|
617
|
+
* by this function.
|
618
|
+
* @param {String} commandName The name of the command to be returned.
|
619
|
+
* This is the same name that is used to register the command with
|
620
|
+
* <code>addCommand</code>.
|
621
|
+
* @returns {CKEDITOR.command} The command object identified by the
|
622
|
+
* provided name.
|
623
|
+
*/
|
624
|
+
getCommand : function( commandName )
|
625
|
+
{
|
626
|
+
return this._.commands[ commandName ];
|
627
|
+
},
|
628
|
+
|
629
|
+
/**
|
630
|
+
* Gets the editor data. The data will be in raw format. It is the same
|
631
|
+
* data that is posted by the editor.
|
632
|
+
* @type String
|
633
|
+
* @returns (String) The editor data.
|
634
|
+
* @example
|
635
|
+
* if ( CKEDITOR.instances.editor1.<strong>getData()</strong> == '' )
|
636
|
+
* alert( 'There is no data available' );
|
637
|
+
*/
|
638
|
+
getData : function()
|
639
|
+
{
|
640
|
+
this.fire( 'beforeGetData' );
|
641
|
+
|
642
|
+
var eventData = this._.data;
|
643
|
+
|
644
|
+
if ( typeof eventData != 'string' )
|
645
|
+
{
|
646
|
+
var element = this.element;
|
647
|
+
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
648
|
+
eventData = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
|
649
|
+
else
|
650
|
+
eventData = '';
|
651
|
+
}
|
652
|
+
|
653
|
+
eventData = { dataValue : eventData };
|
654
|
+
|
655
|
+
// Fire "getData" so data manipulation may happen.
|
656
|
+
this.fire( 'getData', eventData );
|
657
|
+
|
658
|
+
return eventData.dataValue;
|
659
|
+
},
|
660
|
+
|
661
|
+
/**
|
662
|
+
* Gets the "raw data" currently available in the editor. This is a
|
663
|
+
* fast method which returns the data as is, without processing, so it is
|
664
|
+
* not recommended to use it on resulting pages. Instead it can be used
|
665
|
+
* combined with the <code>{@link #loadSnapshot}</code> method in order
|
666
|
+
* to be able to automatically save the editor data from time to time
|
667
|
+
* while the user is using the editor, to avoid data loss, without risking
|
668
|
+
* performance issues.
|
669
|
+
* @see CKEDITOR.editor.getData
|
670
|
+
* @example
|
671
|
+
* alert( editor.getSnapshot() );
|
672
|
+
*/
|
673
|
+
getSnapshot : function()
|
674
|
+
{
|
675
|
+
var data = this.fire( 'getSnapshot' );
|
676
|
+
|
677
|
+
if ( typeof data != 'string' )
|
678
|
+
{
|
679
|
+
var element = this.element;
|
680
|
+
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
681
|
+
data = element.is( 'textarea' ) ? element.getValue() : element.getHtml();
|
682
|
+
}
|
683
|
+
|
684
|
+
return data;
|
685
|
+
},
|
686
|
+
|
687
|
+
/**
|
688
|
+
* Loads "raw data" into the editor. The data is loaded with processing
|
689
|
+
* straight to the editing area. It should not be used as a way to load
|
690
|
+
* any kind of data, but instead in combination with
|
691
|
+
* <code>{@link #getSnapshot}</code> produced data.
|
692
|
+
* @see CKEDITOR.editor.setData
|
693
|
+
* @example
|
694
|
+
* var data = editor.getSnapshot();
|
695
|
+
* editor.<strong>loadSnapshot( data )</strong>;
|
696
|
+
*/
|
697
|
+
loadSnapshot : function( snapshot )
|
698
|
+
{
|
699
|
+
this.fire( 'loadSnapshot', snapshot );
|
700
|
+
},
|
701
|
+
|
702
|
+
/**
|
703
|
+
* Sets the editor data. The data must be provided in the raw format (HTML).<br />
|
704
|
+
* <br />
|
705
|
+
* Note that this method is asynchronous. The <code>callback</code> parameter must
|
706
|
+
* be used if interaction with the editor is needed after setting the data.
|
707
|
+
* @param {String} data HTML code to replace the curent content in the
|
708
|
+
* editor.
|
709
|
+
* @param {Function} callback Function to be called after the <code>setData</code>
|
710
|
+
* is completed.
|
711
|
+
*@param {Boolean} internal Whether to suppress any event firing when copying data
|
712
|
+
* internally inside the editor.
|
713
|
+
* @example
|
714
|
+
* CKEDITOR.instances.editor1.<strong>setData</strong>( '<p>This is the editor data.</p>' );
|
715
|
+
* @example
|
716
|
+
* CKEDITOR.instances.editor1.<strong>setData</strong>( '<p>Some other editor data.</p>', function()
|
717
|
+
* {
|
718
|
+
* this.checkDirty(); // true
|
719
|
+
* });
|
720
|
+
*/
|
721
|
+
setData : function( data , callback, internal )
|
722
|
+
{
|
723
|
+
if( callback )
|
724
|
+
{
|
725
|
+
this.on( 'dataReady', function( evt )
|
726
|
+
{
|
727
|
+
evt.removeListener();
|
728
|
+
callback.call( evt.editor );
|
729
|
+
} );
|
730
|
+
}
|
731
|
+
|
732
|
+
// Fire "setData" so data manipulation may happen.
|
733
|
+
var eventData = { dataValue : data };
|
734
|
+
!internal && this.fire( 'setData', eventData );
|
735
|
+
|
736
|
+
this._.data = eventData.dataValue;
|
737
|
+
|
738
|
+
!internal && this.fire( 'afterSetData', eventData );
|
739
|
+
},
|
740
|
+
|
741
|
+
/**
|
742
|
+
* Puts or restores the editor into read-only state. When in read-only,
|
743
|
+
* the user is not able to change the editor contents, but can still use
|
744
|
+
* some editor features. This function sets the <code>{@link CKEDITOR.config.readOnly}</code>
|
745
|
+
* property of the editor, firing the <code>{@link CKEDITOR.editor#readOnly}</code> event.<br><br>
|
746
|
+
* <strong>Note:</strong> the current editing area will be reloaded.
|
747
|
+
* @param {Boolean} [isReadOnly] Indicates that the editor must go
|
748
|
+
* read-only (<code>true</code>, default) or be restored and made editable
|
749
|
+
* (<code>false</code>).
|
750
|
+
* @since 3.6
|
751
|
+
*/
|
752
|
+
setReadOnly : function( isReadOnly )
|
753
|
+
{
|
754
|
+
isReadOnly = ( isReadOnly == undefined ) || isReadOnly;
|
755
|
+
|
756
|
+
if ( this.readOnly != isReadOnly )
|
757
|
+
{
|
758
|
+
this.readOnly = isReadOnly;
|
759
|
+
|
760
|
+
// Fire the readOnly event so the editor features can update
|
761
|
+
// their state accordingly.
|
762
|
+
this.fire( 'readOnly' );
|
763
|
+
}
|
764
|
+
},
|
765
|
+
|
766
|
+
/**
|
767
|
+
* Inserts HTML code into the currently selected position in the editor in WYSIWYG mode.
|
768
|
+
* @param {String} data HTML code to be inserted into the editor.
|
769
|
+
* @example
|
770
|
+
* CKEDITOR.instances.editor1.<strong>insertHtml( '<p>This is a new paragraph.</p>' )</strong>;
|
771
|
+
*/
|
772
|
+
insertHtml : function( data )
|
773
|
+
{
|
774
|
+
this.fire( 'insertHtml', data );
|
775
|
+
},
|
776
|
+
|
777
|
+
/**
|
778
|
+
* Insert text content into the currently selected position in the
|
779
|
+
* editor in WYSIWYG mode. The styles of the selected element will be applied to the inserted text.
|
780
|
+
* Spaces around the text will be leaving untouched.
|
781
|
+
* <strong>Note:</strong> two subsequent line-breaks will introduce one paragraph. This depends on <code>{@link CKEDITOR.config.enterMode}</code>;
|
782
|
+
* A single line-break will be instead translated into one <br />.
|
783
|
+
* @since 3.5
|
784
|
+
* @param {String} text Text to be inserted into the editor.
|
785
|
+
* @example
|
786
|
+
* CKEDITOR.instances.editor1.<strong>insertText( ' line1 \n\n line2' )</strong>;
|
787
|
+
*/
|
788
|
+
insertText : function( text )
|
789
|
+
{
|
790
|
+
text = text.replace(/\n\s*/g, '\n\n');
|
791
|
+
this.fire( 'insertText', text );
|
792
|
+
},
|
793
|
+
|
794
|
+
/**
|
795
|
+
* Inserts an element into the currently selected position in the
|
796
|
+
* editor in WYSIWYG mode.
|
797
|
+
* @param {CKEDITOR.dom.element} element The element to be inserted
|
798
|
+
* into the editor.
|
799
|
+
* @example
|
800
|
+
* var element = CKEDITOR.dom.element.createFromHtml( '<img src="hello.png" border="0" title="Hello" />' );
|
801
|
+
* CKEDITOR.instances.editor1.<strong>insertElement( element )</strong>;
|
802
|
+
*/
|
803
|
+
insertElement : function( element )
|
804
|
+
{
|
805
|
+
this.fire( 'insertElement', element );
|
806
|
+
},
|
807
|
+
|
808
|
+
/**
|
809
|
+
* Checks whether the current editor contents contain changes when
|
810
|
+
* compared to the contents loaded into the editor at startup, or to
|
811
|
+
* the contents available in the editor when <code>{@link #resetDirty}</code>
|
812
|
+
* was called.
|
813
|
+
* @returns {Boolean} "true" is the contents contain changes.
|
814
|
+
* @example
|
815
|
+
* function beforeUnload( e )
|
816
|
+
* {
|
817
|
+
* if ( CKEDITOR.instances.editor1.<strong>checkDirty()</strong> )
|
818
|
+
* return e.returnValue = "You will lose the changes made in the editor.";
|
819
|
+
* }
|
820
|
+
*
|
821
|
+
* if ( window.addEventListener )
|
822
|
+
* window.addEventListener( 'beforeunload', beforeUnload, false );
|
823
|
+
* else
|
824
|
+
* window.attachEvent( 'onbeforeunload', beforeUnload );
|
825
|
+
*/
|
826
|
+
checkDirty : function()
|
827
|
+
{
|
828
|
+
return ( this.mayBeDirty && this._.previousValue !== this.getSnapshot() );
|
829
|
+
},
|
830
|
+
|
831
|
+
/**
|
832
|
+
* Resets the "dirty state" of the editor so subsequent calls to
|
833
|
+
* <code>{@link #checkDirty}</code> will return <code>false</code> if the user will not
|
834
|
+
* have made further changes to the contents.
|
835
|
+
* @example
|
836
|
+
* alert( editor.checkDirty() ); // E.g. "true"
|
837
|
+
* editor.<strong>resetDirty()</strong>;
|
838
|
+
* alert( editor.checkDirty() ); // "false"
|
839
|
+
*/
|
840
|
+
resetDirty : function()
|
841
|
+
{
|
842
|
+
if ( this.mayBeDirty )
|
843
|
+
this._.previousValue = this.getSnapshot();
|
844
|
+
},
|
845
|
+
|
846
|
+
/**
|
847
|
+
* Updates the <code><textarea></code> element that was replaced by the editor with
|
848
|
+
* the current data available in the editor.
|
849
|
+
* @see CKEDITOR.editor.element
|
850
|
+
* @example
|
851
|
+
* CKEDITOR.instances.editor1.updateElement();
|
852
|
+
* alert( document.getElementById( 'editor1' ).value ); // The current editor data.
|
853
|
+
*/
|
854
|
+
updateElement : function()
|
855
|
+
{
|
856
|
+
var element = this.element;
|
857
|
+
if ( element && this.elementMode == CKEDITOR.ELEMENT_MODE_REPLACE )
|
858
|
+
{
|
859
|
+
var data = this.getData();
|
860
|
+
|
861
|
+
if ( this.config.htmlEncodeOutput )
|
862
|
+
data = CKEDITOR.tools.htmlEncode( data );
|
863
|
+
|
864
|
+
if ( element.is( 'textarea' ) )
|
865
|
+
element.setValue( data );
|
866
|
+
else
|
867
|
+
element.setHtml( data );
|
868
|
+
}
|
869
|
+
}
|
870
|
+
});
|
871
|
+
|
872
|
+
CKEDITOR.on( 'loaded', function()
|
873
|
+
{
|
874
|
+
// Run the full initialization for pending editors.
|
875
|
+
var pending = CKEDITOR.editor._pending;
|
876
|
+
if ( pending )
|
877
|
+
{
|
878
|
+
delete CKEDITOR.editor._pending;
|
879
|
+
|
880
|
+
for ( var i = 0 ; i < pending.length ; i++ )
|
881
|
+
pending[ i ]._init();
|
882
|
+
}
|
883
|
+
});
|
884
|
+
|
885
|
+
/**
|
886
|
+
* Whether to escape HTML when the editor updates the original input element.
|
887
|
+
* @name CKEDITOR.config.htmlEncodeOutput
|
888
|
+
* @since 3.1
|
889
|
+
* @type Boolean
|
890
|
+
* @default false
|
891
|
+
* @example
|
892
|
+
* config.htmlEncodeOutput = true;
|
893
|
+
*/
|
894
|
+
|
895
|
+
/**
|
896
|
+
* If <code>true</code>, makes the editor start in read-only state. Otherwise, it will check
|
897
|
+
* if the linked <code><textarea></code> element has the <code>disabled</code> attribute.
|
898
|
+
* @name CKEDITOR.config.readOnly
|
899
|
+
* @see CKEDITOR.editor#setReadOnly
|
900
|
+
* @type Boolean
|
901
|
+
* @default false
|
902
|
+
* @since 3.6
|
903
|
+
* @example
|
904
|
+
* config.readOnly = true;
|
905
|
+
*/
|
906
|
+
|
907
|
+
/**
|
908
|
+
* Fired when a CKEDITOR instance is created, but still before initializing it.
|
909
|
+
* To interact with a fully initialized instance, use the
|
910
|
+
* <code>{@link CKEDITOR#instanceReady}</code> event instead.
|
911
|
+
* @name CKEDITOR#instanceCreated
|
912
|
+
* @event
|
913
|
+
* @param {CKEDITOR.editor} editor The editor instance that has been created.
|
914
|
+
*/
|
915
|
+
|
916
|
+
/**
|
917
|
+
* Fired when a CKEDITOR instance is destroyed.
|
918
|
+
* @name CKEDITOR#instanceDestroyed
|
919
|
+
* @event
|
920
|
+
* @param {CKEDITOR.editor} editor The editor instance that has been destroyed.
|
921
|
+
*/
|
922
|
+
|
923
|
+
/**
|
924
|
+
* Fired when the language is loaded into the editor instance.
|
925
|
+
* @name CKEDITOR.editor#langLoaded
|
926
|
+
* @event
|
927
|
+
* @since 3.6.1
|
928
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
929
|
+
*/
|
930
|
+
|
931
|
+
/**
|
932
|
+
* Fired when all plugins are loaded and initialized into the editor instance.
|
933
|
+
* @name CKEDITOR.editor#pluginsLoaded
|
934
|
+
* @event
|
935
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
936
|
+
*/
|
937
|
+
|
938
|
+
/**
|
939
|
+
* Fired before the command execution when <code>{@link #execCommand}</code> is called.
|
940
|
+
* @name CKEDITOR.editor#beforeCommandExec
|
941
|
+
* @event
|
942
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
943
|
+
* @param {String} data.name The command name.
|
944
|
+
* @param {Object} data.commandData The data to be sent to the command. This
|
945
|
+
* can be manipulated by the event listener.
|
946
|
+
* @param {CKEDITOR.command} data.command The command itself.
|
947
|
+
*/
|
948
|
+
|
949
|
+
/**
|
950
|
+
* Fired after the command execution when <code>{@link #execCommand}</code> is called.
|
951
|
+
* @name CKEDITOR.editor#afterCommandExec
|
952
|
+
* @event
|
953
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
954
|
+
* @param {String} data.name The command name.
|
955
|
+
* @param {Object} data.commandData The data sent to the command.
|
956
|
+
* @param {CKEDITOR.command} data.command The command itself.
|
957
|
+
* @param {Object} data.returnValue The value returned by the command execution.
|
958
|
+
*/
|
959
|
+
|
960
|
+
/**
|
961
|
+
* Fired when the custom configuration file is loaded, before the final
|
962
|
+
* configurations initialization.<br />
|
963
|
+
* <br />
|
964
|
+
* Custom configuration files can be loaded thorugh the
|
965
|
+
* <code>{@link CKEDITOR.config.customConfig}</code> setting. Several files can be loaded
|
966
|
+
* by changing this setting.
|
967
|
+
* @name CKEDITOR.editor#customConfigLoaded
|
968
|
+
* @event
|
969
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
970
|
+
*/
|
971
|
+
|
972
|
+
/**
|
973
|
+
* Fired once the editor configuration is ready (loaded and processed).
|
974
|
+
* @name CKEDITOR.editor#configLoaded
|
975
|
+
* @event
|
976
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
977
|
+
*/
|
978
|
+
|
979
|
+
/**
|
980
|
+
* Fired when this editor instance is destroyed. The editor at this
|
981
|
+
* point is not usable and this event should be used to perform the clean-up
|
982
|
+
* in any plugin.
|
983
|
+
* @name CKEDITOR.editor#destroy
|
984
|
+
* @event
|
985
|
+
*/
|
986
|
+
|
987
|
+
/**
|
988
|
+
* Internal event to get the current data.
|
989
|
+
* @name CKEDITOR.editor#beforeGetData
|
990
|
+
* @event
|
991
|
+
*/
|
992
|
+
|
993
|
+
/**
|
994
|
+
* Internal event to perform the <code>#getSnapshot</code> call.
|
995
|
+
* @name CKEDITOR.editor#getSnapshot
|
996
|
+
* @event
|
997
|
+
*/
|
998
|
+
|
999
|
+
/**
|
1000
|
+
* Internal event to perform the <code>#loadSnapshot</code> call.
|
1001
|
+
* @name CKEDITOR.editor#loadSnapshot
|
1002
|
+
* @event
|
1003
|
+
*/
|
1004
|
+
|
1005
|
+
/**
|
1006
|
+
* Event fired before the <code>#getData</code> call returns allowing additional manipulation.
|
1007
|
+
* @name CKEDITOR.editor#getData
|
1008
|
+
* @event
|
1009
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1010
|
+
* @param {String} data.dataValue The data that will be returned.
|
1011
|
+
*/
|
1012
|
+
|
1013
|
+
/**
|
1014
|
+
* Event fired before the <code>#setData</code> call is executed allowing additional manipulation.
|
1015
|
+
* @name CKEDITOR.editor#setData
|
1016
|
+
* @event
|
1017
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1018
|
+
* @param {String} data.dataValue The data that will be used.
|
1019
|
+
*/
|
1020
|
+
|
1021
|
+
/**
|
1022
|
+
* Event fired at the end of the <code>#setData</code> call execution. Usually it is better to use the
|
1023
|
+
* <code>{@link CKEDITOR.editor.prototype.dataReady}</code> event.
|
1024
|
+
* @name CKEDITOR.editor#afterSetData
|
1025
|
+
* @event
|
1026
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1027
|
+
* @param {String} data.dataValue The data that has been set.
|
1028
|
+
*/
|
1029
|
+
|
1030
|
+
/**
|
1031
|
+
* Internal event to perform the <code>#insertHtml</code> call
|
1032
|
+
* @name CKEDITOR.editor#insertHtml
|
1033
|
+
* @event
|
1034
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1035
|
+
* @param {String} data The HTML to insert.
|
1036
|
+
*/
|
1037
|
+
|
1038
|
+
/**
|
1039
|
+
* Internal event to perform the <code>#insertText</code> call
|
1040
|
+
* @name CKEDITOR.editor#insertText
|
1041
|
+
* @event
|
1042
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1043
|
+
* @param {String} text The text to insert.
|
1044
|
+
*/
|
1045
|
+
|
1046
|
+
/**
|
1047
|
+
* Internal event to perform the <code>#insertElement</code> call
|
1048
|
+
* @name CKEDITOR.editor#insertElement
|
1049
|
+
* @event
|
1050
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1051
|
+
* @param {Object} element The element to insert.
|
1052
|
+
*/
|
1053
|
+
|
1054
|
+
/**
|
1055
|
+
* Event fired after the <code>{@link CKEDITOR.editor#readOnly}</code> property changes.
|
1056
|
+
* @name CKEDITOR.editor#readOnly
|
1057
|
+
* @event
|
1058
|
+
* @since 3.6
|
1059
|
+
* @param {CKEDITOR.editor} editor This editor instance.
|
1060
|
+
*/
|