spree_editor 0.30.1 → 0.40.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +4 -10
- data/app/controllers/admin/editor_settings_controller.rb +14 -0
- data/app/views/admin/editor_settings/edit.html.erb +23 -0
- data/app/views/admin/editor_settings/show.html.erb +20 -0
- data/app/views/shared/_rich_editor_javascript.html.erb +8 -0
- data/app/views/shared/editor_engines/_tiny_mce.html.erb +56 -0
- data/app/views/shared/editor_engines/_wym_editor.html.erb +8 -0
- data/app/views/shared/editor_engines/_yui_rich_editor.html.erb +172 -0
- data/config/locales/en.yml +36 -11
- data/config/locales/ru.yml +41 -16
- data/config/routes.rb +3 -1
- data/lib/editor_configuration.rb +5 -0
- data/lib/spree/editor/config.rb +22 -0
- data/lib/spree_editor.rb +1 -5
- data/lib/spree_editor_hooks.rb +16 -1
- data/public/javascripts/jquery.ocupload.js +7 -6
- data/public/javascripts/tinymce/jquery.tinymce.js +1 -0
- data/public/javascripts/tinymce/langs/en.js +170 -0
- data/public/javascripts/tinymce/license.txt +504 -0
- data/public/javascripts/tinymce/plugins/advhr/css/advhr.css +5 -0
- data/public/javascripts/tinymce/plugins/advhr/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/advhr/editor_plugin_src.js +57 -0
- data/public/javascripts/tinymce/plugins/advhr/js/rule.js +43 -0
- data/public/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +5 -0
- data/public/javascripts/tinymce/plugins/advhr/rule.htm +57 -0
- data/public/javascripts/tinymce/plugins/advimage/css/advimage.css +13 -0
- data/public/javascripts/tinymce/plugins/advimage/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/advimage/editor_plugin_src.js +50 -0
- data/public/javascripts/tinymce/plugins/advimage/image.htm +232 -0
- data/public/javascripts/tinymce/plugins/advimage/img/sample.gif +0 -0
- data/public/javascripts/tinymce/plugins/advimage/js/image.js +443 -0
- data/public/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +43 -0
- data/public/javascripts/tinymce/plugins/advlink/css/advlink.css +8 -0
- data/public/javascripts/tinymce/plugins/advlink/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/advlink/editor_plugin_src.js +61 -0
- data/public/javascripts/tinymce/plugins/advlink/js/advlink.js +528 -0
- data/public/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +52 -0
- data/public/javascripts/tinymce/plugins/advlink/link.htm +333 -0
- data/public/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +154 -0
- data/public/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +119 -0
- data/public/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +422 -0
- data/public/javascripts/tinymce/plugins/autosave/langs/en.js +4 -0
- data/public/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +120 -0
- data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +147 -0
- data/public/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +82 -0
- data/public/javascripts/tinymce/plugins/emotions/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/emotions/editor_plugin_src.js +43 -0
- data/public/javascripts/tinymce/plugins/emotions/emotions.htm +40 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
- data/public/javascripts/tinymce/plugins/emotions/js/emotions.js +22 -0
- data/public/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +20 -0
- data/public/javascripts/tinymce/plugins/example/dialog.htm +22 -0
- data/public/javascripts/tinymce/plugins/example/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/example/editor_plugin_src.js +84 -0
- data/public/javascripts/tinymce/plugins/example/img/example.gif +0 -0
- data/public/javascripts/tinymce/plugins/example/js/dialog.js +19 -0
- data/public/javascripts/tinymce/plugins/example/langs/en.js +3 -0
- data/public/javascripts/tinymce/plugins/example/langs/en_dlg.js +3 -0
- data/public/javascripts/tinymce/plugins/fullpage/css/fullpage.css +182 -0
- data/public/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +153 -0
- data/public/javascripts/tinymce/plugins/fullpage/fullpage.htm +571 -0
- data/public/javascripts/tinymce/plugins/fullpage/js/fullpage.js +471 -0
- data/public/javascripts/tinymce/plugins/fullpage/langs/en_dlg.js +85 -0
- data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +151 -0
- data/public/javascripts/tinymce/plugins/fullscreen/fullscreen.htm +109 -0
- data/public/javascripts/tinymce/plugins/iespell/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/iespell/editor_plugin_src.js +54 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +635 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +100 -0
- data/public/javascripts/tinymce/plugins/inlinepopups/template.htm +387 -0
- data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin_src.js +83 -0
- data/public/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/layer/editor_plugin_src.js +212 -0
- data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +136 -0
- data/public/javascripts/tinymce/plugins/media/css/content.css +6 -0
- data/public/javascripts/tinymce/plugins/media/css/media.css +16 -0
- data/public/javascripts/tinymce/plugins/media/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/media/editor_plugin_src.js +414 -0
- data/public/javascripts/tinymce/plugins/media/img/flash.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/img/flv_player.swf +0 -0
- data/public/javascripts/tinymce/plugins/media/img/quicktime.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/img/realmedia.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/img/shockwave.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/img/trans.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/img/windowsmedia.gif +0 -0
- data/public/javascripts/tinymce/plugins/media/js/embed.js +73 -0
- data/public/javascripts/tinymce/plugins/media/js/media.js +630 -0
- data/public/javascripts/tinymce/plugins/media/langs/en_dlg.js +103 -0
- data/public/javascripts/tinymce/plugins/media/media.htm +817 -0
- data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +53 -0
- data/public/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +90 -0
- data/public/javascripts/tinymce/plugins/pagebreak/css/content.css +1 -0
- data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +77 -0
- data/public/javascripts/tinymce/plugins/pagebreak/img/pagebreak.gif +0 -0
- data/public/javascripts/tinymce/plugins/pagebreak/img/trans.gif +0 -0
- data/public/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/paste/editor_plugin_src.js +952 -0
- data/public/javascripts/tinymce/plugins/paste/js/pastetext.js +36 -0
- data/public/javascripts/tinymce/plugins/paste/js/pasteword.js +51 -0
- data/public/javascripts/tinymce/plugins/paste/langs/en_dlg.js +5 -0
- data/public/javascripts/tinymce/plugins/paste/pastetext.htm +27 -0
- data/public/javascripts/tinymce/plugins/paste/pasteword.htm +21 -0
- data/public/javascripts/tinymce/plugins/preview/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/preview/editor_plugin_src.js +53 -0
- data/public/javascripts/tinymce/plugins/preview/example.html +28 -0
- data/public/javascripts/tinymce/plugins/preview/jscripts/embed.js +73 -0
- data/public/javascripts/tinymce/plugins/preview/preview.html +17 -0
- data/public/javascripts/tinymce/plugins/print/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/print/editor_plugin_src.js +34 -0
- data/public/javascripts/tinymce/plugins/save/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/save/editor_plugin_src.js +101 -0
- data/public/javascripts/tinymce/plugins/searchreplace/css/searchreplace.css +6 -0
- data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +57 -0
- data/public/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +138 -0
- data/public/javascripts/tinymce/plugins/searchreplace/langs/en_dlg.js +16 -0
- data/public/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +99 -0
- data/public/javascripts/tinymce/plugins/spellchecker/css/content.css +1 -0
- data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +417 -0
- data/public/javascripts/tinymce/plugins/spellchecker/img/wline.gif +0 -0
- data/public/javascripts/tinymce/plugins/style/css/props.css +13 -0
- data/public/javascripts/tinymce/plugins/style/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/style/editor_plugin_src.js +55 -0
- data/public/javascripts/tinymce/plugins/style/js/props.js +641 -0
- data/public/javascripts/tinymce/plugins/style/langs/en_dlg.js +63 -0
- data/public/javascripts/tinymce/plugins/style/props.htm +723 -0
- data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +112 -0
- data/public/javascripts/tinymce/plugins/table/cell.htm +178 -0
- data/public/javascripts/tinymce/plugins/table/css/cell.css +17 -0
- data/public/javascripts/tinymce/plugins/table/css/row.css +25 -0
- data/public/javascripts/tinymce/plugins/table/css/table.css +13 -0
- data/public/javascripts/tinymce/plugins/table/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/table/editor_plugin_src.js +1139 -0
- data/public/javascripts/tinymce/plugins/table/js/cell.js +286 -0
- data/public/javascripts/tinymce/plugins/table/js/merge_cells.js +27 -0
- data/public/javascripts/tinymce/plugins/table/js/row.js +237 -0
- data/public/javascripts/tinymce/plugins/table/js/table.js +454 -0
- data/public/javascripts/tinymce/plugins/table/langs/en_dlg.js +74 -0
- data/public/javascripts/tinymce/plugins/table/merge_cells.htm +32 -0
- data/public/javascripts/tinymce/plugins/table/row.htm +155 -0
- data/public/javascripts/tinymce/plugins/table/table.htm +187 -0
- data/public/javascripts/tinymce/plugins/template/blank.htm +12 -0
- data/public/javascripts/tinymce/plugins/template/css/template.css +23 -0
- data/public/javascripts/tinymce/plugins/template/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/template/editor_plugin_src.js +159 -0
- data/public/javascripts/tinymce/plugins/template/js/template.js +106 -0
- data/public/javascripts/tinymce/plugins/template/langs/en_dlg.js +15 -0
- data/public/javascripts/tinymce/plugins/template/template.htm +31 -0
- data/public/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +83 -0
- data/public/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +98 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +141 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +141 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +148 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +141 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/css/attributes.css +11 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/css/popup.css +9 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/del.htm +161 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +161 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/abbr.js +28 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/acronym.js +28 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +126 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/cite.js +28 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +53 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +231 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +52 -0
- data/public/javascripts/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
- data/public/javascripts/tinymce/themes/advanced/about.htm +54 -0
- data/public/javascripts/tinymce/themes/advanced/anchor.htm +26 -0
- data/public/javascripts/tinymce/themes/advanced/charmap.htm +52 -0
- data/public/javascripts/tinymce/themes/advanced/color_picker.htm +73 -0
- data/public/javascripts/tinymce/themes/advanced/editor_template.js +1 -0
- data/public/javascripts/tinymce/themes/advanced/editor_template_src.js +1229 -0
- data/public/javascripts/tinymce/themes/advanced/image.htm +80 -0
- data/public/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
- data/public/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/js/about.js +72 -0
- data/public/javascripts/tinymce/themes/advanced/js/anchor.js +37 -0
- data/public/javascripts/tinymce/themes/advanced/js/charmap.js +335 -0
- data/public/javascripts/tinymce/themes/advanced/js/color_picker.js +253 -0
- data/public/javascripts/tinymce/themes/advanced/js/image.js +245 -0
- data/public/javascripts/tinymce/themes/advanced/js/link.js +156 -0
- data/public/javascripts/tinymce/themes/advanced/js/source_editor.js +56 -0
- data/public/javascripts/tinymce/themes/advanced/langs/en.js +62 -0
- data/public/javascripts/tinymce/themes/advanced/langs/en_dlg.js +51 -0
- data/public/javascripts/tinymce/themes/advanced/link.htm +58 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/content.css +36 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/dialog.css +117 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/default/ui.css +213 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +36 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +116 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +215 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +8 -0
- data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
- data/public/javascripts/tinymce/themes/advanced/source_editor.htm +25 -0
- data/public/javascripts/tinymce/themes/simple/editor_template.js +1 -0
- data/public/javascripts/tinymce/themes/simple/editor_template_src.js +85 -0
- data/public/javascripts/tinymce/themes/simple/img/icons.gif +0 -0
- data/public/javascripts/tinymce/themes/simple/langs/en.js +11 -0
- data/public/javascripts/tinymce/themes/simple/skins/default/content.css +25 -0
- data/public/javascripts/tinymce/themes/simple/skins/default/ui.css +32 -0
- data/public/javascripts/tinymce/themes/simple/skins/o2k7/content.css +17 -0
- data/public/javascripts/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
- data/public/javascripts/tinymce/themes/simple/skins/o2k7/ui.css +35 -0
- data/public/javascripts/tinymce/tiny_mce.js +1 -0
- data/public/javascripts/tinymce/tiny_mce_popup.js +5 -0
- data/public/javascripts/tinymce/tiny_mce_src.js +13394 -0
- data/public/javascripts/tinymce/utils/editable_selects.js +70 -0
- data/public/javascripts/tinymce/utils/form_utils.js +200 -0
- data/public/javascripts/tinymce/utils/mctabs.js +77 -0
- data/public/javascripts/tinymce/utils/validate.js +220 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-blockquote.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h1.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h2.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h3.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h4.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h5.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-h6.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-p.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/lbl-pre.png +0 -0
- data/public/javascripts/wymeditor/iframe/default/wymiframe.css +90 -0
- data/public/javascripts/wymeditor/iframe/default/wymiframe.html +26 -0
- data/public/javascripts/wymeditor/jquery.wymeditor.js +4688 -0
- data/public/javascripts/wymeditor/jquery.wymeditor.min.js +1 -0
- data/public/javascripts/wymeditor/jquery.wymeditor.pack.js +1 -0
- data/public/javascripts/wymeditor/lang/bg.js +45 -0
- data/public/javascripts/wymeditor/lang/ca.js +45 -0
- data/public/javascripts/wymeditor/lang/cs.js +45 -0
- data/public/javascripts/wymeditor/lang/cy.js +45 -0
- data/public/javascripts/wymeditor/lang/de.js +45 -0
- data/public/javascripts/wymeditor/lang/en.js +45 -0
- data/public/javascripts/wymeditor/lang/es.js +45 -0
- data/public/javascripts/wymeditor/lang/fa.js +46 -0
- data/public/javascripts/wymeditor/lang/fi.js +44 -0
- data/public/javascripts/wymeditor/lang/fr.js +45 -0
- data/public/javascripts/wymeditor/lang/gl.js +45 -0
- data/public/javascripts/wymeditor/lang/he.js +45 -0
- data/public/javascripts/wymeditor/lang/hr.js +45 -0
- data/public/javascripts/wymeditor/lang/hu.js +45 -0
- data/public/javascripts/wymeditor/lang/it.js +45 -0
- data/public/javascripts/wymeditor/lang/nb.js +45 -0
- data/public/javascripts/wymeditor/lang/nl.js +45 -0
- data/public/javascripts/wymeditor/lang/nn.js +45 -0
- data/public/javascripts/wymeditor/lang/pl.js +45 -0
- data/public/javascripts/wymeditor/lang/pt-br.js +45 -0
- data/public/javascripts/wymeditor/lang/pt.js +45 -0
- data/public/javascripts/wymeditor/lang/ru.js +45 -0
- data/public/javascripts/wymeditor/lang/sv.js +45 -0
- data/public/javascripts/wymeditor/lang/tr.js +45 -0
- data/public/javascripts/wymeditor/lang/zh_cn.js +47 -0
- data/public/javascripts/wymeditor/plugins/embed/jquery.wymeditor.embed.js +52 -0
- data/public/javascripts/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
- data/public/javascripts/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +127 -0
- data/public/javascripts/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +57 -0
- data/public/javascripts/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +91 -0
- data/public/javascripts/wymeditor/plugins/resizable/readme.txt +124 -0
- data/public/javascripts/wymeditor/plugins/tidy/README +19 -0
- data/public/javascripts/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +82 -0
- data/public/javascripts/wymeditor/plugins/tidy/tidy.php +36 -0
- data/public/javascripts/wymeditor/plugins/tidy/wand.png +0 -0
- data/public/javascripts/wymeditor/skins/compact/icons.png +0 -0
- data/public/javascripts/wymeditor/skins/compact/skin.css +134 -0
- data/public/javascripts/wymeditor/skins/compact/skin.js +35 -0
- data/public/javascripts/wymeditor/skins/default/icons.png +0 -0
- data/public/javascripts/wymeditor/skins/default/skin.css +133 -0
- data/public/javascripts/wymeditor/skins/default/skin.js +40 -0
- data/public/javascripts/wymeditor/skins/minimal/images/bg.header.gif +0 -0
- data/public/javascripts/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
- data/public/javascripts/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
- data/public/javascripts/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
- data/public/javascripts/wymeditor/skins/minimal/skin.css +131 -0
- data/public/javascripts/wymeditor/skins/minimal/skin.js +30 -0
- data/public/javascripts/wymeditor/skins/silver/COPYING +674 -0
- data/public/javascripts/wymeditor/skins/silver/README +27 -0
- data/public/javascripts/wymeditor/skins/silver/images/bg.header.gif +0 -0
- data/public/javascripts/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
- data/public/javascripts/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
- data/public/javascripts/wymeditor/skins/silver/images/icons.silver.gif +0 -0
- data/public/javascripts/wymeditor/skins/silver/skin.css +297 -0
- data/public/javascripts/wymeditor/skins/silver/skin.js +61 -0
- data/public/javascripts/wymeditor/skins/twopanels/icons.png +0 -0
- data/public/javascripts/wymeditor/skins/twopanels/skin.css +134 -0
- data/public/javascripts/wymeditor/skins/twopanels/skin.js +39 -0
- data/public/javascripts/wymeditor/skins/wymeditor_icon.png +0 -0
- data/public/stylesheets/editor.css +10 -2
- data/spree_editor.gemspec +6 -6
- metadata +338 -11
- data/app/views/shared/_editor.html.erb +0 -208
- data/lib/helpers/editor_helper.rb +0 -10
@@ -0,0 +1,36 @@
|
|
1
|
+
tinyMCEPopup.requireLangPack();
|
2
|
+
|
3
|
+
var PasteTextDialog = {
|
4
|
+
init : function() {
|
5
|
+
this.resize();
|
6
|
+
},
|
7
|
+
|
8
|
+
insert : function() {
|
9
|
+
var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines;
|
10
|
+
|
11
|
+
// Convert linebreaks into paragraphs
|
12
|
+
if (document.getElementById('linebreaks').checked) {
|
13
|
+
lines = h.split(/\r?\n/);
|
14
|
+
if (lines.length > 1) {
|
15
|
+
h = '';
|
16
|
+
tinymce.each(lines, function(row) {
|
17
|
+
h += '<p>' + row + '</p>';
|
18
|
+
});
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h});
|
23
|
+
tinyMCEPopup.close();
|
24
|
+
},
|
25
|
+
|
26
|
+
resize : function() {
|
27
|
+
var vp = tinyMCEPopup.dom.getViewPort(window), el;
|
28
|
+
|
29
|
+
el = document.getElementById('content');
|
30
|
+
|
31
|
+
el.style.width = (vp.w - 20) + 'px';
|
32
|
+
el.style.height = (vp.h - 90) + 'px';
|
33
|
+
}
|
34
|
+
};
|
35
|
+
|
36
|
+
tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog);
|
@@ -0,0 +1,51 @@
|
|
1
|
+
tinyMCEPopup.requireLangPack();
|
2
|
+
|
3
|
+
var PasteWordDialog = {
|
4
|
+
init : function() {
|
5
|
+
var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
|
6
|
+
|
7
|
+
// Create iframe
|
8
|
+
el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>';
|
9
|
+
ifr = document.getElementById('iframe');
|
10
|
+
doc = ifr.contentWindow.document;
|
11
|
+
|
12
|
+
// Force absolute CSS urls
|
13
|
+
css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")];
|
14
|
+
css = css.concat(tinymce.explode(ed.settings.content_css) || []);
|
15
|
+
tinymce.each(css, function(u) {
|
16
|
+
cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />';
|
17
|
+
});
|
18
|
+
|
19
|
+
// Write content into iframe
|
20
|
+
doc.open();
|
21
|
+
doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>');
|
22
|
+
doc.close();
|
23
|
+
|
24
|
+
doc.designMode = 'on';
|
25
|
+
this.resize();
|
26
|
+
|
27
|
+
window.setTimeout(function() {
|
28
|
+
ifr.contentWindow.focus();
|
29
|
+
}, 10);
|
30
|
+
},
|
31
|
+
|
32
|
+
insert : function() {
|
33
|
+
var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
|
34
|
+
|
35
|
+
tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true});
|
36
|
+
tinyMCEPopup.close();
|
37
|
+
},
|
38
|
+
|
39
|
+
resize : function() {
|
40
|
+
var vp = tinyMCEPopup.dom.getViewPort(window), el;
|
41
|
+
|
42
|
+
el = document.getElementById('iframe');
|
43
|
+
|
44
|
+
if (el) {
|
45
|
+
el.style.width = (vp.w - 20) + 'px';
|
46
|
+
el.style.height = (vp.h - 90) + 'px';
|
47
|
+
}
|
48
|
+
}
|
49
|
+
};
|
50
|
+
|
51
|
+
tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
2
|
+
<head>
|
3
|
+
<title>{#paste.paste_text_desc}</title>
|
4
|
+
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
5
|
+
<script type="text/javascript" src="js/pastetext.js"></script>
|
6
|
+
</head>
|
7
|
+
<body onresize="PasteTextDialog.resize();" style="display:none; overflow:hidden;">
|
8
|
+
<form name="source" onsubmit="return PasteTextDialog.insert();" action="#">
|
9
|
+
<div style="float: left" class="title">{#paste.paste_text_desc}</div>
|
10
|
+
|
11
|
+
<div style="float: right">
|
12
|
+
<input type="checkbox" name="linebreaks" id="linebreaks" class="wordWrapCode" checked="checked" /><label for="linebreaks">{#paste_dlg.text_linebreaks}</label>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<br style="clear: both" />
|
16
|
+
|
17
|
+
<div>{#paste_dlg.text_title}</div>
|
18
|
+
|
19
|
+
<textarea id="content" name="content" rows="15" cols="100" style="width: 100%; height: 100%; font-family: 'Courier New',Courier,mono; font-size: 12px;" dir="ltr" wrap="soft" class="mceFocus"></textarea>
|
20
|
+
|
21
|
+
<div class="mceActionPanel">
|
22
|
+
<input type="submit" name="insert" value="{#insert}" id="insert" />
|
23
|
+
<input type="button" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" id="cancel" />
|
24
|
+
</div>
|
25
|
+
</form>
|
26
|
+
</body>
|
27
|
+
</html>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
2
|
+
<head>
|
3
|
+
<title>{#paste.paste_word_desc}</title>
|
4
|
+
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
5
|
+
<script type="text/javascript" src="js/pasteword.js"></script>
|
6
|
+
</head>
|
7
|
+
<body onresize="PasteWordDialog.resize();" style="display:none; overflow:hidden;">
|
8
|
+
<form name="source" onsubmit="return PasteWordDialog.insert();" action="#">
|
9
|
+
<div class="title">{#paste.paste_word_desc}</div>
|
10
|
+
|
11
|
+
<div>{#paste_dlg.word_title}</div>
|
12
|
+
|
13
|
+
<div id="iframecontainer"></div>
|
14
|
+
|
15
|
+
<div class="mceActionPanel">
|
16
|
+
<input type="submit" id="insert" name="insert" value="{#insert}" />
|
17
|
+
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
18
|
+
</div>
|
19
|
+
</form>
|
20
|
+
</body>
|
21
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
(function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})();
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/**
|
2
|
+
* editor_plugin_src.js
|
3
|
+
*
|
4
|
+
* Copyright 2009, Moxiecode Systems AB
|
5
|
+
* Released under LGPL License.
|
6
|
+
*
|
7
|
+
* License: http://tinymce.moxiecode.com/license
|
8
|
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function() {
|
12
|
+
tinymce.create('tinymce.plugins.Preview', {
|
13
|
+
init : function(ed, url) {
|
14
|
+
var t = this, css = tinymce.explode(ed.settings.content_css);
|
15
|
+
|
16
|
+
t.editor = ed;
|
17
|
+
|
18
|
+
// Force absolute CSS urls
|
19
|
+
tinymce.each(css, function(u, k) {
|
20
|
+
css[k] = ed.documentBaseURI.toAbsolute(u);
|
21
|
+
});
|
22
|
+
|
23
|
+
ed.addCommand('mcePreview', function() {
|
24
|
+
ed.windowManager.open({
|
25
|
+
file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"),
|
26
|
+
width : parseInt(ed.getParam("plugin_preview_width", "550")),
|
27
|
+
height : parseInt(ed.getParam("plugin_preview_height", "600")),
|
28
|
+
resizable : "yes",
|
29
|
+
scrollbars : "yes",
|
30
|
+
popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"),
|
31
|
+
inline : ed.getParam("plugin_preview_inline", 1)
|
32
|
+
}, {
|
33
|
+
base : ed.documentBaseURI.getURI()
|
34
|
+
});
|
35
|
+
});
|
36
|
+
|
37
|
+
ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'});
|
38
|
+
},
|
39
|
+
|
40
|
+
getInfo : function() {
|
41
|
+
return {
|
42
|
+
longname : 'Preview',
|
43
|
+
author : 'Moxiecode Systems AB',
|
44
|
+
authorurl : 'http://tinymce.moxiecode.com',
|
45
|
+
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',
|
46
|
+
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
47
|
+
};
|
48
|
+
}
|
49
|
+
});
|
50
|
+
|
51
|
+
// Register plugin
|
52
|
+
tinymce.PluginManager.add('preview', tinymce.plugins.Preview);
|
53
|
+
})();
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
2
|
+
<head>
|
3
|
+
<script language="javascript" src="../../tiny_mce_popup.js"></script>
|
4
|
+
<script type="text/javascript" src="jscripts/embed.js"></script>
|
5
|
+
<script type="text/javascript">
|
6
|
+
tinyMCEPopup.onInit.add(function(ed) {
|
7
|
+
var dom = tinyMCEPopup.dom;
|
8
|
+
|
9
|
+
// Load editor content_css
|
10
|
+
tinymce.each(ed.settings.content_css.split(','), function(u) {
|
11
|
+
dom.loadCSS(ed.documentBaseURI.toAbsolute(u));
|
12
|
+
});
|
13
|
+
|
14
|
+
// Place contents inside div container
|
15
|
+
dom.setHTML('content', ed.getContent());
|
16
|
+
});
|
17
|
+
</script>
|
18
|
+
<title>Example of a custom preview page</title>
|
19
|
+
</head>
|
20
|
+
<body>
|
21
|
+
|
22
|
+
Editor contents: <br />
|
23
|
+
<div id="content">
|
24
|
+
<!-- Gets filled with editor contents -->
|
25
|
+
</div>
|
26
|
+
|
27
|
+
</body>
|
28
|
+
</html>
|
@@ -0,0 +1,73 @@
|
|
1
|
+
/**
|
2
|
+
* This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
|
3
|
+
*/
|
4
|
+
|
5
|
+
function writeFlash(p) {
|
6
|
+
writeEmbed(
|
7
|
+
'D27CDB6E-AE6D-11cf-96B8-444553540000',
|
8
|
+
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
|
9
|
+
'application/x-shockwave-flash',
|
10
|
+
p
|
11
|
+
);
|
12
|
+
}
|
13
|
+
|
14
|
+
function writeShockWave(p) {
|
15
|
+
writeEmbed(
|
16
|
+
'166B1BCA-3F9C-11CF-8075-444553540000',
|
17
|
+
'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
|
18
|
+
'application/x-director',
|
19
|
+
p
|
20
|
+
);
|
21
|
+
}
|
22
|
+
|
23
|
+
function writeQuickTime(p) {
|
24
|
+
writeEmbed(
|
25
|
+
'02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
|
26
|
+
'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
|
27
|
+
'video/quicktime',
|
28
|
+
p
|
29
|
+
);
|
30
|
+
}
|
31
|
+
|
32
|
+
function writeRealMedia(p) {
|
33
|
+
writeEmbed(
|
34
|
+
'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
|
35
|
+
'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
|
36
|
+
'audio/x-pn-realaudio-plugin',
|
37
|
+
p
|
38
|
+
);
|
39
|
+
}
|
40
|
+
|
41
|
+
function writeWindowsMedia(p) {
|
42
|
+
p.url = p.src;
|
43
|
+
writeEmbed(
|
44
|
+
'6BF52A52-394A-11D3-B153-00C04F79FAA6',
|
45
|
+
'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
|
46
|
+
'application/x-mplayer2',
|
47
|
+
p
|
48
|
+
);
|
49
|
+
}
|
50
|
+
|
51
|
+
function writeEmbed(cls, cb, mt, p) {
|
52
|
+
var h = '', n;
|
53
|
+
|
54
|
+
h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
|
55
|
+
h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
|
56
|
+
h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
|
57
|
+
h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
|
58
|
+
h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
|
59
|
+
h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
|
60
|
+
h += '>';
|
61
|
+
|
62
|
+
for (n in p)
|
63
|
+
h += '<param name="' + n + '" value="' + p[n] + '">';
|
64
|
+
|
65
|
+
h += '<embed type="' + mt + '"';
|
66
|
+
|
67
|
+
for (n in p)
|
68
|
+
h += n + '="' + p[n] + '" ';
|
69
|
+
|
70
|
+
h += '></embed></object>';
|
71
|
+
|
72
|
+
document.write(h);
|
73
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
5
|
+
<script type="text/javascript" src="jscripts/embed.js"></script>
|
6
|
+
<script type="text/javascript"><!--
|
7
|
+
document.write('<base href="' + tinyMCEPopup.getWindowArg("base") + '">');
|
8
|
+
// -->
|
9
|
+
</script>
|
10
|
+
<title>{#preview.preview_desc}</title>
|
11
|
+
</head>
|
12
|
+
<body id="content">
|
13
|
+
<script type="text/javascript">
|
14
|
+
document.write(tinyMCEPopup.editor.getContent());
|
15
|
+
</script>
|
16
|
+
</body>
|
17
|
+
</html>
|
@@ -0,0 +1 @@
|
|
1
|
+
(function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})();
|
@@ -0,0 +1,34 @@
|
|
1
|
+
/**
|
2
|
+
* editor_plugin_src.js
|
3
|
+
*
|
4
|
+
* Copyright 2009, Moxiecode Systems AB
|
5
|
+
* Released under LGPL License.
|
6
|
+
*
|
7
|
+
* License: http://tinymce.moxiecode.com/license
|
8
|
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function() {
|
12
|
+
tinymce.create('tinymce.plugins.Print', {
|
13
|
+
init : function(ed, url) {
|
14
|
+
ed.addCommand('mcePrint', function() {
|
15
|
+
ed.getWin().print();
|
16
|
+
});
|
17
|
+
|
18
|
+
ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'});
|
19
|
+
},
|
20
|
+
|
21
|
+
getInfo : function() {
|
22
|
+
return {
|
23
|
+
longname : 'Print',
|
24
|
+
author : 'Moxiecode Systems AB',
|
25
|
+
authorurl : 'http://tinymce.moxiecode.com',
|
26
|
+
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
|
27
|
+
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
28
|
+
};
|
29
|
+
}
|
30
|
+
});
|
31
|
+
|
32
|
+
// Register plugin
|
33
|
+
tinymce.PluginManager.add('print', tinymce.plugins.Print);
|
34
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
(function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})();
|
@@ -0,0 +1,101 @@
|
|
1
|
+
/**
|
2
|
+
* editor_plugin_src.js
|
3
|
+
*
|
4
|
+
* Copyright 2009, Moxiecode Systems AB
|
5
|
+
* Released under LGPL License.
|
6
|
+
*
|
7
|
+
* License: http://tinymce.moxiecode.com/license
|
8
|
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function() {
|
12
|
+
tinymce.create('tinymce.plugins.Save', {
|
13
|
+
init : function(ed, url) {
|
14
|
+
var t = this;
|
15
|
+
|
16
|
+
t.editor = ed;
|
17
|
+
|
18
|
+
// Register commands
|
19
|
+
ed.addCommand('mceSave', t._save, t);
|
20
|
+
ed.addCommand('mceCancel', t._cancel, t);
|
21
|
+
|
22
|
+
// Register buttons
|
23
|
+
ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'});
|
24
|
+
ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'});
|
25
|
+
|
26
|
+
ed.onNodeChange.add(t._nodeChange, t);
|
27
|
+
ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave');
|
28
|
+
},
|
29
|
+
|
30
|
+
getInfo : function() {
|
31
|
+
return {
|
32
|
+
longname : 'Save',
|
33
|
+
author : 'Moxiecode Systems AB',
|
34
|
+
authorurl : 'http://tinymce.moxiecode.com',
|
35
|
+
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',
|
36
|
+
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
37
|
+
};
|
38
|
+
},
|
39
|
+
|
40
|
+
// Private methods
|
41
|
+
|
42
|
+
_nodeChange : function(ed, cm, n) {
|
43
|
+
var ed = this.editor;
|
44
|
+
|
45
|
+
if (ed.getParam('save_enablewhendirty')) {
|
46
|
+
cm.setDisabled('save', !ed.isDirty());
|
47
|
+
cm.setDisabled('cancel', !ed.isDirty());
|
48
|
+
}
|
49
|
+
},
|
50
|
+
|
51
|
+
// Private methods
|
52
|
+
|
53
|
+
_save : function() {
|
54
|
+
var ed = this.editor, formObj, os, i, elementId;
|
55
|
+
|
56
|
+
formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form');
|
57
|
+
|
58
|
+
if (ed.getParam("save_enablewhendirty") && !ed.isDirty())
|
59
|
+
return;
|
60
|
+
|
61
|
+
tinyMCE.triggerSave();
|
62
|
+
|
63
|
+
// Use callback instead
|
64
|
+
if (os = ed.getParam("save_onsavecallback")) {
|
65
|
+
if (ed.execCallback('save_onsavecallback', ed)) {
|
66
|
+
ed.startContent = tinymce.trim(ed.getContent({format : 'raw'}));
|
67
|
+
ed.nodeChanged();
|
68
|
+
}
|
69
|
+
|
70
|
+
return;
|
71
|
+
}
|
72
|
+
|
73
|
+
if (formObj) {
|
74
|
+
ed.isNotDirty = true;
|
75
|
+
|
76
|
+
if (formObj.onsubmit == null || formObj.onsubmit() != false)
|
77
|
+
formObj.submit();
|
78
|
+
|
79
|
+
ed.nodeChanged();
|
80
|
+
} else
|
81
|
+
ed.windowManager.alert("Error: No form element found.");
|
82
|
+
},
|
83
|
+
|
84
|
+
_cancel : function() {
|
85
|
+
var ed = this.editor, os, h = tinymce.trim(ed.startContent);
|
86
|
+
|
87
|
+
// Use callback instead
|
88
|
+
if (os = ed.getParam("save_oncancelcallback")) {
|
89
|
+
ed.execCallback('save_oncancelcallback', ed);
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
|
93
|
+
ed.setContent(h);
|
94
|
+
ed.undoManager.clear();
|
95
|
+
ed.nodeChanged();
|
96
|
+
}
|
97
|
+
});
|
98
|
+
|
99
|
+
// Register plugin
|
100
|
+
tinymce.PluginManager.add('save', tinymce.plugins.Save);
|
101
|
+
})();
|
@@ -0,0 +1 @@
|
|
1
|
+
(function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){a.windowManager.open({file:c+"/searchreplace.htm",width:420+parseInt(a.getLang("searchreplace.delta_width",0)),height:170+parseInt(a.getLang("searchreplace.delta_height",0)),inline:1,auto_focus:0},{mode:d,search_string:a.selection.getContent({format:"text"}),plugin_url:c})}a.addCommand("mceSearch",function(){b("search")});a.addCommand("mceReplace",function(){b("replace")});a.addButton("search",{title:"searchreplace.search_desc",cmd:"mceSearch"});a.addButton("replace",{title:"searchreplace.replace_desc",cmd:"mceReplace"});a.addShortcut("ctrl+f","searchreplace.search_desc","mceSearch")},getInfo:function(){return{longname:"Search/Replace",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("searchreplace",tinymce.plugins.SearchReplacePlugin)})();
|
@@ -0,0 +1,57 @@
|
|
1
|
+
/**
|
2
|
+
* editor_plugin_src.js
|
3
|
+
*
|
4
|
+
* Copyright 2009, Moxiecode Systems AB
|
5
|
+
* Released under LGPL License.
|
6
|
+
*
|
7
|
+
* License: http://tinymce.moxiecode.com/license
|
8
|
+
* Contributing: http://tinymce.moxiecode.com/contributing
|
9
|
+
*/
|
10
|
+
|
11
|
+
(function() {
|
12
|
+
tinymce.create('tinymce.plugins.SearchReplacePlugin', {
|
13
|
+
init : function(ed, url) {
|
14
|
+
function open(m) {
|
15
|
+
ed.windowManager.open({
|
16
|
+
file : url + '/searchreplace.htm',
|
17
|
+
width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)),
|
18
|
+
height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)),
|
19
|
+
inline : 1,
|
20
|
+
auto_focus : 0
|
21
|
+
}, {
|
22
|
+
mode : m,
|
23
|
+
search_string : ed.selection.getContent({format : 'text'}),
|
24
|
+
plugin_url : url
|
25
|
+
});
|
26
|
+
};
|
27
|
+
|
28
|
+
// Register commands
|
29
|
+
ed.addCommand('mceSearch', function() {
|
30
|
+
open('search');
|
31
|
+
});
|
32
|
+
|
33
|
+
ed.addCommand('mceReplace', function() {
|
34
|
+
open('replace');
|
35
|
+
});
|
36
|
+
|
37
|
+
// Register buttons
|
38
|
+
ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'});
|
39
|
+
ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'});
|
40
|
+
|
41
|
+
ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch');
|
42
|
+
},
|
43
|
+
|
44
|
+
getInfo : function() {
|
45
|
+
return {
|
46
|
+
longname : 'Search/Replace',
|
47
|
+
author : 'Moxiecode Systems AB',
|
48
|
+
authorurl : 'http://tinymce.moxiecode.com',
|
49
|
+
infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
|
50
|
+
version : tinymce.majorVersion + "." + tinymce.minorVersion
|
51
|
+
};
|
52
|
+
}
|
53
|
+
});
|
54
|
+
|
55
|
+
// Register plugin
|
56
|
+
tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin);
|
57
|
+
})();
|
@@ -0,0 +1,138 @@
|
|
1
|
+
tinyMCEPopup.requireLangPack();
|
2
|
+
|
3
|
+
var SearchReplaceDialog = {
|
4
|
+
init : function(ed) {
|
5
|
+
var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");
|
6
|
+
|
7
|
+
this.switchMode(m);
|
8
|
+
|
9
|
+
f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string");
|
10
|
+
|
11
|
+
// Focus input field
|
12
|
+
f[m + '_panel_searchstring'].focus();
|
13
|
+
},
|
14
|
+
|
15
|
+
switchMode : function(m) {
|
16
|
+
var f, lm = this.lastMode;
|
17
|
+
|
18
|
+
if (lm != m) {
|
19
|
+
f = document.forms[0];
|
20
|
+
|
21
|
+
if (lm) {
|
22
|
+
f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value;
|
23
|
+
f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked;
|
24
|
+
f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked;
|
25
|
+
f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked;
|
26
|
+
}
|
27
|
+
|
28
|
+
mcTabs.displayTab(m + '_tab', m + '_panel');
|
29
|
+
document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none";
|
30
|
+
document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none";
|
31
|
+
this.lastMode = m;
|
32
|
+
}
|
33
|
+
},
|
34
|
+
|
35
|
+
searchNext : function(a) {
|
36
|
+
var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0;
|
37
|
+
|
38
|
+
// Get input
|
39
|
+
f = document.forms[0];
|
40
|
+
s = f[m + '_panel_searchstring'].value;
|
41
|
+
b = f[m + '_panel_backwardsu'].checked;
|
42
|
+
ca = f[m + '_panel_casesensitivebox'].checked;
|
43
|
+
rs = f['replace_panel_replacestring'].value;
|
44
|
+
|
45
|
+
if (tinymce.isIE) {
|
46
|
+
r = ed.getDoc().selection.createRange();
|
47
|
+
}
|
48
|
+
|
49
|
+
if (s == '')
|
50
|
+
return;
|
51
|
+
|
52
|
+
function fix() {
|
53
|
+
// Correct Firefox graphics glitches
|
54
|
+
r = se.getRng().cloneRange();
|
55
|
+
ed.getDoc().execCommand('SelectAll', false, null);
|
56
|
+
se.setRng(r);
|
57
|
+
};
|
58
|
+
|
59
|
+
function replace() {
|
60
|
+
if (tinymce.isIE)
|
61
|
+
ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE
|
62
|
+
else
|
63
|
+
ed.getDoc().execCommand('InsertHTML', false, rs);
|
64
|
+
};
|
65
|
+
|
66
|
+
// IE flags
|
67
|
+
if (ca)
|
68
|
+
fl = fl | 4;
|
69
|
+
|
70
|
+
switch (a) {
|
71
|
+
case 'all':
|
72
|
+
// Move caret to beginning of text
|
73
|
+
ed.execCommand('SelectAll');
|
74
|
+
ed.selection.collapse(true);
|
75
|
+
|
76
|
+
if (tinymce.isIE) {
|
77
|
+
while (r.findText(s, b ? -1 : 1, fl)) {
|
78
|
+
r.scrollIntoView();
|
79
|
+
r.select();
|
80
|
+
replace();
|
81
|
+
fo = 1;
|
82
|
+
|
83
|
+
if (b) {
|
84
|
+
r.moveEnd("character", -(rs.length)); // Otherwise will loop forever
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
tinyMCEPopup.storeSelection();
|
89
|
+
} else {
|
90
|
+
while (w.find(s, ca, b, false, false, false, false)) {
|
91
|
+
replace();
|
92
|
+
fo = 1;
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
if (fo)
|
97
|
+
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced'));
|
98
|
+
else
|
99
|
+
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
|
100
|
+
|
101
|
+
return;
|
102
|
+
|
103
|
+
case 'current':
|
104
|
+
if (!ed.selection.isCollapsed())
|
105
|
+
replace();
|
106
|
+
|
107
|
+
break;
|
108
|
+
}
|
109
|
+
|
110
|
+
se.collapse(b);
|
111
|
+
r = se.getRng();
|
112
|
+
|
113
|
+
if (tinymce.isIE) {
|
114
|
+
r = ed.getDoc().selection.createRange();
|
115
|
+
}
|
116
|
+
|
117
|
+
// Whats the point
|
118
|
+
if (!s)
|
119
|
+
return;
|
120
|
+
|
121
|
+
if (tinymce.isIE) {
|
122
|
+
if (r.findText(s, b ? -1 : 1, fl)) {
|
123
|
+
r.scrollIntoView();
|
124
|
+
r.select();
|
125
|
+
} else
|
126
|
+
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
|
127
|
+
|
128
|
+
tinyMCEPopup.storeSelection();
|
129
|
+
} else {
|
130
|
+
if (!w.find(s, ca, b, false, false, false, false))
|
131
|
+
tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound'));
|
132
|
+
else
|
133
|
+
fix();
|
134
|
+
}
|
135
|
+
}
|
136
|
+
};
|
137
|
+
|
138
|
+
tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog);
|