Wiki2GoEditor 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/Wiki2Go_install_editor.rb +13 -0
- data/fckeditor/editor/_source/classes/fckcontextmenu.js +134 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +46 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
- data/fckeditor/editor/_source/classes/fckdomrange.js +452 -0
- data/fckeditor/editor/_source/classes/fckdomrange_gecko.js +71 -0
- data/fckeditor/editor/_source/classes/fckdomrange_ie.js +149 -0
- data/fckeditor/editor/_source/classes/fckeditingarea.js +253 -0
- data/fckeditor/editor/_source/classes/fckelementpath.js +66 -0
- data/fckeditor/editor/_source/classes/fckenterkey.js +556 -0
- data/fckeditor/editor/_source/classes/fckevents.js +53 -0
- data/fckeditor/editor/_source/classes/fckicon.js +98 -0
- data/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
- data/fckeditor/editor/_source/classes/fckimagepreloader.js +68 -0
- data/fckeditor/editor/_source/classes/fckkeystrokehandler.js +136 -0
- data/fckeditor/editor/_source/classes/fckmenublock.js +143 -0
- data/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
- data/fckeditor/editor/_source/classes/fckmenuitem.js +160 -0
- data/fckeditor/editor/_source/classes/fckpanel.js +303 -0
- data/fckeditor/editor/_source/classes/fckplugin.js +56 -0
- data/fckeditor/editor/_source/classes/fckspecialcombo.js +363 -0
- data/fckeditor/editor/_source/classes/fckstyledef.js +59 -0
- data/fckeditor/editor/_source/classes/fckstyledef_gecko.js +119 -0
- data/fckeditor/editor/_source/classes/fckstyledef_ie.js +142 -0
- data/fckeditor/editor/_source/classes/fckstylesloader.js +88 -0
- data/fckeditor/editor/_source/classes/fcktoolbar.js +120 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbutton.js +74 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +222 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +114 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +47 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +52 -0
- data/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +91 -0
- data/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +134 -0
- data/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +111 -0
- data/fckeditor/editor/_source/classes/fckw3crange.js +448 -0
- data/fckeditor/editor/_source/classes/fckxml_gecko.js +87 -0
- data/fckeditor/editor/_source/classes/fckxml_ie.js +90 -0
- data/fckeditor/editor/_source/commandclasses/fck_othercommands.js +380 -0
- data/fckeditor/editor/_source/commandclasses/fckfitwindow.js +169 -0
- data/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +37 -0
- data/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +38 -0
- data/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +39 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +67 -0
- data/fckeditor/editor/_source/commandclasses/fckstylecommand.js +99 -0
- data/fckeditor/editor/_source/commandclasses/fcktablecommand.js +71 -0
- data/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +175 -0
- data/fckeditor/editor/_source/fckconstants.js +52 -0
- data/fckeditor/editor/_source/fckeditorapi.js +161 -0
- data/fckeditor/editor/_source/fckjscoreextensions.js +152 -0
- data/fckeditor/editor/_source/fckscriptloader.js +108 -0
- data/fckeditor/editor/_source/internals/fck.js +859 -0
- data/fckeditor/editor/_source/internals/fck_contextmenu.js +307 -0
- data/fckeditor/editor/_source/internals/fck_gecko.js +254 -0
- data/fckeditor/editor/_source/internals/fck_ie.js +383 -0
- data/fckeditor/editor/_source/internals/fckbrowserinfo.js +48 -0
- data/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
- data/fckeditor/editor/_source/internals/fckcommands.js +132 -0
- data/fckeditor/editor/_source/internals/fckconfig.js +199 -0
- data/fckeditor/editor/_source/internals/fckdebug.js +56 -0
- data/fckeditor/editor/_source/internals/fckdialog.js +38 -0
- data/fckeditor/editor/_source/internals/fckdialog_gecko.js +103 -0
- data/fckeditor/editor/_source/internals/fckdialog_ie.js +48 -0
- data/fckeditor/editor/_source/internals/fckdocumentprocessor.js +243 -0
- data/fckeditor/editor/_source/internals/fckdomtools.js +294 -0
- data/fckeditor/editor/_source/internals/fcklanguagemanager.js +161 -0
- data/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
- data/fckeditor/editor/_source/internals/fcklistslib.js +60 -0
- data/fckeditor/editor/_source/internals/fckplugins.js +46 -0
- data/fckeditor/editor/_source/internals/fckregexlib.js +95 -0
- data/fckeditor/editor/_source/internals/fckselection.js +24 -0
- data/fckeditor/editor/_source/internals/fckselection_gecko.js +151 -0
- data/fckeditor/editor/_source/internals/fckselection_ie.js +158 -0
- data/fckeditor/editor/_source/internals/fcktablehandler.js +385 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +57 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_ie.js +58 -0
- data/fckeditor/editor/_source/internals/fcktoolbaritems.js +121 -0
- data/fckeditor/editor/_source/internals/fcktoolbarset.js +357 -0
- data/fckeditor/editor/_source/internals/fcktools.js +225 -0
- data/fckeditor/editor/_source/internals/fcktools_gecko.js +235 -0
- data/fckeditor/editor/_source/internals/fcktools_ie.js +214 -0
- data/fckeditor/editor/_source/internals/fckundo_gecko.js +27 -0
- data/fckeditor/editor/_source/internals/fckundo_ie.js +123 -0
- data/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
- data/fckeditor/editor/_source/internals/fckxhtml.js +466 -0
- data/fckeditor/editor/_source/internals/fckxhtml_gecko.js +66 -0
- data/fckeditor/editor/_source/internals/fckxhtml_ie.js +194 -0
- data/fckeditor/editor/_source/internals/fckxhtmlentities.js +345 -0
- data/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
- data/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
- data/fckeditor/editor/css/fck_editorarea.css +91 -0
- data/fckeditor/editor/css/fck_internal.css +111 -0
- data/fckeditor/editor/css/fck_showtableborders_gecko.css +42 -0
- data/fckeditor/editor/css/images/fck_anchor.gif +0 -0
- data/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
- data/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
- data/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.css +83 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.js +154 -0
- data/fckeditor/editor/dialog/common/fcknumericfield.htc +24 -0
- data/fckeditor/editor/dialog/common/images/locked.gif +0 -0
- data/fckeditor/editor/dialog/common/images/reset.gif +0 -0
- data/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
- data/fckeditor/editor/dialog/common/moz-bindings.xml +30 -0
- data/fckeditor/editor/dialog/fck_about.html +155 -0
- data/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
- data/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
- data/fckeditor/editor/dialog/fck_anchor.html +227 -0
- data/fckeditor/editor/dialog/fck_button.html +107 -0
- data/fckeditor/editor/dialog/fck_checkbox.html +107 -0
- data/fckeditor/editor/dialog/fck_colorselector.html +171 -0
- data/fckeditor/editor/dialog/fck_docprops.html +600 -0
- data/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
- data/fckeditor/editor/dialog/fck_find.html +173 -0
- data/fckeditor/editor/dialog/fck_flash.html +146 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash.js +288 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +46 -0
- data/fckeditor/editor/dialog/fck_form.html +105 -0
- data/fckeditor/editor/dialog/fck_hiddenfield.html +116 -0
- data/fckeditor/editor/dialog/fck_image.html +252 -0
- data/fckeditor/editor/dialog/fck_image/fck_image.js +486 -0
- data/fckeditor/editor/dialog/fck_image/fck_image_preview.html +66 -0
- data/fckeditor/editor/dialog/fck_link.html +293 -0
- data/fckeditor/editor/dialog/fck_link/fck_link.js +664 -0
- data/fckeditor/editor/dialog/fck_listprop.html +116 -0
- data/fckeditor/editor/dialog/fck_paste.html +285 -0
- data/fckeditor/editor/dialog/fck_radiobutton.html +107 -0
- data/fckeditor/editor/dialog/fck_replace.html +156 -0
- data/fckeditor/editor/dialog/fck_select.html +176 -0
- data/fckeditor/editor/dialog/fck_select/fck_select.js +169 -0
- data/fckeditor/editor/dialog/fck_smiley.html +105 -0
- data/fckeditor/editor/dialog/fck_source.html +65 -0
- data/fckeditor/editor/dialog/fck_specialchar.html +113 -0
- data/fckeditor/editor/dialog/fck_spellerpages.html +64 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +174 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +196 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +180 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +462 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
- data/fckeditor/editor/dialog/fck_table.html +286 -0
- data/fckeditor/editor/dialog/fck_tablecell.html +255 -0
- data/fckeditor/editor/dialog/fck_template.html +242 -0
- data/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
- data/fckeditor/editor/dialog/fck_textarea.html +94 -0
- data/fckeditor/editor/dialog/fck_textfield.html +139 -0
- data/fckeditor/editor/fckdebug.html +153 -0
- data/fckeditor/editor/fckdialog.html +324 -0
- data/fckeditor/editor/fckeditor.html +227 -0
- data/fckeditor/editor/fckeditor.original.html +319 -0
- data/fckeditor/editor/filemanager/browser/default/browser.css +88 -0
- data/fckeditor/editor/filemanager/browser/default/browser.html +154 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp +62 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp +183 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp +49 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp +124 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp +89 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp +55 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx +30 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm +99 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm +363 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso +249 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl +63 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl +158 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi +137 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl +131 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl +667 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl +60 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php +75 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php +222 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/config.php +56 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php +113 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/io.php +101 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/util.php +41 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py +785 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/test.html +180 -0
- data/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +67 -0
- data/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/frmfolders.html +196 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +160 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +65 -0
- data/fckeditor/editor/filemanager/browser/default/frmupload.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/js/common.js +55 -0
- data/fckeditor/editor/filemanager/browser/default/js/fckxml.js +130 -0
- data/fckeditor/editor/filemanager/upload/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/upload/asp/config.asp +52 -0
- data/fckeditor/editor/filemanager/upload/asp/io.asp +29 -0
- data/fckeditor/editor/filemanager/upload/asp/upload.asp +121 -0
- data/fckeditor/editor/filemanager/upload/aspx/upload.aspx +30 -0
- data/fckeditor/editor/filemanager/upload/cfm/config.cfm +98 -0
- data/fckeditor/editor/filemanager/upload/cfm/upload.cfm +168 -0
- data/fckeditor/editor/filemanager/upload/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/upload/lasso/upload.lasso +157 -0
- data/fckeditor/editor/filemanager/upload/php/config.php +56 -0
- data/fckeditor/editor/filemanager/upload/php/upload.php +124 -0
- data/fckeditor/editor/filemanager/upload/php/util.php +40 -0
- data/fckeditor/editor/filemanager/upload/test.html +133 -0
- data/fckeditor/editor/images/anchor.gif +0 -0
- data/fckeditor/editor/images/arrow_ltr.gif +0 -0
- data/fckeditor/editor/images/arrow_rtl.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
- data/fckeditor/editor/images/spacer.gif +0 -0
- data/fckeditor/editor/js/fckeditorcode_gecko.js +98 -0
- data/fckeditor/editor/js/fckeditorcode_ie.js +99 -0
- data/fckeditor/editor/lang/_getfontformat.html +85 -0
- data/fckeditor/editor/lang/_translationstatus.txt +76 -0
- data/fckeditor/editor/lang/af.js +504 -0
- data/fckeditor/editor/lang/ar.js +504 -0
- data/fckeditor/editor/lang/bg.js +504 -0
- data/fckeditor/editor/lang/bn.js +504 -0
- data/fckeditor/editor/lang/bs.js +504 -0
- data/fckeditor/editor/lang/ca.js +504 -0
- data/fckeditor/editor/lang/cs.js +504 -0
- data/fckeditor/editor/lang/da.js +504 -0
- data/fckeditor/editor/lang/de.js +504 -0
- data/fckeditor/editor/lang/el.js +504 -0
- data/fckeditor/editor/lang/en-au.js +504 -0
- data/fckeditor/editor/lang/en-ca.js +504 -0
- data/fckeditor/editor/lang/en-uk.js +504 -0
- data/fckeditor/editor/lang/en.js +504 -0
- data/fckeditor/editor/lang/eo.js +504 -0
- data/fckeditor/editor/lang/es.js +504 -0
- data/fckeditor/editor/lang/et.js +504 -0
- data/fckeditor/editor/lang/eu.js +505 -0
- data/fckeditor/editor/lang/fa.js +504 -0
- data/fckeditor/editor/lang/fi.js +504 -0
- data/fckeditor/editor/lang/fo.js +504 -0
- data/fckeditor/editor/lang/fr.js +504 -0
- data/fckeditor/editor/lang/gl.js +504 -0
- data/fckeditor/editor/lang/he.js +504 -0
- data/fckeditor/editor/lang/hi.js +504 -0
- data/fckeditor/editor/lang/hr.js +504 -0
- data/fckeditor/editor/lang/hu.js +504 -0
- data/fckeditor/editor/lang/it.js +504 -0
- data/fckeditor/editor/lang/ja.js +504 -0
- data/fckeditor/editor/lang/km.js +504 -0
- data/fckeditor/editor/lang/ko.js +504 -0
- data/fckeditor/editor/lang/lt.js +504 -0
- data/fckeditor/editor/lang/lv.js +504 -0
- data/fckeditor/editor/lang/mn.js +504 -0
- data/fckeditor/editor/lang/ms.js +504 -0
- data/fckeditor/editor/lang/nb.js +504 -0
- data/fckeditor/editor/lang/nl.js +504 -0
- data/fckeditor/editor/lang/no.js +504 -0
- data/fckeditor/editor/lang/pl.js +504 -0
- data/fckeditor/editor/lang/pt-br.js +504 -0
- data/fckeditor/editor/lang/pt.js +504 -0
- data/fckeditor/editor/lang/ro.js +504 -0
- data/fckeditor/editor/lang/ru.js +504 -0
- data/fckeditor/editor/lang/sk.js +504 -0
- data/fckeditor/editor/lang/sl.js +504 -0
- data/fckeditor/editor/lang/sr-latn.js +504 -0
- data/fckeditor/editor/lang/sr.js +504 -0
- data/fckeditor/editor/lang/sv.js +504 -0
- data/fckeditor/editor/lang/th.js +504 -0
- data/fckeditor/editor/lang/tr.js +504 -0
- data/fckeditor/editor/lang/uk.js +504 -0
- data/fckeditor/editor/lang/vi.js +504 -0
- data/fckeditor/editor/lang/zh-cn.js +504 -0
- data/fckeditor/editor/lang/zh.js +504 -0
- data/fckeditor/editor/plugins/autogrow/fckplugin.js +92 -0
- data/fckeditor/editor/plugins/placeholder/fck_placeholder.html +100 -0
- data/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
- data/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
- data/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
- data/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
- data/fckeditor/editor/plugins/tablecommands/fckplugin.js +32 -0
- data/fckeditor/editor/skins/_fckviewstrips.html +121 -0
- data/fckeditor/editor/skins/default/fck_dialog.css +137 -0
- data/fckeditor/editor/skins/default/fck_editor.css +464 -0
- data/fckeditor/editor/skins/default/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/office2003/fck_dialog.css +138 -0
- data/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
- data/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/silver/fck_dialog.css +141 -0
- data/fckeditor/editor/skins/silver/fck_editor.css +473 -0
- data/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
- data/fckeditor/fckconfig.js +224 -0
- data/fckeditor/fckeditor.js +214 -0
- data/fckeditor/fckstyles.xml +53 -0
- data/fckeditor/fcktemplates.xml +103 -0
- data/lib/Wiki2GoEditor/Install/editor.rb +39 -0
- data/test/test_install.rb +40 -0
- metadata +517 -0
@@ -0,0 +1,134 @@
|
|
1
|
+
/*
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
4
|
+
*
|
5
|
+
* == BEGIN LICENSE ==
|
6
|
+
*
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
8
|
+
* choice:
|
9
|
+
*
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
12
|
+
*
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
15
|
+
*
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
18
|
+
*
|
19
|
+
* == END LICENSE ==
|
20
|
+
*
|
21
|
+
* FCKContextMenu Class: renders an control a context menu.
|
22
|
+
*/
|
23
|
+
|
24
|
+
var FCKContextMenu = function( parentWindow, langDir )
|
25
|
+
{
|
26
|
+
var oPanel = this._Panel = new FCKPanel( parentWindow, true ) ;
|
27
|
+
oPanel.AppendStyleSheet( FCKConfig.SkinPath + 'fck_editor.css' ) ;
|
28
|
+
oPanel.IsContextMenu = true ;
|
29
|
+
|
30
|
+
// The FCKTools.DisableSelection doesn't seems to work to avoid dragging of the icons in Mozilla
|
31
|
+
// so we stop the start of the dragging
|
32
|
+
if ( FCKBrowserInfo.IsGecko )
|
33
|
+
oPanel.Document.addEventListener( 'draggesture', function(e) {e.preventDefault(); return false;}, true ) ;
|
34
|
+
|
35
|
+
var oMenuBlock = this._MenuBlock = new FCKMenuBlock() ;
|
36
|
+
oMenuBlock.Panel = oPanel ;
|
37
|
+
oMenuBlock.OnClick = FCKTools.CreateEventListener( FCKContextMenu_MenuBlock_OnClick, this ) ;
|
38
|
+
|
39
|
+
this._Redraw = true ;
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
FCKContextMenu.prototype.SetMouseClickWindow = function( mouseClickWindow )
|
44
|
+
{
|
45
|
+
if ( !FCKBrowserInfo.IsIE )
|
46
|
+
{
|
47
|
+
this._Document = mouseClickWindow.document ;
|
48
|
+
this._Document.addEventListener( 'contextmenu', FCKContextMenu_Document_OnContextMenu, false ) ;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
FCKContextMenu.prototype.AddItem = function( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled )
|
53
|
+
{
|
54
|
+
var oItem = this._MenuBlock.AddItem( name, label, iconPathOrStripInfoArrayOrIndex, isDisabled) ;
|
55
|
+
this._Redraw = true ;
|
56
|
+
return oItem ;
|
57
|
+
}
|
58
|
+
|
59
|
+
FCKContextMenu.prototype.AddSeparator = function()
|
60
|
+
{
|
61
|
+
this._MenuBlock.AddSeparator() ;
|
62
|
+
this._Redraw = true ;
|
63
|
+
}
|
64
|
+
|
65
|
+
FCKContextMenu.prototype.RemoveAllItems = function()
|
66
|
+
{
|
67
|
+
this._MenuBlock.RemoveAllItems() ;
|
68
|
+
this._Redraw = true ;
|
69
|
+
}
|
70
|
+
|
71
|
+
FCKContextMenu.prototype.AttachToElement = function( element )
|
72
|
+
{
|
73
|
+
if ( FCKBrowserInfo.IsIE )
|
74
|
+
FCKTools.AddEventListenerEx( element, 'contextmenu', FCKContextMenu_AttachedElement_OnContextMenu, this ) ;
|
75
|
+
else
|
76
|
+
element._FCKContextMenu = this ;
|
77
|
+
|
78
|
+
// element.onmouseup = FCKContextMenu_AttachedElement_OnMouseUp ;
|
79
|
+
}
|
80
|
+
|
81
|
+
function FCKContextMenu_Document_OnContextMenu( e )
|
82
|
+
{
|
83
|
+
var el = e.target ;
|
84
|
+
|
85
|
+
while ( el )
|
86
|
+
{
|
87
|
+
if ( el._FCKContextMenu )
|
88
|
+
{
|
89
|
+
FCKTools.CancelEvent( e ) ;
|
90
|
+
FCKContextMenu_AttachedElement_OnContextMenu( e, el._FCKContextMenu, el ) ;
|
91
|
+
}
|
92
|
+
el = el.parentNode ;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
function FCKContextMenu_AttachedElement_OnContextMenu( ev, fckContextMenu, el )
|
97
|
+
{
|
98
|
+
// var iButton = e ? e.which - 1 : event.button ;
|
99
|
+
|
100
|
+
// if ( iButton != 2 )
|
101
|
+
// return ;
|
102
|
+
|
103
|
+
var eTarget = el || this ;
|
104
|
+
|
105
|
+
if ( fckContextMenu.OnBeforeOpen )
|
106
|
+
fckContextMenu.OnBeforeOpen.call( fckContextMenu, eTarget ) ;
|
107
|
+
|
108
|
+
if ( fckContextMenu._MenuBlock.Count() == 0 )
|
109
|
+
return false ;
|
110
|
+
|
111
|
+
if ( fckContextMenu._Redraw )
|
112
|
+
{
|
113
|
+
fckContextMenu._MenuBlock.Create( fckContextMenu._Panel.MainNode ) ;
|
114
|
+
fckContextMenu._Redraw = false ;
|
115
|
+
}
|
116
|
+
|
117
|
+
// This will avoid that the content of the context menu can be dragged in IE
|
118
|
+
// as the content of the panel is recreated we need to do it every time
|
119
|
+
FCKTools.DisableSelection( fckContextMenu._Panel.Document.body ) ;
|
120
|
+
|
121
|
+
fckContextMenu._Panel.Show(
|
122
|
+
ev.pageX || ev.screenX,
|
123
|
+
ev.pageY || ev.screenY,
|
124
|
+
ev.currentTarget || null
|
125
|
+
) ;
|
126
|
+
|
127
|
+
return false ;
|
128
|
+
}
|
129
|
+
|
130
|
+
function FCKContextMenu_MenuBlock_OnClick( menuItem, contextMenu )
|
131
|
+
{
|
132
|
+
contextMenu._Panel.Hide() ;
|
133
|
+
FCKTools.RunFunction( contextMenu.OnItemClick, contextMenu, menuItem ) ;
|
134
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
/*
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
4
|
+
*
|
5
|
+
* == BEGIN LICENSE ==
|
6
|
+
*
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
8
|
+
* choice:
|
9
|
+
*
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
12
|
+
*
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
15
|
+
*
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
18
|
+
*
|
19
|
+
* == END LICENSE ==
|
20
|
+
*
|
21
|
+
* This is a generic Document Fragment object. It is not intended to provide
|
22
|
+
* the W3C implementation, but is a way to fix the missing of a real Document
|
23
|
+
* Fragment in IE (where document.createDocumentFragment() returns a normal
|
24
|
+
* document instead), giving a standard interface for it.
|
25
|
+
* (IE Implementation)
|
26
|
+
*/
|
27
|
+
|
28
|
+
var FCKDocumentFragment = function( parentDocument, baseDocFrag )
|
29
|
+
{
|
30
|
+
this.RootNode = baseDocFrag || parentDocument.createDocumentFragment() ;
|
31
|
+
}
|
32
|
+
|
33
|
+
FCKDocumentFragment.prototype =
|
34
|
+
{
|
35
|
+
|
36
|
+
// Append the contents of this Document Fragment to another element.
|
37
|
+
AppendTo : function( targetNode )
|
38
|
+
{
|
39
|
+
targetNode.appendChild( this.RootNode ) ;
|
40
|
+
},
|
41
|
+
|
42
|
+
InsertAfterNode : function( existingNode )
|
43
|
+
{
|
44
|
+
FCKDomTools.InsertAfterNode( existingNode, this.RootNode ) ;
|
45
|
+
}
|
46
|
+
}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/*
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
4
|
+
*
|
5
|
+
* == BEGIN LICENSE ==
|
6
|
+
*
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
8
|
+
* choice:
|
9
|
+
*
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
12
|
+
*
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
15
|
+
*
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
18
|
+
*
|
19
|
+
* == END LICENSE ==
|
20
|
+
*
|
21
|
+
* This is a generic Document Fragment object. It is not intended to provide
|
22
|
+
* the W3C implementation, but is a way to fix the missing of a real Document
|
23
|
+
* Fragment in IE (where document.createDocumentFragment() returns a normal
|
24
|
+
* document instead), giving a standard interface for it.
|
25
|
+
* (IE Implementation)
|
26
|
+
*/
|
27
|
+
|
28
|
+
var FCKDocumentFragment = function( parentDocument )
|
29
|
+
{
|
30
|
+
this._Document = parentDocument ;
|
31
|
+
this.RootNode = parentDocument.createElement( 'div' ) ;
|
32
|
+
}
|
33
|
+
|
34
|
+
// Append the contents of this Document Fragment to another node.
|
35
|
+
FCKDocumentFragment.prototype =
|
36
|
+
{
|
37
|
+
|
38
|
+
AppendTo : function( targetNode )
|
39
|
+
{
|
40
|
+
FCKDomTools.MoveChildren( this.RootNode, targetNode ) ;
|
41
|
+
},
|
42
|
+
|
43
|
+
AppendHtml : function( html )
|
44
|
+
{
|
45
|
+
var eTmpDiv = this._Document.createElement( 'div' ) ;
|
46
|
+
eTmpDiv.innerHTML = html ;
|
47
|
+
FCKDomTools.MoveChildren( eTmpDiv, this.RootNode ) ;
|
48
|
+
},
|
49
|
+
|
50
|
+
InsertAfterNode : function( existingNode )
|
51
|
+
{
|
52
|
+
var eRoot = this.RootNode ;
|
53
|
+
var eLast ;
|
54
|
+
|
55
|
+
while( ( eLast = eRoot.lastChild ) )
|
56
|
+
FCKDomTools.InsertAfterNode( existingNode, eRoot.removeChild( eLast ) ) ;
|
57
|
+
}
|
58
|
+
} ;
|
@@ -0,0 +1,452 @@
|
|
1
|
+
/*
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
4
|
+
*
|
5
|
+
* == BEGIN LICENSE ==
|
6
|
+
*
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
8
|
+
* choice:
|
9
|
+
*
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
12
|
+
*
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
15
|
+
*
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
18
|
+
*
|
19
|
+
* == END LICENSE ==
|
20
|
+
*
|
21
|
+
* Class for working with a selection range, much like the W3C DOM Range, but
|
22
|
+
* it is not intented to be an implementation of the W3C interface.
|
23
|
+
*/
|
24
|
+
|
25
|
+
var FCKDomRange = function( sourceWindow )
|
26
|
+
{
|
27
|
+
this.Window = sourceWindow ;
|
28
|
+
}
|
29
|
+
|
30
|
+
FCKDomRange.prototype =
|
31
|
+
{
|
32
|
+
|
33
|
+
_UpdateElementInfo : function()
|
34
|
+
{
|
35
|
+
if ( !this._Range )
|
36
|
+
this.Release( true ) ;
|
37
|
+
else
|
38
|
+
{
|
39
|
+
var eStart = this._Range.startContainer ;
|
40
|
+
var eEnd = this._Range.endContainer ;
|
41
|
+
|
42
|
+
var oElementPath = new FCKElementPath( eStart ) ;
|
43
|
+
this.StartContainer = oElementPath.LastElement ;
|
44
|
+
this.StartBlock = oElementPath.Block ;
|
45
|
+
this.StartBlockLimit = oElementPath.BlockLimit ;
|
46
|
+
|
47
|
+
if ( eStart != eEnd )
|
48
|
+
oElementPath = new FCKElementPath( eEnd ) ;
|
49
|
+
this.EndContainer = oElementPath.LastElement ;
|
50
|
+
this.EndBlock = oElementPath.Block ;
|
51
|
+
this.EndBlockLimit = oElementPath.BlockLimit ;
|
52
|
+
}
|
53
|
+
},
|
54
|
+
|
55
|
+
CreateRange : function()
|
56
|
+
{
|
57
|
+
return new FCKW3CRange( this.Window.document ) ;
|
58
|
+
},
|
59
|
+
|
60
|
+
DeleteContents : function()
|
61
|
+
{
|
62
|
+
if ( this._Range )
|
63
|
+
{
|
64
|
+
this._Range.deleteContents() ;
|
65
|
+
this._UpdateElementInfo() ;
|
66
|
+
}
|
67
|
+
},
|
68
|
+
|
69
|
+
ExtractContents : function()
|
70
|
+
{
|
71
|
+
if ( this._Range )
|
72
|
+
{
|
73
|
+
var docFrag = this._Range.extractContents() ;
|
74
|
+
this._UpdateElementInfo() ;
|
75
|
+
return docFrag ;
|
76
|
+
}
|
77
|
+
},
|
78
|
+
|
79
|
+
CheckIsCollapsed : function()
|
80
|
+
{
|
81
|
+
if ( this._Range )
|
82
|
+
return this._Range.collapsed ;
|
83
|
+
},
|
84
|
+
|
85
|
+
Collapse : function( toStart )
|
86
|
+
{
|
87
|
+
if ( this._Range )
|
88
|
+
this._Range.collapse( toStart ) ;
|
89
|
+
|
90
|
+
this._UpdateElementInfo() ;
|
91
|
+
},
|
92
|
+
|
93
|
+
Clone : function()
|
94
|
+
{
|
95
|
+
var oClone = FCKTools.CloneObject( this ) ;
|
96
|
+
|
97
|
+
if ( this._Range )
|
98
|
+
oClone._Range = this._Range.cloneRange() ;
|
99
|
+
|
100
|
+
return oClone ;
|
101
|
+
},
|
102
|
+
|
103
|
+
MoveToNodeContents : function( targetNode )
|
104
|
+
{
|
105
|
+
if ( !this._Range )
|
106
|
+
this._Range = this.CreateRange() ;
|
107
|
+
|
108
|
+
this._Range.selectNodeContents( targetNode ) ;
|
109
|
+
|
110
|
+
this._UpdateElementInfo() ;
|
111
|
+
},
|
112
|
+
|
113
|
+
MoveToElementStart : function( targetElement )
|
114
|
+
{
|
115
|
+
this.SetStart(targetElement,1) ;
|
116
|
+
this.SetEnd(targetElement,1) ;
|
117
|
+
},
|
118
|
+
|
119
|
+
// Moves to the first editing point inside a element. For example, in a
|
120
|
+
// element tree like "<p><b><i></i></b> Text</p>", the start editing point
|
121
|
+
// is "<p><b><i>^</i></b> Text</p>" (inside <i>).
|
122
|
+
MoveToElementEditStart : function( targetElement )
|
123
|
+
{
|
124
|
+
var child ;
|
125
|
+
|
126
|
+
while ( ( child = targetElement.firstChild ) && child.nodeType == 1 && FCKListsLib.EmptyElements[ child.nodeName.toLowerCase() ] == null )
|
127
|
+
targetElement = child ;
|
128
|
+
|
129
|
+
this.MoveToElementStart( targetElement ) ;
|
130
|
+
},
|
131
|
+
|
132
|
+
InsertNode : function( node )
|
133
|
+
{
|
134
|
+
if ( this._Range )
|
135
|
+
this._Range.insertNode( node ) ;
|
136
|
+
},
|
137
|
+
|
138
|
+
CheckIsEmpty : function( ignoreEndBRs )
|
139
|
+
{
|
140
|
+
if ( this.CheckIsCollapsed() )
|
141
|
+
return true ;
|
142
|
+
|
143
|
+
// Inserts the contents of the range in a div tag.
|
144
|
+
var eToolDiv = this.Window.document.createElement( 'div' ) ;
|
145
|
+
this._Range.cloneContents().AppendTo( eToolDiv ) ;
|
146
|
+
|
147
|
+
FCKDomTools.TrimNode( eToolDiv, ignoreEndBRs ) ;
|
148
|
+
|
149
|
+
return ( eToolDiv.innerHTML.length == 0 ) ;
|
150
|
+
},
|
151
|
+
|
152
|
+
CheckStartOfBlock : function()
|
153
|
+
{
|
154
|
+
// Create a clone of the current range.
|
155
|
+
var oTestRange = this.Clone() ;
|
156
|
+
|
157
|
+
// Collapse it to its start point.
|
158
|
+
oTestRange.Collapse( true ) ;
|
159
|
+
|
160
|
+
// Move the start boundary to the start of the block.
|
161
|
+
oTestRange.SetStart( oTestRange.StartBlock || oTestRange.StartBlockLimit, 1 ) ;
|
162
|
+
|
163
|
+
var bIsStartOfBlock = oTestRange.CheckIsEmpty() ;
|
164
|
+
|
165
|
+
oTestRange.Release() ;
|
166
|
+
|
167
|
+
return bIsStartOfBlock ;
|
168
|
+
},
|
169
|
+
|
170
|
+
CheckEndOfBlock : function( refreshSelection )
|
171
|
+
{
|
172
|
+
// Create a clone of the current range.
|
173
|
+
var oTestRange = this.Clone() ;
|
174
|
+
|
175
|
+
// Collapse it to its end point.
|
176
|
+
oTestRange.Collapse( false ) ;
|
177
|
+
|
178
|
+
// Move the end boundary to the end of the block.
|
179
|
+
oTestRange.SetEnd( oTestRange.EndBlock || oTestRange.EndBlockLimit, 2 ) ;
|
180
|
+
|
181
|
+
var bIsEndOfBlock = oTestRange.CheckIsCollapsed() ;
|
182
|
+
|
183
|
+
if ( !bIsEndOfBlock )
|
184
|
+
{
|
185
|
+
// Inserts the contents of the range in a div tag.
|
186
|
+
var eToolDiv = this.Window.document.createElement( 'div' ) ;
|
187
|
+
oTestRange._Range.cloneContents().AppendTo( eToolDiv ) ;
|
188
|
+
FCKDomTools.TrimNode( eToolDiv, true ) ;
|
189
|
+
|
190
|
+
// Find out if we are in an empty tree of inline elements, like <b><i><span></span></i></b>
|
191
|
+
bIsEndOfBlock = true ;
|
192
|
+
var eLastChild = eToolDiv ;
|
193
|
+
while ( ( eLastChild = eLastChild.lastChild ) )
|
194
|
+
{
|
195
|
+
// Check the following:
|
196
|
+
// 1. Is there more than one node in the parents children?
|
197
|
+
// 2. Is the node not an element node?
|
198
|
+
// 3. Is it not a inline element.
|
199
|
+
if ( eLastChild.previousSibling || eLastChild.nodeType != 1 || FCKListsLib.InlineChildReqElements[ eLastChild.nodeName.toLowerCase() ] == null )
|
200
|
+
{
|
201
|
+
// So we are not in the end of the range.
|
202
|
+
bIsEndOfBlock = false ;
|
203
|
+
break ;
|
204
|
+
}
|
205
|
+
}
|
206
|
+
}
|
207
|
+
|
208
|
+
oTestRange.Release() ;
|
209
|
+
|
210
|
+
if ( refreshSelection )
|
211
|
+
this.Select() ;
|
212
|
+
|
213
|
+
return bIsEndOfBlock ;
|
214
|
+
},
|
215
|
+
|
216
|
+
CreateBookmark : function()
|
217
|
+
{
|
218
|
+
// Create the bookmark info (random IDs).
|
219
|
+
var oBookmark =
|
220
|
+
{
|
221
|
+
StartId : 'fck_dom_range_start_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000),
|
222
|
+
EndId : 'fck_dom_range_end_' + (new Date()).valueOf() + '_' + Math.floor(Math.random()*1000)
|
223
|
+
} ;
|
224
|
+
|
225
|
+
var oDoc = this.Window.document ;
|
226
|
+
var eSpan ;
|
227
|
+
var oClone ;
|
228
|
+
|
229
|
+
// For collapsed ranges, add just the start marker.
|
230
|
+
if ( !this.CheckIsCollapsed() )
|
231
|
+
{
|
232
|
+
eSpan = oDoc.createElement( 'span' ) ;
|
233
|
+
eSpan.id = oBookmark.EndId ;
|
234
|
+
eSpan.innerHTML = ' ' ; // For IE, it must have something inside, otherwise it may be removed during operations.
|
235
|
+
|
236
|
+
oClone = this.Clone() ;
|
237
|
+
oClone.Collapse( false ) ;
|
238
|
+
oClone.InsertNode( eSpan ) ;
|
239
|
+
}
|
240
|
+
|
241
|
+
eSpan = oDoc.createElement( 'span' ) ;
|
242
|
+
eSpan.id = oBookmark.StartId ;
|
243
|
+
eSpan.innerHTML = ' ' ; // For IE, it must have something inside, otherwise it may be removed during operations.
|
244
|
+
|
245
|
+
oClone = this.Clone() ;
|
246
|
+
oClone.Collapse( true ) ;
|
247
|
+
oClone.InsertNode( eSpan ) ;
|
248
|
+
|
249
|
+
return oBookmark ;
|
250
|
+
},
|
251
|
+
|
252
|
+
MoveToBookmark : function( bookmark, preserveBookmark )
|
253
|
+
{
|
254
|
+
var oDoc = this.Window.document ;
|
255
|
+
|
256
|
+
var eStartSpan = oDoc.getElementById( bookmark.StartId ) ;
|
257
|
+
var eEndSpan = oDoc.getElementById( bookmark.EndId ) ;
|
258
|
+
|
259
|
+
this.SetStart( eStartSpan, 3 ) ;
|
260
|
+
|
261
|
+
if ( !preserveBookmark )
|
262
|
+
FCKDomTools.RemoveNode( eStartSpan ) ;
|
263
|
+
|
264
|
+
// If collapsed, the start span will not be available.
|
265
|
+
if ( eEndSpan )
|
266
|
+
{
|
267
|
+
this.SetEnd( eEndSpan, 3 ) ;
|
268
|
+
|
269
|
+
if ( !preserveBookmark )
|
270
|
+
FCKDomTools.RemoveNode( eEndSpan ) ;
|
271
|
+
}
|
272
|
+
else
|
273
|
+
this.Collapse( true ) ;
|
274
|
+
},
|
275
|
+
|
276
|
+
/*
|
277
|
+
* Moves the position of the start boundary of the range to a specific position
|
278
|
+
* relatively to a element.
|
279
|
+
* @position:
|
280
|
+
* 1 = After Start <target>^contents</target>
|
281
|
+
* 2 = Before End <target>contents^</target>
|
282
|
+
* 3 = Before Start ^<target>contents</target>
|
283
|
+
* 4 = After End <target>contents</target>^
|
284
|
+
*/
|
285
|
+
SetStart : function( targetElement, position )
|
286
|
+
{
|
287
|
+
var oRange = this._Range ;
|
288
|
+
if ( !oRange )
|
289
|
+
oRange = this._Range = this.CreateRange() ;
|
290
|
+
|
291
|
+
switch( position )
|
292
|
+
{
|
293
|
+
case 1 : // After Start <target>^contents</target>
|
294
|
+
oRange.setStart( targetElement, 0 ) ;
|
295
|
+
break ;
|
296
|
+
|
297
|
+
case 2 : // Before End <target>contents^</target>
|
298
|
+
oRange.setStart( targetElement, targetElement.childNodes.length ) ;
|
299
|
+
break ;
|
300
|
+
|
301
|
+
case 3 : // Before Start ^<target>contents</target>
|
302
|
+
oRange.setStartBefore( targetElement ) ;
|
303
|
+
break ;
|
304
|
+
|
305
|
+
case 4 : // After End <target>contents</target>^
|
306
|
+
oRange.setStartAfter( targetElement ) ;
|
307
|
+
}
|
308
|
+
this._UpdateElementInfo() ;
|
309
|
+
},
|
310
|
+
|
311
|
+
/*
|
312
|
+
* Moves the position of the start boundary of the range to a specific position
|
313
|
+
* relatively to a element.
|
314
|
+
* @position:
|
315
|
+
* 1 = After Start <target>^contents</target>
|
316
|
+
* 2 = Before End <target>contents^</target>
|
317
|
+
* 3 = Before Start ^<target>contents</target>
|
318
|
+
* 4 = After End <target>contents</target>^
|
319
|
+
*/
|
320
|
+
SetEnd : function( targetElement, position )
|
321
|
+
{
|
322
|
+
var oRange = this._Range ;
|
323
|
+
if ( !oRange )
|
324
|
+
oRange = this._Range = this.CreateRange() ;
|
325
|
+
|
326
|
+
switch( position )
|
327
|
+
{
|
328
|
+
case 1 : // After Start <target>^contents</target>
|
329
|
+
oRange.setEnd( targetElement, 0 ) ;
|
330
|
+
break ;
|
331
|
+
|
332
|
+
case 2 : // Before End <target>contents^</target>
|
333
|
+
oRange.setEnd( targetElement, targetElement.childNodes.length ) ;
|
334
|
+
break ;
|
335
|
+
|
336
|
+
case 3 : // Before Start ^<target>contents</target>
|
337
|
+
oRange.setEndBefore( targetElement ) ;
|
338
|
+
break ;
|
339
|
+
|
340
|
+
case 4 : // After End <target>contents</target>^
|
341
|
+
oRange.setEndAfter( targetElement ) ;
|
342
|
+
}
|
343
|
+
this._UpdateElementInfo() ;
|
344
|
+
},
|
345
|
+
|
346
|
+
Expand : function( unit )
|
347
|
+
{
|
348
|
+
var oNode, oSibling ;
|
349
|
+
|
350
|
+
switch ( unit )
|
351
|
+
{
|
352
|
+
case 'block_contents' :
|
353
|
+
if ( this.StartBlock )
|
354
|
+
this.SetStart( this.StartBlock, 1 ) ;
|
355
|
+
else
|
356
|
+
{
|
357
|
+
// Get the start node for the current range.
|
358
|
+
oNode = this._Range.startContainer ;
|
359
|
+
|
360
|
+
// If it is an element, get the current child node for the range (in the offset).
|
361
|
+
// If the offset node is not available, the the first one.
|
362
|
+
if ( oNode.nodeType == 1 )
|
363
|
+
{
|
364
|
+
if ( !( oNode = oNode.childNodes[ this._Range.startOffset ] ) )
|
365
|
+
oNode = oNode.firstChild ;
|
366
|
+
}
|
367
|
+
|
368
|
+
// Not able to defined the current position.
|
369
|
+
if ( !oNode )
|
370
|
+
return ;
|
371
|
+
|
372
|
+
// We must look for the left boundary, relative to the range
|
373
|
+
// start, which is limited by a block element.
|
374
|
+
while ( true )
|
375
|
+
{
|
376
|
+
oSibling = oNode.previousSibling ;
|
377
|
+
|
378
|
+
if ( !oSibling )
|
379
|
+
{
|
380
|
+
// Continue if we are not yet in the block limit (inside a <b>, for example).
|
381
|
+
if ( oNode.parentNode != this.StartBlockLimit )
|
382
|
+
oNode = oNode.parentNode ;
|
383
|
+
else
|
384
|
+
break ;
|
385
|
+
}
|
386
|
+
else if ( oSibling.nodeType != 1 || !(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test( oSibling.nodeName.toUpperCase() ) )
|
387
|
+
{
|
388
|
+
// Continue if the sibling is not a block tag.
|
389
|
+
oNode = oSibling ;
|
390
|
+
}
|
391
|
+
else
|
392
|
+
break ;
|
393
|
+
}
|
394
|
+
|
395
|
+
this._Range.setStartBefore( oNode ) ;
|
396
|
+
}
|
397
|
+
|
398
|
+
if ( this.EndBlock )
|
399
|
+
this.SetEnd( this.EndBlock, 2 ) ;
|
400
|
+
else
|
401
|
+
{
|
402
|
+
oNode = this._Range.endContainer ;
|
403
|
+
if ( oNode.nodeType == 1 )
|
404
|
+
oNode = oNode.childNodes[ this._Range.endOffset ] || oNode.lastChild ;
|
405
|
+
|
406
|
+
if ( !oNode )
|
407
|
+
return ;
|
408
|
+
|
409
|
+
// We must look for the right boundary, relative to the range
|
410
|
+
// end, which is limited by a block element.
|
411
|
+
while ( true )
|
412
|
+
{
|
413
|
+
oSibling = oNode.nextSibling ;
|
414
|
+
|
415
|
+
if ( !oSibling )
|
416
|
+
{
|
417
|
+
// Continue if we are not yet in the block limit (inide a <b>, for example).
|
418
|
+
if ( oNode.parentNode != this.EndBlockLimit )
|
419
|
+
oNode = oNode.parentNode ;
|
420
|
+
else
|
421
|
+
break ;
|
422
|
+
}
|
423
|
+
else if ( oSibling.nodeType != 1 || !(/^(?:P|DIV|H1|H2|H3|H4|H5|H6|ADDRESS|PRE|OL|UL|LI|DT|DE)$/).test( oSibling.nodeName.toUpperCase() ) )
|
424
|
+
{
|
425
|
+
// Continue if the sibling is not a block tag.
|
426
|
+
oNode = oSibling ;
|
427
|
+
}
|
428
|
+
else
|
429
|
+
break ;
|
430
|
+
}
|
431
|
+
|
432
|
+
this._Range.setEndAfter( oNode ) ;
|
433
|
+
}
|
434
|
+
|
435
|
+
this._UpdateElementInfo() ;
|
436
|
+
}
|
437
|
+
},
|
438
|
+
|
439
|
+
Release : function( preserveWindow )
|
440
|
+
{
|
441
|
+
if ( !preserveWindow )
|
442
|
+
this.Window = null ;
|
443
|
+
|
444
|
+
this.StartContainer = null ;
|
445
|
+
this.StartBlock = null ;
|
446
|
+
this.StartBlockLimit = null ;
|
447
|
+
this.EndContainer = null ;
|
448
|
+
this.EndBlock = null ;
|
449
|
+
this.EndBlockLimit = null ;
|
450
|
+
this._Range = null ;
|
451
|
+
}
|
452
|
+
} ;
|