bcms_content_syncing 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +13 -0
- data/COPYRIGHT.txt +23 -0
- data/GPL.txt +674 -0
- data/LICENSE.txt +165 -0
- data/README +60 -0
- data/Rakefile +34 -0
- data/VERSION +1 -0
- data/app/controllers/application_controller.rb +10 -0
- data/app/helpers/application_helper.rb +3 -0
- data/bcms_content_syncing.gemspec +710 -0
- data/config/boot.rb +110 -0
- data/config/database.yml +22 -0
- data/config/environment.rb +42 -0
- data/config/environments/development.rb +18 -0
- data/config/environments/production.rb +31 -0
- data/config/environments/test.rb +29 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/init_module.rb +1 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/new_rails_defaults.rb +21 -0
- data/config/initializers/session_store.rb +15 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +45 -0
- data/db/seeds.rb +7 -0
- data/doc/README_FOR_APP +2 -0
- data/lib/bcms_content_syncing/cap_tasks.rb +35 -0
- data/lib/bcms_content_syncing/database.rb +74 -0
- data/lib/bcms_content_syncing/rake_tasks.rb +10 -0
- data/lib/bcms_content_syncing/routes.rb +7 -0
- data/lib/bcms_content_syncing.rb +2 -0
- data/lib/tasks/backup.rake +17 -0
- data/public/404.html +30 -0
- data/public/422.html +30 -0
- data/public/500.html +30 -0
- data/public/bcms/ckeditor/ckeditor.js +108 -0
- data/public/bcms/ckeditor/config.js +18 -0
- data/public/bcms/ckeditor/core/_bootstrap.js +64 -0
- data/public/bcms/ckeditor/core/ajax.js +143 -0
- data/public/bcms/ckeditor/core/ckeditor.js +96 -0
- data/public/bcms/ckeditor/core/ckeditor_base.js +190 -0
- data/public/bcms/ckeditor/core/ckeditor_basic.js +241 -0
- data/public/bcms/ckeditor/core/command.js +70 -0
- data/public/bcms/ckeditor/core/commanddefinition.js +72 -0
- data/public/bcms/ckeditor/core/config.js +287 -0
- data/public/bcms/ckeditor/core/dom/document.js +210 -0
- data/public/bcms/ckeditor/core/dom/documentfragment.js +49 -0
- data/public/bcms/ckeditor/core/dom/domobject.js +204 -0
- data/public/bcms/ckeditor/core/dom/element.js +1384 -0
- data/public/bcms/ckeditor/core/dom/elementpath.js +104 -0
- data/public/bcms/ckeditor/core/dom/event.js +137 -0
- data/public/bcms/ckeditor/core/dom/node.js +649 -0
- data/public/bcms/ckeditor/core/dom/nodelist.js +23 -0
- data/public/bcms/ckeditor/core/dom/range.js +1668 -0
- data/public/bcms/ckeditor/core/dom/text.js +123 -0
- data/public/bcms/ckeditor/core/dom/walker.js +411 -0
- data/public/bcms/ckeditor/core/dom/window.js +96 -0
- data/public/bcms/ckeditor/core/dom.js +21 -0
- data/public/bcms/ckeditor/core/dtd.js +200 -0
- data/public/bcms/ckeditor/core/editor.js +650 -0
- data/public/bcms/ckeditor/core/editor_basic.js +178 -0
- data/public/bcms/ckeditor/core/env.js +219 -0
- data/public/bcms/ckeditor/core/event.js +335 -0
- data/public/bcms/ckeditor/core/eventInfo.js +120 -0
- data/public/bcms/ckeditor/core/focusmanager.js +123 -0
- data/public/bcms/ckeditor/core/htmlparser/basicwriter.js +140 -0
- data/public/bcms/ckeditor/core/htmlparser/cdata.js +44 -0
- data/public/bcms/ckeditor/core/htmlparser/comment.js +59 -0
- data/public/bcms/ckeditor/core/htmlparser/element.js +196 -0
- data/public/bcms/ckeditor/core/htmlparser/filter.js +233 -0
- data/public/bcms/ckeditor/core/htmlparser/fragment.js +434 -0
- data/public/bcms/ckeditor/core/htmlparser/text.js +55 -0
- data/public/bcms/ckeditor/core/htmlparser.js +212 -0
- data/public/bcms/ckeditor/core/imagecacher.js +58 -0
- data/public/bcms/ckeditor/core/lang.js +147 -0
- data/public/bcms/ckeditor/core/loader.js +238 -0
- data/public/bcms/ckeditor/core/plugindefinition.js +66 -0
- data/public/bcms/ckeditor/core/plugins.js +82 -0
- data/public/bcms/ckeditor/core/resourcemanager.js +233 -0
- data/public/bcms/ckeditor/core/scriptloader.js +194 -0
- data/public/bcms/ckeditor/core/skins.js +185 -0
- data/public/bcms/ckeditor/core/test.js +184 -0
- data/public/bcms/ckeditor/core/themes.js +18 -0
- data/public/bcms/ckeditor/core/tools.js +531 -0
- data/public/bcms/ckeditor/core/ui.js +106 -0
- data/public/bcms/ckeditor/core/xml.js +165 -0
- data/public/bcms/ckeditor/editor.js +51 -0
- data/public/bcms/ckeditor/lang/_languages.js +82 -0
- data/public/bcms/ckeditor/lang/_translationstatus.txt +59 -0
- data/public/bcms/ckeditor/lang/af.js +674 -0
- data/public/bcms/ckeditor/lang/ar.js +674 -0
- data/public/bcms/ckeditor/lang/bg.js +674 -0
- data/public/bcms/ckeditor/lang/bn.js +674 -0
- data/public/bcms/ckeditor/lang/bs.js +674 -0
- data/public/bcms/ckeditor/lang/ca.js +674 -0
- data/public/bcms/ckeditor/lang/cs.js +674 -0
- data/public/bcms/ckeditor/lang/da.js +674 -0
- data/public/bcms/ckeditor/lang/de.js +674 -0
- data/public/bcms/ckeditor/lang/el.js +674 -0
- data/public/bcms/ckeditor/lang/en-au.js +674 -0
- data/public/bcms/ckeditor/lang/en-ca.js +674 -0
- data/public/bcms/ckeditor/lang/en-uk.js +674 -0
- data/public/bcms/ckeditor/lang/en.js +674 -0
- data/public/bcms/ckeditor/lang/eo.js +674 -0
- data/public/bcms/ckeditor/lang/es.js +674 -0
- data/public/bcms/ckeditor/lang/et.js +674 -0
- data/public/bcms/ckeditor/lang/eu.js +674 -0
- data/public/bcms/ckeditor/lang/fa.js +674 -0
- data/public/bcms/ckeditor/lang/fi.js +674 -0
- data/public/bcms/ckeditor/lang/fo.js +674 -0
- data/public/bcms/ckeditor/lang/fr-ca.js +674 -0
- data/public/bcms/ckeditor/lang/fr.js +674 -0
- data/public/bcms/ckeditor/lang/gl.js +674 -0
- data/public/bcms/ckeditor/lang/gu.js +674 -0
- data/public/bcms/ckeditor/lang/he.js +674 -0
- data/public/bcms/ckeditor/lang/hi.js +674 -0
- data/public/bcms/ckeditor/lang/hr.js +674 -0
- data/public/bcms/ckeditor/lang/hu.js +674 -0
- data/public/bcms/ckeditor/lang/is.js +674 -0
- data/public/bcms/ckeditor/lang/it.js +674 -0
- data/public/bcms/ckeditor/lang/ja.js +674 -0
- data/public/bcms/ckeditor/lang/km.js +674 -0
- data/public/bcms/ckeditor/lang/ko.js +674 -0
- data/public/bcms/ckeditor/lang/lt.js +674 -0
- data/public/bcms/ckeditor/lang/lv.js +674 -0
- data/public/bcms/ckeditor/lang/mn.js +674 -0
- data/public/bcms/ckeditor/lang/ms.js +674 -0
- data/public/bcms/ckeditor/lang/nb.js +674 -0
- data/public/bcms/ckeditor/lang/nl.js +674 -0
- data/public/bcms/ckeditor/lang/no.js +674 -0
- data/public/bcms/ckeditor/lang/pl.js +674 -0
- data/public/bcms/ckeditor/lang/pt-br.js +674 -0
- data/public/bcms/ckeditor/lang/pt.js +674 -0
- data/public/bcms/ckeditor/lang/ro.js +674 -0
- data/public/bcms/ckeditor/lang/ru.js +674 -0
- data/public/bcms/ckeditor/lang/sk.js +674 -0
- data/public/bcms/ckeditor/lang/sl.js +674 -0
- data/public/bcms/ckeditor/lang/sr-latn.js +674 -0
- data/public/bcms/ckeditor/lang/sr.js +674 -0
- data/public/bcms/ckeditor/lang/sv.js +674 -0
- data/public/bcms/ckeditor/lang/th.js +674 -0
- data/public/bcms/ckeditor/lang/tr.js +674 -0
- data/public/bcms/ckeditor/lang/uk.js +674 -0
- data/public/bcms/ckeditor/lang/vi.js +674 -0
- data/public/bcms/ckeditor/lang/zh-cn.js +674 -0
- data/public/bcms/ckeditor/lang/zh.js +674 -0
- data/public/bcms/ckeditor/plugins/about/dialogs/about.js +73 -0
- data/public/bcms/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/public/bcms/ckeditor/plugins/about/plugin.js +22 -0
- data/public/bcms/ckeditor/plugins/basicstyles/plugin.js +50 -0
- data/public/bcms/ckeditor/plugins/blockquote/plugin.js +301 -0
- data/public/bcms/ckeditor/plugins/button/plugin.js +264 -0
- data/public/bcms/ckeditor/plugins/clipboard/dialogs/paste.js +167 -0
- data/public/bcms/ckeditor/plugins/clipboard/plugin.js +208 -0
- data/public/bcms/ckeditor/plugins/colorbutton/plugin.js +202 -0
- data/public/bcms/ckeditor/plugins/contextmenu/plugin.js +178 -0
- data/public/bcms/ckeditor/plugins/dialog/dialogDefinition.js +315 -0
- data/public/bcms/ckeditor/plugins/dialog/plugin.js +2742 -0
- data/public/bcms/ckeditor/plugins/dialogui/plugin.js +1319 -0
- data/public/bcms/ckeditor/plugins/domiterator/plugin.js +354 -0
- data/public/bcms/ckeditor/plugins/editingblock/plugin.js +236 -0
- data/public/bcms/ckeditor/plugins/elementspath/plugin.js +182 -0
- data/public/bcms/ckeditor/plugins/enterkey/plugin.js +324 -0
- data/public/bcms/ckeditor/plugins/entities/plugin.js +200 -0
- data/public/bcms/ckeditor/plugins/fakeobjects/plugin.js +111 -0
- data/public/bcms/ckeditor/plugins/filebrowser/plugin.js +383 -0
- data/public/bcms/ckeditor/plugins/find/dialogs/find.js +843 -0
- data/public/bcms/ckeditor/plugins/find/plugin.js +46 -0
- data/public/bcms/ckeditor/plugins/flash/dialogs/flash.js +682 -0
- data/public/bcms/ckeditor/plugins/flash/images/placeholder.png +0 -0
- data/public/bcms/ckeditor/plugins/flash/plugin.js +165 -0
- data/public/bcms/ckeditor/plugins/floatpanel/plugin.js +325 -0
- data/public/bcms/ckeditor/plugins/font/plugin.js +227 -0
- data/public/bcms/ckeditor/plugins/format/plugin.js +191 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/button.js +135 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/checkbox.js +138 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/form.js +177 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/hiddenfield.js +91 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/radio.js +135 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/select.js +541 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/textarea.js +114 -0
- data/public/bcms/ckeditor/plugins/forms/dialogs/textfield.js +193 -0
- data/public/bcms/ckeditor/plugins/forms/plugin.js +193 -0
- data/public/bcms/ckeditor/plugins/horizontalrule/plugin.js +35 -0
- data/public/bcms/ckeditor/plugins/htmldataprocessor/plugin.js +373 -0
- data/public/bcms/ckeditor/plugins/htmlwriter/plugin.js +289 -0
- data/public/bcms/ckeditor/plugins/iframedialog/plugin.js +136 -0
- data/public/bcms/ckeditor/plugins/image/dialogs/image.js +1225 -0
- data/public/bcms/ckeditor/plugins/image/plugin.js +64 -0
- data/public/bcms/ckeditor/plugins/indent/plugin.js +323 -0
- data/public/bcms/ckeditor/plugins/justify/plugin.js +164 -0
- data/public/bcms/ckeditor/plugins/keystrokes/plugin.js +217 -0
- data/public/bcms/ckeditor/plugins/link/dialogs/anchor.js +98 -0
- data/public/bcms/ckeditor/plugins/link/dialogs/link.js +1217 -0
- data/public/bcms/ckeditor/plugins/link/images/anchor.gif +0 -0
- data/public/bcms/ckeditor/plugins/link/plugin.js +188 -0
- data/public/bcms/ckeditor/plugins/list/plugin.js +570 -0
- data/public/bcms/ckeditor/plugins/listblock/plugin.js +231 -0
- data/public/bcms/ckeditor/plugins/maximize/plugin.js +267 -0
- data/public/bcms/ckeditor/plugins/menu/plugin.js +377 -0
- data/public/bcms/ckeditor/plugins/menubutton/plugin.js +93 -0
- data/public/bcms/ckeditor/plugins/newpage/plugin.js +65 -0
- data/public/bcms/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
- data/public/bcms/ckeditor/plugins/pagebreak/plugin.js +96 -0
- data/public/bcms/ckeditor/plugins/panel/plugin.js +330 -0
- data/public/bcms/ckeditor/plugins/panelbutton/plugin.js +140 -0
- data/public/bcms/ckeditor/plugins/pastefromword/dialogs/pastefromword.js +307 -0
- data/public/bcms/ckeditor/plugins/pastefromword/plugin.js +54 -0
- data/public/bcms/ckeditor/plugins/pastetext/dialogs/pastetext.js +65 -0
- data/public/bcms/ckeditor/plugins/pastetext/plugin.js +142 -0
- data/public/bcms/ckeditor/plugins/popup/plugin.js +62 -0
- data/public/bcms/ckeditor/plugins/preview/plugin.js +97 -0
- data/public/bcms/ckeditor/plugins/print/plugin.js +41 -0
- data/public/bcms/ckeditor/plugins/removeformat/plugin.js +132 -0
- data/public/bcms/ckeditor/plugins/resize/plugin.js +115 -0
- data/public/bcms/ckeditor/plugins/richcombo/plugin.js +357 -0
- data/public/bcms/ckeditor/plugins/save/plugin.js +55 -0
- data/public/bcms/ckeditor/plugins/scayt/dialogs/options.js +494 -0
- data/public/bcms/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
- data/public/bcms/ckeditor/plugins/scayt/plugin.js +511 -0
- data/public/bcms/ckeditor/plugins/selection/plugin.js +1072 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/public/bcms/ckeditor/plugins/showblocks/plugin.js +153 -0
- data/public/bcms/ckeditor/plugins/smiley/dialogs/smiley.js +219 -0
- data/public/bcms/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/envelope.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/heart.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/kiss.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
- data/public/bcms/ckeditor/plugins/smiley/plugin.js +74 -0
- data/public/bcms/ckeditor/plugins/sourcearea/plugin.js +185 -0
- data/public/bcms/ckeditor/plugins/specialchar/dialogs/specialchar.js +362 -0
- data/public/bcms/ckeditor/plugins/specialchar/plugin.js +29 -0
- data/public/bcms/ckeditor/plugins/styles/plugin.js +1242 -0
- data/public/bcms/ckeditor/plugins/stylescombo/plugin.js +295 -0
- data/public/bcms/ckeditor/plugins/stylescombo/styles/default.js +85 -0
- data/public/bcms/ckeditor/plugins/tab/plugin.js +266 -0
- data/public/bcms/ckeditor/plugins/table/dialogs/table.js +550 -0
- data/public/bcms/ckeditor/plugins/table/plugin.js +70 -0
- data/public/bcms/ckeditor/plugins/tabletools/dialogs/tableCell.js +328 -0
- data/public/bcms/ckeditor/plugins/tabletools/plugin.js +701 -0
- data/public/bcms/ckeditor/plugins/templates/dialogs/templates.js +170 -0
- data/public/bcms/ckeditor/plugins/templates/plugin.js +99 -0
- data/public/bcms/ckeditor/plugins/templates/templates/default.js +94 -0
- data/public/bcms/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/public/bcms/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/public/bcms/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/public/bcms/ckeditor/plugins/toolbar/plugin.js +412 -0
- data/public/bcms/ckeditor/plugins/uicolor/dialogs/uicolor.js +203 -0
- data/public/bcms/ckeditor/plugins/uicolor/lang/en.js +15 -0
- data/public/bcms/ckeditor/plugins/uicolor/plugin.js +35 -0
- data/public/bcms/ckeditor/plugins/uicolor/uicolor.gif +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/assets/yui.css +15 -0
- data/public/bcms/ckeditor/plugins/uicolor/yui/yui.js +71 -0
- data/public/bcms/ckeditor/plugins/undo/plugin.js +490 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.css +83 -0
- data/public/bcms/ckeditor/plugins/wsc/dialogs/wsc.js +169 -0
- data/public/bcms/ckeditor/plugins/wsc/plugin.js +32 -0
- data/public/bcms/ckeditor/plugins/wysiwygarea/plugin.js +636 -0
- data/public/bcms/ckeditor/skins/kama/dialog.css +742 -0
- data/public/bcms/ckeditor/skins/kama/editor.css +21 -0
- data/public/bcms/ckeditor/skins/kama/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/kama/icons.css +309 -0
- data/public/bcms/ckeditor/skins/kama/icons.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
- data/public/bcms/ckeditor/skins/kama/images/dialog_sides.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/kama/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
- data/public/bcms/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
- data/public/bcms/ckeditor/skins/kama/mainui.css +139 -0
- data/public/bcms/ckeditor/skins/kama/menu.css +179 -0
- data/public/bcms/ckeditor/skins/kama/panel.css +203 -0
- data/public/bcms/ckeditor/skins/kama/presets.css +49 -0
- data/public/bcms/ckeditor/skins/kama/reset.css +78 -0
- data/public/bcms/ckeditor/skins/kama/richcombo.css +260 -0
- data/public/bcms/ckeditor/skins/kama/skin.js +291 -0
- data/public/bcms/ckeditor/skins/kama/templates.css +71 -0
- data/public/bcms/ckeditor/skins/kama/toolbar.css +384 -0
- data/public/bcms/ckeditor/skins/office2003/dialog.css +643 -0
- data/public/bcms/ckeditor/skins/office2003/editor.css +21 -0
- data/public/bcms/ckeditor/skins/office2003/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/office2003/icons.css +309 -0
- data/public/bcms/ckeditor/skins/office2003/icons.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
- data/public/bcms/ckeditor/skins/office2003/mainui.css +97 -0
- data/public/bcms/ckeditor/skins/office2003/menu.css +175 -0
- data/public/bcms/ckeditor/skins/office2003/panel.css +198 -0
- data/public/bcms/ckeditor/skins/office2003/presets.css +49 -0
- data/public/bcms/ckeditor/skins/office2003/reset.css +78 -0
- data/public/bcms/ckeditor/skins/office2003/richcombo.css +279 -0
- data/public/bcms/ckeditor/skins/office2003/skin.js +77 -0
- data/public/bcms/ckeditor/skins/office2003/templates.css +71 -0
- data/public/bcms/ckeditor/skins/office2003/toolbar.css +442 -0
- data/public/bcms/ckeditor/skins/v2/dialog.css +653 -0
- data/public/bcms/ckeditor/skins/v2/editor.css +21 -0
- data/public/bcms/ckeditor/skins/v2/elementspath.css +68 -0
- data/public/bcms/ckeditor/skins/v2/icons.css +309 -0
- data/public/bcms/ckeditor/skins/v2/icons.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/mini.gif +0 -0
- data/public/bcms/ckeditor/skins/v2/images/noimage.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/sprites.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
- data/public/bcms/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
- data/public/bcms/ckeditor/skins/v2/mainui.css +112 -0
- data/public/bcms/ckeditor/skins/v2/menu.css +178 -0
- data/public/bcms/ckeditor/skins/v2/panel.css +198 -0
- data/public/bcms/ckeditor/skins/v2/presets.css +50 -0
- data/public/bcms/ckeditor/skins/v2/reset.css +78 -0
- data/public/bcms/ckeditor/skins/v2/richcombo.css +275 -0
- data/public/bcms/ckeditor/skins/v2/skin.js +73 -0
- data/public/bcms/ckeditor/skins/v2/templates.css +71 -0
- data/public/bcms/ckeditor/skins/v2/toolbar.css +399 -0
- data/public/bcms/ckeditor/tests/_assets/sample.css +4 -0
- data/public/bcms/ckeditor/tests/_assets/sample.js +1 -0
- data/public/bcms/ckeditor/tests/_assets/sample.txt +1 -0
- data/public/bcms/ckeditor/tests/_assets/sample.xml +5 -0
- data/public/bcms/ckeditor/tests/_assets/sample_xml.txt +5 -0
- data/public/bcms/ckeditor/tests/core/_editor/custom_config_1.js +10 -0
- data/public/bcms/ckeditor/tests/core/_editor/custom_config_2.js +9 -0
- data/public/bcms/ckeditor/tests/core/ajax.html +163 -0
- data/public/bcms/ckeditor/tests/core/bootstrap.html +66 -0
- data/public/bcms/ckeditor/tests/core/ckeditor.html +160 -0
- data/public/bcms/ckeditor/tests/core/dom/document.html +126 -0
- data/public/bcms/ckeditor/tests/core/dom/documentfragment.html +292 -0
- data/public/bcms/ckeditor/tests/core/dom/element.html +637 -0
- data/public/bcms/ckeditor/tests/core/dom/node.html +164 -0
- data/public/bcms/ckeditor/tests/core/dom/range.html +2411 -0
- data/public/bcms/ckeditor/tests/core/dom/text.html +128 -0
- data/public/bcms/ckeditor/tests/core/dom/walker.html +340 -0
- data/public/bcms/ckeditor/tests/core/dom/window.html +53 -0
- data/public/bcms/ckeditor/tests/core/editor.html +123 -0
- data/public/bcms/ckeditor/tests/core/env.html +52 -0
- data/public/bcms/ckeditor/tests/core/event.html +487 -0
- data/public/bcms/ckeditor/tests/core/htmlparser/fragment.html +188 -0
- data/public/bcms/ckeditor/tests/core/htmlparser/htmlparser.html +91 -0
- data/public/bcms/ckeditor/tests/core/plugins/myplugins/sample/my_plugin.js +3 -0
- data/public/bcms/ckeditor/tests/core/plugins.html +45 -0
- data/public/bcms/ckeditor/tests/core/scriptloader.html +52 -0
- data/public/bcms/ckeditor/tests/core/tools.html +170 -0
- data/public/bcms/ckeditor/tests/core/xml.html +150 -0
- data/public/bcms/ckeditor/tests/plugins/domiterator/domiterator.html +236 -0
- data/public/bcms/ckeditor/tests/plugins/htmldataprocessor/htmldataprocessor.html +386 -0
- data/public/bcms/ckeditor/tests/plugins/link/link.html +123 -0
- data/public/bcms/ckeditor/tests/plugins/list/list.html +217 -0
- data/public/bcms/ckeditor/tests/plugins/selection/selection.html +49 -0
- data/public/bcms/ckeditor/tests/plugins/styles/styles.html +596 -0
- data/public/bcms/ckeditor/tests/test.css +81 -0
- data/public/bcms/ckeditor/tests/test.js +93 -0
- data/public/bcms/ckeditor/tests/testall.html +114 -0
- data/public/bcms/ckeditor/tests/yuitest.js +75 -0
- data/public/bcms/ckeditor/themes/default/theme.js +232 -0
- data/public/bcms/content_syncing/README +1 -0
- data/public/favicon.ico +0 -0
- data/public/images/cms/administration/user_browser_bg.gif +0 -0
- data/public/images/cms/bg.png +0 -0
- data/public/images/cms/bl_curve.png +0 -0
- data/public/images/cms/bottom_cap.png +0 -0
- data/public/images/cms/bottom_cap_content.png +0 -0
- data/public/images/cms/browse.gif +0 -0
- data/public/images/cms/browser_media_logo.png +0 -0
- data/public/images/cms/browsercms_logo.png +0 -0
- data/public/images/cms/buttons/button.png +0 -0
- data/public/images/cms/buttons/button_bg.png +0 -0
- data/public/images/cms/buttons/button_cap.png +0 -0
- data/public/images/cms/buttons/button_cap_h.png +0 -0
- data/public/images/cms/buttons/button_cap_off.gif +0 -0
- data/public/images/cms/buttons/button_cap_off_middle.gif +0 -0
- data/public/images/cms/buttons/button_h.png +0 -0
- data/public/images/cms/buttons/button_left_bg.png +0 -0
- data/public/images/cms/buttons/button_off.png +0 -0
- data/public/images/cms/buttons/button_off_middle.png +0 -0
- data/public/images/cms/buttons/delete_x.png +0 -0
- data/public/images/cms/buttons/delete_x_disabled.png +0 -0
- data/public/images/cms/buttons/delete_x_h.png +0 -0
- data/public/images/cms/buttons/sm_button.gif +0 -0
- data/public/images/cms/buttons/sm_button_2.gif +0 -0
- data/public/images/cms/buttons/sm_button_2_h.gif +0 -0
- data/public/images/cms/buttons/sm_button_h.gif +0 -0
- data/public/images/cms/containers/add.gif +0 -0
- data/public/images/cms/containers/alpha.png +0 -0
- data/public/images/cms/containers/beta.png +0 -0
- data/public/images/cms/containers/delete.gif +0 -0
- data/public/images/cms/containers/down.gif +0 -0
- data/public/images/cms/containers/edit.gif +0 -0
- data/public/images/cms/containers/up.gif +0 -0
- data/public/images/cms/containers/view.gif +0 -0
- data/public/images/cms/content_bg.gif +0 -0
- data/public/images/cms/dashboard/bottom_cap.png +0 -0
- data/public/images/cms/dashboard/bottom_cap_content.png +0 -0
- data/public/images/cms/dashboard/header_bg.gif +0 -0
- data/public/images/cms/dashboard/header_left_bg.gif +0 -0
- data/public/images/cms/dashboard/table_header_bg.gif +0 -0
- data/public/images/cms/dashboard/top_cap.png +0 -0
- data/public/images/cms/dashed.gif +0 -0
- data/public/images/cms/datepicker/clear.gif +0 -0
- data/public/images/cms/datepicker/close.gif +0 -0
- data/public/images/cms/dk_button_l.gif +0 -0
- data/public/images/cms/dk_button_r.gif +0 -0
- data/public/images/cms/dot.png +0 -0
- data/public/images/cms/draft_status.gif +0 -0
- data/public/images/cms/gray_long_bg.gif +0 -0
- data/public/images/cms/icons/actions/add.png +0 -0
- data/public/images/cms/icons/actions/config.png +0 -0
- data/public/images/cms/icons/actions/connect.png +0 -0
- data/public/images/cms/icons/actions/delete.png +0 -0
- data/public/images/cms/icons/actions/down.png +0 -0
- data/public/images/cms/icons/actions/edit.png +0 -0
- data/public/images/cms/icons/actions/folder.png +0 -0
- data/public/images/cms/icons/actions/folder_add.png +0 -0
- data/public/images/cms/icons/actions/folder_delete.png +0 -0
- data/public/images/cms/icons/actions/folder_edit.png +0 -0
- data/public/images/cms/icons/actions/folder_move.png +0 -0
- data/public/images/cms/icons/actions/folder_open.png +0 -0
- data/public/images/cms/icons/actions/history.png +0 -0
- data/public/images/cms/icons/actions/home.png +0 -0
- data/public/images/cms/icons/actions/left.png +0 -0
- data/public/images/cms/icons/actions/link.png +0 -0
- data/public/images/cms/icons/actions/page.png +0 -0
- data/public/images/cms/icons/actions/page_add.png +0 -0
- data/public/images/cms/icons/actions/page_edit.png +0 -0
- data/public/images/cms/icons/actions/page_move.png +0 -0
- data/public/images/cms/icons/actions/redo.png +0 -0
- data/public/images/cms/icons/actions/refresh.png +0 -0
- data/public/images/cms/icons/actions/right.png +0 -0
- data/public/images/cms/icons/actions/root_folder.png +0 -0
- data/public/images/cms/icons/actions/root_link.png +0 -0
- data/public/images/cms/icons/actions/root_page.png +0 -0
- data/public/images/cms/icons/actions/undo.png +0 -0
- data/public/images/cms/icons/actions/up.png +0 -0
- data/public/images/cms/icons/actions/view.png +0 -0
- data/public/images/cms/icons/file_types/doc.png +0 -0
- data/public/images/cms/icons/file_types/file.png +0 -0
- data/public/images/cms/icons/file_types/gif.png +0 -0
- data/public/images/cms/icons/file_types/htm.png +0 -0
- data/public/images/cms/icons/file_types/pdf.png +0 -0
- data/public/images/cms/icons/file_types/ppt.png +0 -0
- data/public/images/cms/icons/file_types/swf.png +0 -0
- data/public/images/cms/icons/file_types/txt.png +0 -0
- data/public/images/cms/icons/file_types/xls.png +0 -0
- data/public/images/cms/icons/file_types/xml.png +0 -0
- data/public/images/cms/icons/file_types/zip.png +0 -0
- data/public/images/cms/icons/status/archived.gif +0 -0
- data/public/images/cms/icons/status/draft.gif +0 -0
- data/public/images/cms/icons/status/hidden.gif +0 -0
- data/public/images/cms/icons/status/locked.gif +0 -0
- data/public/images/cms/icons/status/published.gif +0 -0
- data/public/images/cms/icons/status/unlocked.gif +0 -0
- data/public/images/cms/icons/user.png +0 -0
- data/public/images/cms/login_bg.jpg +0 -0
- data/public/images/cms/login_bottom.jpg +0 -0
- data/public/images/cms/login_top.gif +0 -0
- data/public/images/cms/lt_button_bg.gif +0 -0
- data/public/images/cms/lt_button_l.gif +0 -0
- data/public/images/cms/lt_button_r.gif +0 -0
- data/public/images/cms/menu/block_cap_h.gif +0 -0
- data/public/images/cms/menu/bottom_cap.png +0 -0
- data/public/images/cms/menu/bottom_cap_menu.png +0 -0
- data/public/images/cms/menu/bottom_cap_menu_first.png +0 -0
- data/public/images/cms/menu/menu_header_first_bg.gif +0 -0
- data/public/images/cms/menu/selected_block_cap.gif +0 -0
- data/public/images/cms/menu/top_cap.png +0 -0
- data/public/images/cms/menu/top_cap_menu_header.png +0 -0
- data/public/images/cms/menu.png +0 -0
- data/public/images/cms/menu_h.gif +0 -0
- data/public/images/cms/menu_header.png +0 -0
- data/public/images/cms/menu_open.png +0 -0
- data/public/images/cms/menu_open_bg.gif +0 -0
- data/public/images/cms/nav/on_bg.gif +0 -0
- data/public/images/cms/nav.png +0 -0
- data/public/images/cms/nav_admin.gif +0 -0
- data/public/images/cms/nav_admin_h.gif +0 -0
- data/public/images/cms/nav_admin_on.gif +0 -0
- data/public/images/cms/nav_cap.png +0 -0
- data/public/images/cms/nav_cap_h.gif +0 -0
- data/public/images/cms/nav_content_library.gif +0 -0
- data/public/images/cms/nav_content_library_h.gif +0 -0
- data/public/images/cms/nav_content_library_on.gif +0 -0
- data/public/images/cms/nav_dash.gif +0 -0
- data/public/images/cms/nav_dash_h.gif +0 -0
- data/public/images/cms/nav_dash_on.gif +0 -0
- data/public/images/cms/nav_h.gif +0 -0
- data/public/images/cms/nav_sitemap.gif +0 -0
- data/public/images/cms/nav_sitemap_h.gif +0 -0
- data/public/images/cms/nav_sitemap_on.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_bg.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_bg.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_draft_bg.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_draft_l.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_draft_r.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_l.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_published_bg.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_published_l.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_published_r.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_inset_r.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_l.gif +0 -0
- data/public/images/cms/page_toolbar/page_toolbar_r.gif +0 -0
- data/public/images/cms/page_toolbar/status_draft_bg.gif +0 -0
- data/public/images/cms/page_toolbar/status_draft_l.gif +0 -0
- data/public/images/cms/page_toolbar/status_l.gif +0 -0
- data/public/images/cms/page_toolbar/status_published_bg.gif +0 -0
- data/public/images/cms/page_toolbar/status_published_l.gif +0 -0
- data/public/images/cms/page_toolbar/visual_editor_bg.gif +0 -0
- data/public/images/cms/page_toolbar/visual_editor_end.gif +0 -0
- data/public/images/cms/page_toolbar/visual_editor_r.gif +0 -0
- data/public/images/cms/page_toolbar/visual_editor_state_bg.gif +0 -0
- data/public/images/cms/pages/add_connectable.gif +0 -0
- data/public/images/cms/pages/connect_connectable.gif +0 -0
- data/public/images/cms/pages/container_border.gif +0 -0
- data/public/images/cms/pages/container_border_l.gif +0 -0
- data/public/images/cms/pages/container_border_r.gif +0 -0
- data/public/images/cms/pages/delete_connectable.gif +0 -0
- data/public/images/cms/pages/down_connectable.gif +0 -0
- data/public/images/cms/pages/down_connectable_disabled.gif +0 -0
- data/public/images/cms/pages/edit_connectable.gif +0 -0
- data/public/images/cms/pages/edit_connectable_2.gif +0 -0
- data/public/images/cms/pages/show_connectable.gif +0 -0
- data/public/images/cms/pages/up_connectable.gif +0 -0
- data/public/images/cms/pages/up_connectable_disabled.gif +0 -0
- data/public/images/cms/pagination/first.gif +0 -0
- data/public/images/cms/pagination/first_h.gif +0 -0
- data/public/images/cms/pagination/input.gif +0 -0
- data/public/images/cms/pagination/last.gif +0 -0
- data/public/images/cms/pagination/last_h.gif +0 -0
- data/public/images/cms/pagination/next.gif +0 -0
- data/public/images/cms/pagination/next_h.gif +0 -0
- data/public/images/cms/pagination/previous.gif +0 -0
- data/public/images/cms/pagination/previous_h.gif +0 -0
- data/public/images/cms/published_status.gif +0 -0
- data/public/images/cms/search.png +0 -0
- data/public/images/cms/search_submit.gif +0 -0
- data/public/images/cms/search_submit_h.gif +0 -0
- data/public/images/cms/searchbox_gradient.gif +0 -0
- data/public/images/cms/select_bg.gif +0 -0
- data/public/images/cms/select_bg_2.gif +0 -0
- data/public/images/cms/sitemap/bottom_cap.png +0 -0
- data/public/images/cms/sitemap/buffer_caps.png +0 -0
- data/public/images/cms/sitemap/contract.png +0 -0
- data/public/images/cms/sitemap/corners.gif +0 -0
- data/public/images/cms/sitemap/corners_hover.gif +0 -0
- data/public/images/cms/sitemap/divider.gif +0 -0
- data/public/images/cms/sitemap/expand.png +0 -0
- data/public/images/cms/sitemap/gradient.gif +0 -0
- data/public/images/cms/sitemap/gray_contract.png +0 -0
- data/public/images/cms/sitemap/gray_expand.png +0 -0
- data/public/images/cms/sitemap/no_contents.png +0 -0
- data/public/images/cms/sitemap/site_root_cap.png +0 -0
- data/public/images/cms/sitemap/tooltip.gif +0 -0
- data/public/images/cms/sitemap/top_cap_content.png +0 -0
- data/public/images/cms/solid.gif +0 -0
- data/public/images/cms/table/bl.gif +0 -0
- data/public/images/cms/table/br.gif +0 -0
- data/public/images/cms/table/divider.gif +0 -0
- data/public/images/cms/table/td_cap_first_h.gif +0 -0
- data/public/images/cms/table/td_cap_first_s.gif +0 -0
- data/public/images/cms/table/td_cap_last_h.gif +0 -0
- data/public/images/cms/table/td_cap_last_s.gif +0 -0
- data/public/images/cms/table/td_last_bg.gif +0 -0
- data/public/images/cms/table/th_bg.gif +0 -0
- data/public/images/cms/table/th_divider.gif +0 -0
- data/public/images/cms/table/th_last_bg.gif +0 -0
- data/public/images/cms/table/tl.gif +0 -0
- data/public/images/cms/table/tr.gif +0 -0
- data/public/images/cms/table/tr_bg.gif +0 -0
- data/public/images/cms/thickbox/loadingAnimation.gif +0 -0
- data/public/images/cms/thickbox/macFFBgHack.png +0 -0
- data/public/images/cms/toolbar_bg.png +0 -0
- data/public/images/cms/top_cap.png +0 -0
- data/public/images/cms/top_cap_content.png +0 -0
- data/public/images/cms/top_cap_menu_header.png +0 -0
- data/public/images/cms/user_search_submit.gif +0 -0
- data/public/images/cms/usercontrols_bg.png +0 -0
- data/public/images/cms/usercontrols_bg_cap.png +0 -0
- data/public/images/rails.png +0 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/cms/application.js +148 -0
- data/public/javascripts/cms/content_library.js +36 -0
- data/public/javascripts/cms/sitemap.js +438 -0
- data/public/javascripts/controls.js +963 -0
- data/public/javascripts/dragdrop.js +973 -0
- data/public/javascripts/effects.js +1128 -0
- data/public/javascripts/jquery-ui.js +591 -0
- data/public/javascripts/jquery.contextMenu.js +211 -0
- data/public/javascripts/jquery.cookie.js +96 -0
- data/public/javascripts/jquery.dimensions.js +119 -0
- data/public/javascripts/jquery.js +11 -0
- data/public/javascripts/jquery.selectbox-0.5.js +209 -0
- data/public/javascripts/jquery.taglist.js +136 -0
- data/public/javascripts/jquery.thickbox.js +10 -0
- data/public/javascripts/prototype.js +4320 -0
- data/public/robots.txt +5 -0
- data/public/site/customconfig.js +1 -0
- data/public/stylesheets/cms/administration.css +91 -0
- data/public/stylesheets/cms/application.css +166 -0
- data/public/stylesheets/cms/block.css +26 -0
- data/public/stylesheets/cms/buttons.css +120 -0
- data/public/stylesheets/cms/content_library.css +139 -0
- data/public/stylesheets/cms/content_types.css +4 -0
- data/public/stylesheets/cms/dashboard.css +118 -0
- data/public/stylesheets/cms/data_table.css +156 -0
- data/public/stylesheets/cms/date_picker.css +73 -0
- data/public/stylesheets/cms/form_layout.css +279 -0
- data/public/stylesheets/cms/jquery.contextMenu.css +61 -0
- data/public/stylesheets/cms/login.css +78 -0
- data/public/stylesheets/cms/menu.css +116 -0
- data/public/stylesheets/cms/nav.css +99 -0
- data/public/stylesheets/cms/page_toolbar.css +135 -0
- data/public/stylesheets/cms/reset.css +46 -0
- data/public/stylesheets/cms/selectbox.css +56 -0
- data/public/stylesheets/cms/sitemap.css +390 -0
- data/public/stylesheets/cms/taglist.css +18 -0
- data/public/stylesheets/cms/thickbox.css +163 -0
- data/rails/init.rb +5 -0
- data/script/about +4 -0
- data/script/console +3 -0
- data/script/dbconsole +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/plugin +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/test/performance/browsing_test.rb +9 -0
- data/test/test_helper.rb +38 -0
- metadata +736 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2003-2009, 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.event} class, which serves as the
|
|
8
|
+
* base for classes and objects that require event handling features.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
if ( !CKEDITOR.event )
|
|
12
|
+
{
|
|
13
|
+
/**
|
|
14
|
+
* This is a base class for classes and objects that require event handling
|
|
15
|
+
* features.
|
|
16
|
+
* @constructor
|
|
17
|
+
* @example
|
|
18
|
+
*/
|
|
19
|
+
CKEDITOR.event = function()
|
|
20
|
+
{};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Implements the {@link CKEDITOR.event} features in an object.
|
|
24
|
+
* @param {Object} targetObject The object in which implement the features.
|
|
25
|
+
* @example
|
|
26
|
+
* var myObject = { message : 'Example' };
|
|
27
|
+
* <b>CKEDITOR.event.implementOn( myObject }</b>;
|
|
28
|
+
* myObject.on( 'testEvent', function()
|
|
29
|
+
* {
|
|
30
|
+
* alert( this.message ); // "Example"
|
|
31
|
+
* });
|
|
32
|
+
* myObject.fire( 'testEvent' );
|
|
33
|
+
*/
|
|
34
|
+
CKEDITOR.event.implementOn = function( targetObject, isTargetPrototype )
|
|
35
|
+
{
|
|
36
|
+
var eventProto = CKEDITOR.event.prototype;
|
|
37
|
+
|
|
38
|
+
for ( var prop in eventProto )
|
|
39
|
+
{
|
|
40
|
+
if ( targetObject[ prop ] == undefined )
|
|
41
|
+
targetObject[ prop ] = eventProto[ prop ];
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
CKEDITOR.event.prototype = (function()
|
|
46
|
+
{
|
|
47
|
+
// Returns the private events object for a given object.
|
|
48
|
+
var getPrivate = function( obj )
|
|
49
|
+
{
|
|
50
|
+
var _ = ( obj.getPrivate && obj.getPrivate() ) || obj._ || ( obj._ = {} );
|
|
51
|
+
return _.events || ( _.events = {} );
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var eventEntry = function( eventName )
|
|
55
|
+
{
|
|
56
|
+
this.name = eventName;
|
|
57
|
+
this.listeners = [];
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
eventEntry.prototype =
|
|
61
|
+
{
|
|
62
|
+
// Get the listener index for a specified function.
|
|
63
|
+
// Returns -1 if not found.
|
|
64
|
+
getListenerIndex : function( listenerFunction )
|
|
65
|
+
{
|
|
66
|
+
for ( var i = 0, listeners = this.listeners ; i < listeners.length ; i++ )
|
|
67
|
+
{
|
|
68
|
+
if ( listeners[i].fn == listenerFunction )
|
|
69
|
+
return i;
|
|
70
|
+
}
|
|
71
|
+
return -1;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return /** @lends CKEDITOR.event.prototype */ {
|
|
76
|
+
/**
|
|
77
|
+
* Registers a listener to a specific event in the current object.
|
|
78
|
+
* @param {String} eventName The event name to which listen.
|
|
79
|
+
* @param {Function} listenerFunction The function listening to the
|
|
80
|
+
* event.
|
|
81
|
+
* @param {Object} [scopeObj] The object used to scope the listener
|
|
82
|
+
* call (the this object. If omitted, the current object is used.
|
|
83
|
+
* @param {Object} [listenerData] Data to be sent as the
|
|
84
|
+
* {@link CKEDITOR.eventInfo#listenerData} when calling the
|
|
85
|
+
* listener.
|
|
86
|
+
* @param {Number} [priority] The listener priority. Lower priority
|
|
87
|
+
* listeners are called first. Listeners with the same priority
|
|
88
|
+
* value are called in registration order. Defaults to 10.
|
|
89
|
+
* @example
|
|
90
|
+
* someObject.on( 'someEvent', function()
|
|
91
|
+
* {
|
|
92
|
+
* alert( this == someObject ); // "true"
|
|
93
|
+
* });
|
|
94
|
+
* @example
|
|
95
|
+
* someObject.on( 'someEvent', function()
|
|
96
|
+
* {
|
|
97
|
+
* alert( this == anotherObject ); // "true"
|
|
98
|
+
* }
|
|
99
|
+
* , anotherObject );
|
|
100
|
+
* @example
|
|
101
|
+
* someObject.on( 'someEvent', function( event )
|
|
102
|
+
* {
|
|
103
|
+
* alert( event.listenerData ); // "Example"
|
|
104
|
+
* }
|
|
105
|
+
* , null, 'Example' );
|
|
106
|
+
* @example
|
|
107
|
+
* someObject.on( 'someEvent', function() { ... } ); // 2nd called
|
|
108
|
+
* someObject.on( 'someEvent', function() { ... }, null, null, 100 ); // 3rd called
|
|
109
|
+
* someObject.on( 'someEvent', function() { ... }, null, null, 1 ); // 1st called
|
|
110
|
+
*/
|
|
111
|
+
on : function( eventName, listenerFunction, scopeObj, listenerData, priority )
|
|
112
|
+
{
|
|
113
|
+
// Get the event entry (create it if needed).
|
|
114
|
+
var events = getPrivate( this ),
|
|
115
|
+
event = events[ eventName ] || ( events[ eventName ] = new eventEntry( eventName ) );
|
|
116
|
+
|
|
117
|
+
if ( event.getListenerIndex( listenerFunction ) < 0 )
|
|
118
|
+
{
|
|
119
|
+
// Get the listeners.
|
|
120
|
+
var listeners = event.listeners;
|
|
121
|
+
|
|
122
|
+
// Fill the scope.
|
|
123
|
+
if ( !scopeObj )
|
|
124
|
+
scopeObj = this;
|
|
125
|
+
|
|
126
|
+
// Default the priority, if needed.
|
|
127
|
+
if ( isNaN( priority ) )
|
|
128
|
+
priority = 10;
|
|
129
|
+
|
|
130
|
+
var me = this;
|
|
131
|
+
|
|
132
|
+
// Create the function to be fired for this listener.
|
|
133
|
+
var listenerFirer = function( editor, publisherData, stopFn, cancelFn )
|
|
134
|
+
{
|
|
135
|
+
var ev =
|
|
136
|
+
{
|
|
137
|
+
name : eventName,
|
|
138
|
+
sender : this,
|
|
139
|
+
editor : editor,
|
|
140
|
+
data : publisherData,
|
|
141
|
+
listenerData : listenerData,
|
|
142
|
+
stop : stopFn,
|
|
143
|
+
cancel : cancelFn,
|
|
144
|
+
removeListener : function()
|
|
145
|
+
{
|
|
146
|
+
me.removeListener( eventName, listenerFunction );
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
listenerFunction.call( scopeObj, ev );
|
|
151
|
+
|
|
152
|
+
return ev.data;
|
|
153
|
+
};
|
|
154
|
+
listenerFirer.fn = listenerFunction;
|
|
155
|
+
listenerFirer.priority = priority;
|
|
156
|
+
|
|
157
|
+
// Search for the right position for this new listener, based on its
|
|
158
|
+
// priority.
|
|
159
|
+
for ( var i = listeners.length - 1 ; i >= 0 ; i-- )
|
|
160
|
+
{
|
|
161
|
+
// Find the item which should be before the new one.
|
|
162
|
+
if ( listeners[ i ].priority <= priority )
|
|
163
|
+
{
|
|
164
|
+
// Insert the listener in the array.
|
|
165
|
+
listeners.splice( i + 1, 0, listenerFirer );
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// If no position has been found (or zero length), put it in
|
|
171
|
+
// the front of list.
|
|
172
|
+
listeners.unshift( listenerFirer );
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Fires an specific event in the object. All registered listeners are
|
|
178
|
+
* called at this point.
|
|
179
|
+
* @function
|
|
180
|
+
* @param {String} eventName The event name to fire.
|
|
181
|
+
* @param {Object} [data] Data to be sent as the
|
|
182
|
+
* {@link CKEDITOR.eventInfo#data} when calling the
|
|
183
|
+
* listeners.
|
|
184
|
+
* @param {CKEDITOR.editor} [editor] The editor instance to send as the
|
|
185
|
+
* {@link CKEDITOR.eventInfo#editor} when calling the
|
|
186
|
+
* listener.
|
|
187
|
+
* @returns {Boolean|Object} A booloan indicating that the event is to be
|
|
188
|
+
* canceled, or data returned by one of the listeners.
|
|
189
|
+
* @example
|
|
190
|
+
* someObject.on( 'someEvent', function() { ... } );
|
|
191
|
+
* someObject.on( 'someEvent', function() { ... } );
|
|
192
|
+
* <b>someObject.fire( 'someEvent' )</b>; // both listeners are called
|
|
193
|
+
* @example
|
|
194
|
+
* someObject.on( 'someEvent', function( event )
|
|
195
|
+
* {
|
|
196
|
+
* alert( event.data ); // "Example"
|
|
197
|
+
* });
|
|
198
|
+
* <b>someObject.fire( 'someEvent', 'Example' )</b>;
|
|
199
|
+
*/
|
|
200
|
+
fire : (function()
|
|
201
|
+
{
|
|
202
|
+
// Create the function that marks the event as stopped.
|
|
203
|
+
var stopped = false;
|
|
204
|
+
var stopEvent = function()
|
|
205
|
+
{
|
|
206
|
+
stopped = true;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
// Create the function that marks the event as canceled.
|
|
210
|
+
var canceled = false;
|
|
211
|
+
var cancelEvent = function()
|
|
212
|
+
{
|
|
213
|
+
canceled = true;
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
return function( eventName, data, editor )
|
|
217
|
+
{
|
|
218
|
+
// Get the event entry.
|
|
219
|
+
var event = getPrivate( this )[ eventName ];
|
|
220
|
+
|
|
221
|
+
// Save the previous stopped and cancelled states. We may
|
|
222
|
+
// be nesting fire() calls.
|
|
223
|
+
var previousStopped = stopped,
|
|
224
|
+
previousCancelled = canceled;
|
|
225
|
+
|
|
226
|
+
// Reset the stopped and canceled flags.
|
|
227
|
+
stopped = canceled = false;
|
|
228
|
+
|
|
229
|
+
if ( event )
|
|
230
|
+
{
|
|
231
|
+
var listeners = event.listeners;
|
|
232
|
+
|
|
233
|
+
if ( listeners.length )
|
|
234
|
+
{
|
|
235
|
+
// As some listeners may remove themselves from the
|
|
236
|
+
// event, the original array length is dinamic. So,
|
|
237
|
+
// let's make a copy of all listeners, so we are
|
|
238
|
+
// sure we'll call all of them.
|
|
239
|
+
listeners = listeners.slice( 0 );
|
|
240
|
+
|
|
241
|
+
// Loop through all listeners.
|
|
242
|
+
for ( var i = 0 ; i < listeners.length ; i++ )
|
|
243
|
+
{
|
|
244
|
+
// Call the listener, passing the event data.
|
|
245
|
+
var retData = listeners[i].call( this, editor, data, stopEvent, cancelEvent );
|
|
246
|
+
|
|
247
|
+
if ( typeof retData != 'undefined' )
|
|
248
|
+
data = retData;
|
|
249
|
+
|
|
250
|
+
// No further calls is stopped or canceled.
|
|
251
|
+
if ( stopped || canceled )
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
var ret = canceled || ( typeof data == 'undefined' ? false : data );
|
|
258
|
+
|
|
259
|
+
// Restore the previous stopped and canceled states.
|
|
260
|
+
stopped = previousStopped;
|
|
261
|
+
canceled = previousCancelled;
|
|
262
|
+
|
|
263
|
+
return ret;
|
|
264
|
+
};
|
|
265
|
+
})(),
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Fires an specific event in the object, releasing all listeners
|
|
269
|
+
* registered to that event. The same listeners are not called again on
|
|
270
|
+
* successive calls of it or of {@link #fire}.
|
|
271
|
+
* @param {String} eventName The event name to fire.
|
|
272
|
+
* @param {Object} [data] Data to be sent as the
|
|
273
|
+
* {@link CKEDITOR.eventInfo#data} when calling the
|
|
274
|
+
* listeners.
|
|
275
|
+
* @param {CKEDITOR.editor} [editor] The editor instance to send as the
|
|
276
|
+
* {@link CKEDITOR.eventInfo#editor} when calling the
|
|
277
|
+
* listener.
|
|
278
|
+
* @returns {Boolean|Object} A booloan indicating that the event is to be
|
|
279
|
+
* canceled, or data returned by one of the listeners.
|
|
280
|
+
* @example
|
|
281
|
+
* someObject.on( 'someEvent', function() { ... } );
|
|
282
|
+
* someObject.fire( 'someEvent' ); // above listener called
|
|
283
|
+
* <b>someObject.fireOnce( 'someEvent' )</b>; // above listener called
|
|
284
|
+
* someObject.fire( 'someEvent' ); // no listeners called
|
|
285
|
+
*/
|
|
286
|
+
fireOnce : function( eventName, data, editor )
|
|
287
|
+
{
|
|
288
|
+
var ret = this.fire( eventName, data, editor );
|
|
289
|
+
delete getPrivate( this )[ eventName ];
|
|
290
|
+
return ret;
|
|
291
|
+
},
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Unregisters a listener function from being called at the specified
|
|
295
|
+
* event. No errors are thrown if the listener has not been
|
|
296
|
+
* registered previously.
|
|
297
|
+
* @param {String} eventName The event name.
|
|
298
|
+
* @param {Function} listenerFunction The listener function to unregister.
|
|
299
|
+
* @example
|
|
300
|
+
* var myListener = function() { ... };
|
|
301
|
+
* someObject.on( 'someEvent', myListener );
|
|
302
|
+
* someObject.fire( 'someEvent' ); // myListener called
|
|
303
|
+
* <b>someObject.removeListener( 'someEvent', myListener )</b>;
|
|
304
|
+
* someObject.fire( 'someEvent' ); // myListener not called
|
|
305
|
+
*/
|
|
306
|
+
removeListener : function( eventName, listenerFunction )
|
|
307
|
+
{
|
|
308
|
+
// Get the event entry.
|
|
309
|
+
var event = getPrivate( this )[ eventName ];
|
|
310
|
+
|
|
311
|
+
if ( event )
|
|
312
|
+
{
|
|
313
|
+
var index = event.getListenerIndex( listenerFunction );
|
|
314
|
+
if ( index >= 0 )
|
|
315
|
+
event.listeners.splice( index, 1 );
|
|
316
|
+
}
|
|
317
|
+
},
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Checks if there is any listener registered to a given event.
|
|
321
|
+
* @param {String} eventName The event name.
|
|
322
|
+
* @example
|
|
323
|
+
* var myListener = function() { ... };
|
|
324
|
+
* someObject.on( 'someEvent', myListener );
|
|
325
|
+
* alert( someObject.<b>hasListeners( 'someEvent' )</b> ); // "true"
|
|
326
|
+
* alert( someObject.<b>hasListeners( 'noEvent' )</b> ); // "false"
|
|
327
|
+
*/
|
|
328
|
+
hasListeners : function( eventName )
|
|
329
|
+
{
|
|
330
|
+
var event = getPrivate( this )[ eventName ];
|
|
331
|
+
return ( event && event.listeners.length > 0 ) ;
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
})();
|
|
335
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
|
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @fileOverview Defines the "virtual" {@link CKEDITOR.eventInfo} class, which
|
|
8
|
+
* contains the defintions of the event object passed to event listeners.
|
|
9
|
+
* This file is for documentation purposes only.
|
|
10
|
+
*/
|
|
11
|
+
|
|
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.
|
|
16
|
+
* @name CKEDITOR.eventInfo
|
|
17
|
+
* @constructor
|
|
18
|
+
* @example
|
|
19
|
+
* // Do not do this.
|
|
20
|
+
* var myEvent = new CKEDITOR.eventInfo(); // Error: CKEDITOR.eventInfo is undefined
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The event name.
|
|
25
|
+
* @name CKEDITOR.eventInfo.prototype.name
|
|
26
|
+
* @field
|
|
27
|
+
* @type String
|
|
28
|
+
* @example
|
|
29
|
+
* someObject.on( 'someEvent', function( event )
|
|
30
|
+
* {
|
|
31
|
+
* alert( <b>event.name</b> ); // "someEvent"
|
|
32
|
+
* });
|
|
33
|
+
* someObject.fire( 'someEvent' );
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* The object that publishes (sends) the event.
|
|
38
|
+
* @name CKEDITOR.eventInfo.prototype.sender
|
|
39
|
+
* @field
|
|
40
|
+
* @type Object
|
|
41
|
+
* @example
|
|
42
|
+
* someObject.on( 'someEvent', function( event )
|
|
43
|
+
* {
|
|
44
|
+
* alert( <b>event.sender</b> == someObject ); // "true"
|
|
45
|
+
* });
|
|
46
|
+
* someObject.fire( 'someEvent' );
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The editor instance that holds the sender. May be the same as sender. May be
|
|
51
|
+
* null if the sender is not part of an editor instance, like a component
|
|
52
|
+
* running in standalone mode.
|
|
53
|
+
* @name CKEDITOR.eventInfo.prototype.editor
|
|
54
|
+
* @field
|
|
55
|
+
* @type CKEDITOR.editor
|
|
56
|
+
* @example
|
|
57
|
+
* myButton.on( 'someEvent', function( event )
|
|
58
|
+
* {
|
|
59
|
+
* alert( <b>event.editor</b> == myEditor ); // "true"
|
|
60
|
+
* });
|
|
61
|
+
* myButton.fire( 'someEvent', null, <b>myEditor</b> );
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Any kind of additional data. Its format and usage is event dependent.
|
|
66
|
+
* @name CKEDITOR.eventInfo.prototype.data
|
|
67
|
+
* @field
|
|
68
|
+
* @type Object
|
|
69
|
+
* @example
|
|
70
|
+
* someObject.on( 'someEvent', function( event )
|
|
71
|
+
* {
|
|
72
|
+
* alert( <b>event.data</b> ); // "Example"
|
|
73
|
+
* });
|
|
74
|
+
* someObject.fire( 'someEvent', <b>'Example'</b> );
|
|
75
|
+
*/
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Any extra data appended during the listener registration.
|
|
79
|
+
* @name CKEDITOR.eventInfo.prototype.listenerData
|
|
80
|
+
* @field
|
|
81
|
+
* @type Object
|
|
82
|
+
* @example
|
|
83
|
+
* someObject.on( 'someEvent', function( event )
|
|
84
|
+
* {
|
|
85
|
+
* alert( <b>event.listenerData</b> ); // "Example"
|
|
86
|
+
* }
|
|
87
|
+
* , null, <b>'Example'</b> );
|
|
88
|
+
*/
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Indicates that no further listeners are to be called.
|
|
92
|
+
* @name CKEDITOR.eventInfo.prototype.stop
|
|
93
|
+
* @function
|
|
94
|
+
* @example
|
|
95
|
+
* someObject.on( 'someEvent', function( event )
|
|
96
|
+
* {
|
|
97
|
+
* <b>event.stop()</b>;
|
|
98
|
+
* });
|
|
99
|
+
* someObject.on( 'someEvent', function( event )
|
|
100
|
+
* {
|
|
101
|
+
* // This one will not be called.
|
|
102
|
+
* });
|
|
103
|
+
* alert( someObject.fire( 'someEvent' ) ); // "false"
|
|
104
|
+
*/
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Indicates that the event is to be cancelled (if cancelable).
|
|
108
|
+
* @name CKEDITOR.eventInfo.prototype.cancel
|
|
109
|
+
* @function
|
|
110
|
+
* @example
|
|
111
|
+
* someObject.on( 'someEvent', function( event )
|
|
112
|
+
* {
|
|
113
|
+
* <b>event.cancel()</b>;
|
|
114
|
+
* });
|
|
115
|
+
* someObject.on( 'someEvent', function( event )
|
|
116
|
+
* {
|
|
117
|
+
* // This one will not be called.
|
|
118
|
+
* });
|
|
119
|
+
* alert( someObject.fire( 'someEvent' ) ); // "true"
|
|
120
|
+
*/
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2003-2009, 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.focusManager} class, which is used
|
|
8
|
+
* to handle the focus on editor instances..
|
|
9
|
+
*/
|
|
10
|
+
|
|
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
|
|
15
|
+
* @param {CKEDITOR.editor} editor The editor instance.
|
|
16
|
+
* @example
|
|
17
|
+
*/
|
|
18
|
+
CKEDITOR.focusManager = function( editor )
|
|
19
|
+
{
|
|
20
|
+
if ( editor.focusManager )
|
|
21
|
+
return editor.focusManager;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Indicates that the editor instance has focus.
|
|
25
|
+
* @type Boolean
|
|
26
|
+
* @example
|
|
27
|
+
* alert( CKEDITOR.instances.editor1.focusManager.hasFocus ); // e.g "true"
|
|
28
|
+
*/
|
|
29
|
+
this.hasFocus = false;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Object used to hold private stuff.
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
this._ =
|
|
36
|
+
{
|
|
37
|
+
editor : editor
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return this;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
CKEDITOR.focusManager.prototype =
|
|
44
|
+
{
|
|
45
|
+
/**
|
|
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
|
+
* {@link CKEDITOR.editor#focus} for it instead.
|
|
50
|
+
* @example
|
|
51
|
+
* var editor = CKEDITOR.instances.editor1;
|
|
52
|
+
* <b>editor.focusManager.focus()</b>;
|
|
53
|
+
*/
|
|
54
|
+
focus : function()
|
|
55
|
+
{
|
|
56
|
+
if ( this._.timer )
|
|
57
|
+
clearTimeout( this._.timer );
|
|
58
|
+
|
|
59
|
+
if ( !this.hasFocus )
|
|
60
|
+
{
|
|
61
|
+
// If another editor has the current focus, we first "blur" it. In
|
|
62
|
+
// this way the events happen in a more logical sequence, like:
|
|
63
|
+
// "focus 1" > "blur 1" > "focus 2"
|
|
64
|
+
// ... instead of:
|
|
65
|
+
// "focus 1" > "focus 2" > "blur 1"
|
|
66
|
+
if ( CKEDITOR.currentInstance )
|
|
67
|
+
CKEDITOR.currentInstance.focusManager.forceBlur();
|
|
68
|
+
|
|
69
|
+
var editor = this._.editor;
|
|
70
|
+
|
|
71
|
+
editor.container.getFirst().addClass( 'cke_focus' );
|
|
72
|
+
|
|
73
|
+
this.hasFocus = true;
|
|
74
|
+
editor.fire( 'focus' );
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
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
|
+
* @example
|
|
84
|
+
* var editor = CKEDITOR.instances.editor1;
|
|
85
|
+
* <b>editor.focusManager.blur()</b>;
|
|
86
|
+
*/
|
|
87
|
+
blur : function()
|
|
88
|
+
{
|
|
89
|
+
var focusManager = this;
|
|
90
|
+
|
|
91
|
+
if ( focusManager._.timer )
|
|
92
|
+
clearTimeout( focusManager._.timer );
|
|
93
|
+
|
|
94
|
+
focusManager._.timer = setTimeout(
|
|
95
|
+
function()
|
|
96
|
+
{
|
|
97
|
+
delete focusManager._.timer;
|
|
98
|
+
focusManager.forceBlur();
|
|
99
|
+
}
|
|
100
|
+
, 100 );
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Indicates that the editor instance has lost the focus. Unlike
|
|
105
|
+
* {@link #blur}, this function is synchronous, marking the instance as
|
|
106
|
+
* "blured" immediately.
|
|
107
|
+
* @example
|
|
108
|
+
* var editor = CKEDITOR.instances.editor1;
|
|
109
|
+
* <b>editor.focusManager.forceBlur()</b>;
|
|
110
|
+
*/
|
|
111
|
+
forceBlur : function()
|
|
112
|
+
{
|
|
113
|
+
if ( this.hasFocus )
|
|
114
|
+
{
|
|
115
|
+
var editor = this._.editor;
|
|
116
|
+
|
|
117
|
+
editor.container.getFirst().removeClass( 'cke_focus' );
|
|
118
|
+
|
|
119
|
+
this.hasFocus = false;
|
|
120
|
+
editor.fire( 'blur' );
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved.
|
|
3
|
+
For licensing, see LICENSE.html or http://ckeditor.com/license
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
CKEDITOR.htmlParser.basicWriter = CKEDITOR.tools.createClass(
|
|
7
|
+
{
|
|
8
|
+
$ : function()
|
|
9
|
+
{
|
|
10
|
+
this._ =
|
|
11
|
+
{
|
|
12
|
+
output : []
|
|
13
|
+
};
|
|
14
|
+
},
|
|
15
|
+
|
|
16
|
+
proto :
|
|
17
|
+
{
|
|
18
|
+
/**
|
|
19
|
+
* Writes the tag opening part for a opener tag.
|
|
20
|
+
* @param {String} tagName The element name for this tag.
|
|
21
|
+
* @param {Object} attributes The attributes defined for this tag. The
|
|
22
|
+
* attributes could be used to inspect the tag.
|
|
23
|
+
* @example
|
|
24
|
+
* // Writes "<p".
|
|
25
|
+
* writer.openTag( 'p', { class : 'MyClass', id : 'MyId' } );
|
|
26
|
+
*/
|
|
27
|
+
openTag : function( tagName, attributes )
|
|
28
|
+
{
|
|
29
|
+
this._.output.push( '<', tagName );
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Writes the tag closing part for a opener tag.
|
|
34
|
+
* @param {String} tagName The element name for this tag.
|
|
35
|
+
* @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
|
|
36
|
+
* like "br" or "img".
|
|
37
|
+
* @example
|
|
38
|
+
* // Writes ">".
|
|
39
|
+
* writer.openTagClose( 'p', false );
|
|
40
|
+
* @example
|
|
41
|
+
* // Writes " />".
|
|
42
|
+
* writer.openTagClose( 'br', true );
|
|
43
|
+
*/
|
|
44
|
+
openTagClose : function( tagName, isSelfClose )
|
|
45
|
+
{
|
|
46
|
+
if ( isSelfClose )
|
|
47
|
+
this._.output.push( ' />' );
|
|
48
|
+
else
|
|
49
|
+
this._.output.push( '>' );
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Writes an attribute. This function should be called after opening the
|
|
54
|
+
* tag with {@link #openTagClose}.
|
|
55
|
+
* @param {String} attName The attribute name.
|
|
56
|
+
* @param {String} attValue The attribute value.
|
|
57
|
+
* @example
|
|
58
|
+
* // Writes ' class="MyClass"'.
|
|
59
|
+
* writer.attribute( 'class', 'MyClass' );
|
|
60
|
+
*/
|
|
61
|
+
attribute : function( attName, attValue )
|
|
62
|
+
{
|
|
63
|
+
this._.output.push( ' ', attName, '="', attValue, '"' );
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Writes a closer tag.
|
|
68
|
+
* @param {String} tagName The element name for this tag.
|
|
69
|
+
* @example
|
|
70
|
+
* // Writes "</p>".
|
|
71
|
+
* writer.closeTag( 'p' );
|
|
72
|
+
*/
|
|
73
|
+
closeTag : function( tagName )
|
|
74
|
+
{
|
|
75
|
+
this._.output.push( '</', tagName, '>' );
|
|
76
|
+
},
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Writes text.
|
|
80
|
+
* @param {String} text The text value
|
|
81
|
+
* @example
|
|
82
|
+
* // Writes "Hello Word".
|
|
83
|
+
* writer.text( 'Hello Word' );
|
|
84
|
+
*/
|
|
85
|
+
text : function( text )
|
|
86
|
+
{
|
|
87
|
+
this._.output.push( text );
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Writes a comment.
|
|
92
|
+
* @param {String} comment The comment text.
|
|
93
|
+
* @example
|
|
94
|
+
* // Writes "<!-- My comment -->".
|
|
95
|
+
* writer.comment( ' My comment ' );
|
|
96
|
+
*/
|
|
97
|
+
comment : function( comment )
|
|
98
|
+
{
|
|
99
|
+
this._.output.push( '<!--', comment, '-->' );
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Writes any kind of data to the ouput.
|
|
104
|
+
* @example
|
|
105
|
+
* writer.write( 'This is an <b>example</b>.' );
|
|
106
|
+
*/
|
|
107
|
+
write : function( data )
|
|
108
|
+
{
|
|
109
|
+
this._.output.push( data );
|
|
110
|
+
},
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Empties the current output buffer.
|
|
114
|
+
* @example
|
|
115
|
+
* writer.reset();
|
|
116
|
+
*/
|
|
117
|
+
reset : function()
|
|
118
|
+
{
|
|
119
|
+
this._.output = [];
|
|
120
|
+
},
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Empties the current output buffer.
|
|
124
|
+
* @param {Boolean} reset Indicates that the {@link reset} function is to
|
|
125
|
+
* be automatically called after retrieving the HTML.
|
|
126
|
+
* @returns {String} The HTML written to the writer so far.
|
|
127
|
+
* @example
|
|
128
|
+
* var html = writer.getHtml();
|
|
129
|
+
*/
|
|
130
|
+
getHtml : function( reset )
|
|
131
|
+
{
|
|
132
|
+
var html = this._.output.join( '' );
|
|
133
|
+
|
|
134
|
+
if ( reset )
|
|
135
|
+
this.reset();
|
|
136
|
+
|
|
137
|
+
return html;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
});
|