xmt_froala 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +2 -0
- data/app/assets/javascripts/xmt_froala.js +31 -0
- data/app/assets/stylesheets/xmt_froala.css +17 -0
- data/app/controllers/xmt_froala/application_controller.rb +5 -0
- data/app/controllers/xmt_froala/assets_controller.rb +94 -0
- data/app/models/xmt_froala/asset_uploader.rb +107 -0
- data/app/models/xmt_froala/file_uploader.rb +10 -0
- data/app/models/xmt_froala/flash_uploader.rb +10 -0
- data/app/models/xmt_froala/image_uploader.rb +10 -0
- data/app/models/xmt_froala/media_uploader.rb +10 -0
- data/config/routes.rb +6 -0
- data/lib/generators/xmt_froala/install/USAGE +10 -0
- data/lib/generators/xmt_froala/install/install_generator.rb +23 -0
- data/lib/generators/xmt_froala/install/templates/application.js +17 -0
- data/lib/generators/xmt_froala/install/templates/xmt_froala.rb +29 -0
- data/lib/generators/xmt_froala/migration/USAGE +14 -0
- data/lib/generators/xmt_froala/migration/migration_generator.rb +36 -0
- data/lib/generators/xmt_froala/migration/templates/migration/migration.rb +18 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/asset.rb +14 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/file.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/flash.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/image.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/active_record/xmt_froala/media.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/asset.rb +27 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/file.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/flash.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/image.rb +3 -0
- data/lib/generators/xmt_froala/migration/templates/models/mongoid/xmt_froala/media.rb +3 -0
- data/lib/tasks/xmt_froala_tasks.rake +9 -0
- data/lib/xmt_froala.rb +65 -0
- data/lib/xmt_froala/active_record.rb +14 -0
- data/lib/xmt_froala/engine.rb +32 -0
- data/lib/xmt_froala/formtastic.rb +12 -0
- data/lib/xmt_froala/helper.rb +105 -0
- data/lib/xmt_froala/simple_form.rb +11 -0
- data/lib/xmt_froala/version.rb +3 -0
- data/vendor/assets/javascripts/xmt_froala/froala_editor.js +0 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ar.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/bs.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/cs.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/da.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/de.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/en_ca.js +262 -0
- data/vendor/assets/javascripts/xmt_froala/languages/en_gb.js +262 -0
- data/vendor/assets/javascripts/xmt_froala/languages/es.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/et.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fa.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fi.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/fr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/he.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/hr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/hu.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/id.js +319 -0
- data/vendor/assets/javascripts/xmt_froala/languages/it.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ja.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ko.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/me.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/nb.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/nl.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pl.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pt_br.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/pt_pt.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ro.js +319 -0
- data/vendor/assets/javascripts/xmt_froala/languages/ru.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sk.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/sv.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/th.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/tr.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/uk.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/languages/vi.js +258 -0
- data/vendor/assets/javascripts/xmt_froala/languages/zh_cn.js +320 -0
- data/vendor/assets/javascripts/xmt_froala/languages/zh_tw.js +318 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/align.js +139 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/align.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/char_counter.js +154 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/char_counter.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_beautifier.js +3270 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_beautifier.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_view.js +393 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/code_view.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/colors.js +492 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/colors.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/draggable.js +459 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/draggable.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/emoticons.js +509 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/emoticons.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/entities.js +121 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/entities.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/file.js +736 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/file.min.js +239 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_family.js +182 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_family.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_size.js +118 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/font_size.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/forms.js +430 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/forms.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/fullscreen.js +274 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/fullscreen.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/help.js +216 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/help.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image.js +3323 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image_manager.js +1056 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/image_manager.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/inline_style.js +94 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/inline_style.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/line_breaker.js +537 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/line_breaker.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/link.js +1157 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/link.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/lists.js +462 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/lists.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_format.js +290 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_format.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_style.js +144 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/paragraph_style.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/plain_paste.js +96 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/print.js +137 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/print.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_format.js +89 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_insert.js +478 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quick_insert.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quote.js +141 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/quote.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/save.js +189 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/save.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/special_characters.js +781 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/special_characters.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/table.js +4194 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/table.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/url.js +194 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/url.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/video.js +2342 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/video.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/word_paste.js +1403 -0
- data/vendor/assets/javascripts/xmt_froala/plugins/word_paste.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/embedly.js +543 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/embedly.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/image_aviary.js +163 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/image_aviary.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/spell_checker.js +222 -0
- data/vendor/assets/javascripts/xmt_froala/third_party/spell_checker.min.js +7 -0
- data/vendor/assets/javascripts/xmt_froala/xmt_froala.js +15172 -0
- data/vendor/assets/stylesheets/xmt_froala/css/font-awesome.css +2546 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.pkgd.css +2902 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_editor.pkgd.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_style.css +413 -0
- data/vendor/assets/stylesheets/xmt_froala/css/froala_style.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/char_counter.css +57 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/char_counter.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/code_view.css +112 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/code_view.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/colors.css +155 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/colors.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/draggable.css +43 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/draggable.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/emoticons.css +42 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/emoticons.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/file.css +146 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/file.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/fullscreen.css +28 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/fullscreen.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/help.css +52 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/help.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image.css +244 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image_manager.css +266 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/image_manager.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/line_breaker.css +37 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/line_breaker.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/quick_insert.css +70 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/quick_insert.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/special_characters.css +51 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/special_characters.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/table.css +181 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/table.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/video.css +231 -0
- data/vendor/assets/stylesheets/xmt_froala/css/plugins/video.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/dark.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/dark.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/gray.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/gray.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/red.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/red.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/royal.css +1281 -0
- data/vendor/assets/stylesheets/xmt_froala/css/themes/royal.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/embedly.css +64 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/embedly.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/spell_checker.css +72 -0
- data/vendor/assets/stylesheets/xmt_froala/css/third_party/spell_checker.min.css +7 -0
- data/vendor/assets/stylesheets/xmt_froala/css/xmt_froala.css +1423 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.svg +2671 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/stylesheets/xmt_froala/fonts/fontawesome-webfont.woff2 +0 -0
- metadata +273 -0
@@ -0,0 +1,7 @@
|
|
1
|
+
/*!
|
2
|
+
* froala_editor v2.8.1 (https://www.froala.com/wysiwyg-editor)
|
3
|
+
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
+
* Copyright 2014-2018 Froala Labs
|
5
|
+
*/
|
6
|
+
|
7
|
+
!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(o,e){return e===undefined&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(o)),r(e)}:r(window.jQuery)}(function(C){C.extend(C.FE.POPUP_TEMPLATES,{"colors.picker":"[_BUTTONS_][_TEXT_COLORS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]"}),C.extend(C.FE.DEFAULTS,{colorsText:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsBackground:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsStep:7,colorsHEXInput:!0,colorsDefaultTab:"text",colorsButtons:["colorsBack","|","-"]}),C.FE.PLUGINS.colors=function(E){function e(){E.popups.hide("colors.picker")}function s(o){for(var e="text"==o?E.opts.colorsText:E.opts.colorsBackground,r='<div class="fr-color-set fr-'+o+"-color"+(E.opts.colorsDefaultTab==o||"text"!=E.opts.colorsDefaultTab&&"background"!=E.opts.colorsDefaultTab&&"text"==o?" fr-selected-set":"")+'">',t=0;t<e.length;t++)0!==t&&t%E.opts.colorsStep==0&&(r+="<br>"),"REMOVE"!=e[t]?r+='<span class="fr-command fr-select-color" style="background: '+e[t]+';" tabIndex="-1" aria-selected="false" role="button" data-cmd="'+o+'Color" data-param1="'+e[t]+'"><span class="fr-sr-only">'+E.language.translate("Color")+" "+e[t]+" </span></span>":r+='<span class="fr-command fr-select-color" data-cmd="'+o+'Color" tabIndex="-1" role="button" data-param1="REMOVE" title="'+E.language.translate("Clear Formatting")+'">'+E.icon.create("remove")+'<span class="fr-sr-only">'+E.language.translate("Clear Formatting")+"</span></span>";return r+"</div>"}function a(o){var e,r=E.popups.get("colors.picker"),t=C(E.selection.element());e="background"==o?"background-color":"color";var a=r.find(".fr-"+o+"-color .fr-select-color");for(a.find(".fr-selected-color").remove(),a.removeClass("fr-active-item"),a.not('[data-param1="REMOVE"]').attr("aria-selected",!1);t.get(0)!=E.el;){if("transparent"!=t.css(e)&&"rgba(0, 0, 0, 0)"!=t.css(e)){var s=r.find(".fr-"+o+'-color .fr-select-color[data-param1="'+E.helpers.RGBToHex(t.css(e))+'"]');s.append('<span class="fr-selected-color" aria-hidden="true">\uf00c</span>'),s.addClass("fr-active-item").attr("aria-selected",!0);break}t=t.parent()}var l=r.find(".fr-color-hex-layer input");l.length&&l.val(E.helpers.RGBToHex(t.css(e))).trigger("change")}function t(o){"REMOVE"!=o?E.format.applyStyle("background-color",E.helpers.HEXtoRGB(o)):E.format.removeStyle("background-color"),e()}function l(o){"REMOVE"!=o?E.format.applyStyle("color",E.helpers.HEXtoRGB(o)):E.format.removeStyle("color"),e()}return{showColorsPopup:function(){var o=E.$tb.find('.fr-command[data-cmd="color"]'),e=E.popups.get("colors.picker");if(e||(e=function(){var o,e='<div class="fr-buttons fr-colors-buttons">';E.opts.toolbarInline&&0<E.opts.colorsButtons.length&&(e+=E.button.buildList(E.opts.colorsButtons)),e+=(o='<div class="fr-colors-tabs fr-group">',o+='<span class="fr-colors-tab '+("background"==E.opts.colorsDefaultTab?"":"fr-selected-tab ")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"!=E.opts.colorsDefaultTab)+'" data-param1="text" data-cmd="colorChangeSet" title="'+E.language.translate("Text")+'">'+E.language.translate("Text")+"</span>",(o+='<span class="fr-colors-tab '+("background"==E.opts.colorsDefaultTab?"fr-selected-tab ":"")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"==E.opts.colorsDefaultTab)+'" data-param1="background" data-cmd="colorChangeSet" title="'+E.language.translate("Background")+'">'+E.language.translate("Background")+"</span>")+"</div></div>");var r="";E.opts.colorsHEXInput&&(r='<div class="fr-color-hex-layer fr-active fr-layer" id="fr-color-hex-layer-'+E.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-color-hex-layer-text-'+E.id+'" type="text" placeholder="'+E.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="customColor" tabIndex="2" role="button">'+E.language.translate("OK")+"</button></div></div>");var b,t={buttons:e,text_colors:s("text"),background_colors:s("background"),custom_color:r},a=E.popups.create("colors.picker",t);return b=a,E.events.on("popup.tab",function(o){var e=C(o.currentTarget);if(!E.popups.isVisible("colors.picker")||!e.is("span"))return!0;var r=o.which,t=!0;if(C.FE.KEYCODE.TAB==r){var a=b.find(".fr-buttons");t=!E.accessibility.focusToolbar(a,!!o.shiftKey)}else if(C.FE.KEYCODE.ARROW_UP==r||C.FE.KEYCODE.ARROW_DOWN==r||C.FE.KEYCODE.ARROW_LEFT==r||C.FE.KEYCODE.ARROW_RIGHT==r){if(e.is("span.fr-select-color")){var s=e.parent().find("span.fr-select-color"),l=s.index(e),c=E.opts.colorsStep,n=Math.floor(s.length/c),i=l%c,p=Math.floor(l/c),u=p*c+i,d=n*c;C.FE.KEYCODE.ARROW_UP==r?u=((u-c)%d+d)%d:C.FE.KEYCODE.ARROW_DOWN==r?u=(u+c)%d:C.FE.KEYCODE.ARROW_LEFT==r?u=((u-1)%d+d)%d:C.FE.KEYCODE.ARROW_RIGHT==r&&(u=(u+1)%d);var f=C(s.get(u));E.events.disableBlur(),f.focus(),t=!1}}else C.FE.KEYCODE.ENTER==r&&(E.button.exec(e),t=!1);return!1===t&&(o.preventDefault(),o.stopPropagation()),t},!0),a}()),!e.hasClass("fr-active"))if(E.popups.setContainer("colors.picker",E.$tb),a(e.find(".fr-selected-tab").attr("data-param1")),o.is(":visible")){var r=o.offset().left+o.outerWidth()/2,t=o.offset().top+(E.opts.toolbarBottom?10:o.outerHeight()-10);E.popups.show("colors.picker",r,t,o.outerHeight())}else E.position.forSelection(e),E.popups.show("colors.picker")},hideColorsPopup:e,changeSet:function(o,e){o.hasClass("fr-selected-tab")||(o.siblings().removeClass("fr-selected-tab").attr("aria-pressed",!1),o.addClass("fr-selected-tab").attr("aria-pressed",!0),o.parents(".fr-popup").find(".fr-color-set").removeClass("fr-selected-set"),o.parents(".fr-popup").find(".fr-color-set.fr-"+e+"-color").addClass("fr-selected-set"),a(e)),E.accessibility.focusPopup(o.parents(".fr-popup"))},background:t,customColor:function(){var o=E.popups.get("colors.picker"),e=o.find(".fr-color-hex-layer input");if(e.length){var r=e.val();"background"==o.find(".fr-selected-tab").attr("data-param1")?t(r):l(r)}},text:l,back:function(){E.popups.hide("colors.picker"),E.toolbar.showInline()}}},C.FE.DefineIcon("colors",{NAME:"tint"}),C.FE.RegisterCommand("color",{title:"Colors",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("colors.picker")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("colors.picker")):this.colors.showColorsPopup()},plugin:"colors"}),C.FE.RegisterCommand("textColor",{undo:!0,callback:function(o,e){this.colors.text(e)}}),C.FE.RegisterCommand("backgroundColor",{undo:!0,callback:function(o,e){this.colors.background(e)}}),C.FE.RegisterCommand("colorChangeSet",{undo:!1,focus:!1,callback:function(o,e){var r=this.popups.get("colors.picker").find('.fr-command[data-cmd="'+o+'"][data-param1="'+e+'"]');this.colors.changeSet(r,e)}}),C.FE.DefineIcon("colorsBack",{NAME:"arrow-left"}),C.FE.RegisterCommand("colorsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),C.FE.RegisterCommand("customColor",{title:"OK",undo:!0,callback:function(){this.colors.customColor()}}),C.FE.DefineIcon("remove",{NAME:"eraser"})});
|
@@ -0,0 +1,459 @@
|
|
1
|
+
/*!
|
2
|
+
* froala_editor v2.8.1 (https://www.froala.com/wysiwyg-editor)
|
3
|
+
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
+
* Copyright 2014-2018 Froala Labs
|
5
|
+
*/
|
6
|
+
|
7
|
+
(function (factory) {
|
8
|
+
if (typeof define === 'function' && define.amd) {
|
9
|
+
// AMD. Register as an anonymous module.
|
10
|
+
define(['jquery'], factory);
|
11
|
+
} else if (typeof module === 'object' && module.exports) {
|
12
|
+
// Node/CommonJS
|
13
|
+
module.exports = function( root, jQuery ) {
|
14
|
+
if ( jQuery === undefined ) {
|
15
|
+
// require('jQuery') returns a factory that requires window to
|
16
|
+
// build a jQuery instance, we normalize how we use modules
|
17
|
+
// that require this pattern but the window provided is a noop
|
18
|
+
// if it's defined (how jquery works)
|
19
|
+
if ( typeof window !== 'undefined' ) {
|
20
|
+
jQuery = require('jquery');
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
jQuery = require('jquery')(root);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return factory(jQuery);
|
27
|
+
};
|
28
|
+
} else {
|
29
|
+
// Browser globals
|
30
|
+
factory(window.jQuery);
|
31
|
+
}
|
32
|
+
}(function ($) {
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
// Extend defaults.
|
37
|
+
$.extend($.FE.DEFAULTS, {
|
38
|
+
dragInline: true
|
39
|
+
});
|
40
|
+
|
41
|
+
|
42
|
+
$.FE.PLUGINS.draggable = function (editor) {
|
43
|
+
function _dragStart (e) {
|
44
|
+
if (e.originalEvent && e.originalEvent.target && e.originalEvent.target.nodeType == Node.TEXT_NODE) {
|
45
|
+
|
46
|
+
return true;
|
47
|
+
}
|
48
|
+
|
49
|
+
// Image with link.
|
50
|
+
if (e.target && e.target.tagName == 'A' && e.target.childNodes.length == 1 && e.target.childNodes[0].tagName == 'IMG') {
|
51
|
+
e.target = e.target.childNodes[0];
|
52
|
+
}
|
53
|
+
|
54
|
+
if (!$(e.target).hasClass('fr-draggable')) {
|
55
|
+
e.preventDefault();
|
56
|
+
|
57
|
+
return false;
|
58
|
+
}
|
59
|
+
|
60
|
+
// Save in undo step if we cannot do.
|
61
|
+
if (!editor.undo.canDo()) {
|
62
|
+
editor.undo.saveStep();
|
63
|
+
}
|
64
|
+
|
65
|
+
if (editor.opts.dragInline) {
|
66
|
+
editor.$el.attr('contenteditable', true);
|
67
|
+
}
|
68
|
+
else {
|
69
|
+
editor.$el.attr('contenteditable', false);
|
70
|
+
}
|
71
|
+
|
72
|
+
if (editor.opts.toolbarInline) editor.toolbar.hide();
|
73
|
+
|
74
|
+
$(e.target).addClass('fr-dragging');
|
75
|
+
|
76
|
+
if (!editor.browser.msie && !editor.browser.edge) {
|
77
|
+
editor.selection.clear();
|
78
|
+
}
|
79
|
+
|
80
|
+
e.originalEvent.dataTransfer.setData('text', 'Froala');
|
81
|
+
}
|
82
|
+
|
83
|
+
function _tagOK (tag_under) {
|
84
|
+
|
85
|
+
return !(tag_under && (tag_under.tagName == 'HTML' || tag_under.tagName == 'BODY' || editor.node.isElement(tag_under)));
|
86
|
+
}
|
87
|
+
|
88
|
+
function _setHelperSize (top, left, width) {
|
89
|
+
if (editor.opts.iframe) {
|
90
|
+
top += editor.$iframe.offset().top;
|
91
|
+
left += editor.$iframe.offset().left;
|
92
|
+
}
|
93
|
+
|
94
|
+
if ($draggable_helper.offset().top != top) $draggable_helper.css('top', top);
|
95
|
+
|
96
|
+
if ($draggable_helper.offset().left != left) $draggable_helper.css('left', left);
|
97
|
+
|
98
|
+
if ($draggable_helper.width() != width) $draggable_helper.css('width', width);
|
99
|
+
}
|
100
|
+
|
101
|
+
function _positionHelper (e) {
|
102
|
+
|
103
|
+
// The tag under the mouse cursor.
|
104
|
+
var tag_under = editor.doc.elementFromPoint(e.originalEvent.pageX - editor.win.pageXOffset, e.originalEvent.pageY - editor.win.pageYOffset);
|
105
|
+
|
106
|
+
if (!_tagOK(tag_under)) {
|
107
|
+
|
108
|
+
// Look above for the closest tag.
|
109
|
+
var top_offset = 0;
|
110
|
+
var top_tag = tag_under;
|
111
|
+
|
112
|
+
while (!_tagOK(top_tag) && top_tag == tag_under && e.originalEvent.pageY - editor.win.pageYOffset - top_offset > 0) {
|
113
|
+
top_offset++;
|
114
|
+
top_tag = editor.doc.elementFromPoint(e.originalEvent.pageX - editor.win.pageXOffset, e.originalEvent.pageY - editor.win.pageYOffset - top_offset);
|
115
|
+
}
|
116
|
+
|
117
|
+
if (!_tagOK(top_tag) || ($draggable_helper && editor.$el.find(top_tag).length === 0 && top_tag != $draggable_helper.get(0))) { top_tag = null; }
|
118
|
+
|
119
|
+
// Look below for the closest tag.
|
120
|
+
var bottom_offset = 0;
|
121
|
+
var bottom_tag = tag_under;
|
122
|
+
|
123
|
+
while (!_tagOK(bottom_tag) && bottom_tag == tag_under && e.originalEvent.pageY - editor.win.pageYOffset + bottom_offset < $(editor.doc).height()) {
|
124
|
+
bottom_offset++;
|
125
|
+
bottom_tag = editor.doc.elementFromPoint(e.originalEvent.pageX - editor.win.pageXOffset, e.originalEvent.pageY - editor.win.pageYOffset + bottom_offset);
|
126
|
+
}
|
127
|
+
|
128
|
+
if (!_tagOK(bottom_tag) || ($draggable_helper && editor.$el.find(bottom_tag).length === 0 && bottom_tag != $draggable_helper.get(0))) { bottom_tag = null; }
|
129
|
+
|
130
|
+
if (bottom_tag == null && top_tag) tag_under = top_tag;
|
131
|
+
|
132
|
+
else if (bottom_tag && top_tag == null) tag_under = bottom_tag;
|
133
|
+
|
134
|
+
else if (bottom_tag && top_tag) {
|
135
|
+
tag_under = (top_offset < bottom_offset ? top_tag : bottom_tag);
|
136
|
+
}
|
137
|
+
else {
|
138
|
+
tag_under = null;
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
// Stop if tag under is draggable helper.
|
143
|
+
if ($(tag_under).hasClass('fr-drag-helper')) return false;
|
144
|
+
|
145
|
+
// Get block parent.
|
146
|
+
if (tag_under && !editor.node.isBlock(tag_under)) {
|
147
|
+
tag_under = editor.node.blockParent(tag_under);
|
148
|
+
}
|
149
|
+
|
150
|
+
// Normalize TABLE parent.
|
151
|
+
if (tag_under && ['TD', 'TH', 'TR', 'THEAD', 'TBODY'].indexOf(tag_under.tagName) >= 0) {
|
152
|
+
tag_under = $(tag_under).parents('table').get(0);
|
153
|
+
}
|
154
|
+
|
155
|
+
// Normalize LIST parent.
|
156
|
+
if (tag_under && ['LI'].indexOf(tag_under.tagName) >= 0) {
|
157
|
+
tag_under = $(tag_under).parents('UL, OL').get(0);
|
158
|
+
}
|
159
|
+
|
160
|
+
if (tag_under && !$(tag_under).hasClass('fr-drag-helper')) {
|
161
|
+
|
162
|
+
// Init helper.
|
163
|
+
if (!$draggable_helper) {
|
164
|
+
if (!$.FE.$draggable_helper) $.FE.$draggable_helper = $('<div class="fr-drag-helper"></div>');
|
165
|
+
|
166
|
+
$draggable_helper = $.FE.$draggable_helper;
|
167
|
+
|
168
|
+
editor.events.on('shared.destroy', function () {
|
169
|
+
$draggable_helper.html('').removeData().remove();
|
170
|
+
$draggable_helper = null;
|
171
|
+
}, true);
|
172
|
+
}
|
173
|
+
|
174
|
+
var above;
|
175
|
+
var mouse_y = e.originalEvent.pageY;
|
176
|
+
|
177
|
+
if (mouse_y < $(tag_under).offset().top + $(tag_under).outerHeight() / 2) above = true;
|
178
|
+
else above = false;
|
179
|
+
|
180
|
+
var $tag_under = $(tag_under);
|
181
|
+
var margin = 0 ;
|
182
|
+
|
183
|
+
// Should go below and there is no tag below.
|
184
|
+
if (!above && $tag_under.next().length === 0) {
|
185
|
+
if ($draggable_helper.data('fr-position') != 'after' || !$tag_under.is($draggable_helper.data('fr-tag'))) {
|
186
|
+
margin = parseFloat($tag_under.css('margin-bottom')) || 0;
|
187
|
+
|
188
|
+
_setHelperSize(
|
189
|
+
$tag_under.offset().top + $(tag_under).height() + margin / 2 - editor.$box.offset().top,
|
190
|
+
$tag_under.offset().left - editor.win.pageXOffset - editor.$box.offset().left,
|
191
|
+
$tag_under.width()
|
192
|
+
);
|
193
|
+
|
194
|
+
$draggable_helper.data('fr-position', 'after');
|
195
|
+
}
|
196
|
+
}
|
197
|
+
else {
|
198
|
+
|
199
|
+
// Should go below then we take the next tag.
|
200
|
+
if (!above) {
|
201
|
+
$tag_under = $tag_under.next();
|
202
|
+
}
|
203
|
+
|
204
|
+
if ($draggable_helper.data('fr-position') != 'before' || !$tag_under.is($draggable_helper.data('fr-tag'))) {
|
205
|
+
if ($tag_under.prev().length > 0) {
|
206
|
+
margin = parseFloat($tag_under.prev().css('margin-bottom')) || 0;
|
207
|
+
}
|
208
|
+
margin = Math.max(margin, parseFloat($tag_under.css('margin-top')) || 0);
|
209
|
+
|
210
|
+
_setHelperSize(
|
211
|
+
$tag_under.offset().top - margin / 2 - editor.$box.offset().top,
|
212
|
+
$tag_under.offset().left - editor.win.pageXOffset - editor.$box.offset().left,
|
213
|
+
$tag_under.width()
|
214
|
+
)
|
215
|
+
|
216
|
+
$draggable_helper.data('fr-position', 'before');
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
$draggable_helper.data('fr-tag', $tag_under);
|
221
|
+
|
222
|
+
$draggable_helper.addClass('fr-visible');
|
223
|
+
$draggable_helper.appendTo(editor.$box);
|
224
|
+
}
|
225
|
+
else if ($draggable_helper && editor.$box.find($draggable_helper).length > 0) {
|
226
|
+
$draggable_helper.removeClass('fr-visible');
|
227
|
+
}
|
228
|
+
}
|
229
|
+
|
230
|
+
function _dragOver (e) {
|
231
|
+
e.originalEvent.dataTransfer.dropEffect = 'move';
|
232
|
+
|
233
|
+
if (!editor.opts.dragInline) {
|
234
|
+
e.preventDefault();
|
235
|
+
|
236
|
+
_positionHelper(e);
|
237
|
+
}
|
238
|
+
|
239
|
+
else if (!_getDraggedEl() && (editor.browser.msie || editor.browser.edge)) {
|
240
|
+
e.preventDefault();
|
241
|
+
}
|
242
|
+
}
|
243
|
+
|
244
|
+
function _dragEnter (e) {
|
245
|
+
e.originalEvent.dataTransfer.dropEffect = 'move';
|
246
|
+
|
247
|
+
if (!editor.opts.dragInline) {
|
248
|
+
e.preventDefault();
|
249
|
+
}
|
250
|
+
}
|
251
|
+
|
252
|
+
function _documentDragEnd (e) {
|
253
|
+
editor.$el.attr('contenteditable', true);
|
254
|
+
var $draggedEl = editor.$el.find('.fr-dragging');
|
255
|
+
|
256
|
+
if ($draggable_helper && $draggable_helper.hasClass('fr-visible') && editor.$box.find($draggable_helper).length) {
|
257
|
+
_drop(e);
|
258
|
+
}
|
259
|
+
else if ($draggedEl.length) {
|
260
|
+
e.preventDefault();
|
261
|
+
e.stopPropagation();
|
262
|
+
}
|
263
|
+
|
264
|
+
if ($draggable_helper && editor.$box.find($draggable_helper).length) {
|
265
|
+
$draggable_helper.removeClass('fr-visible');
|
266
|
+
}
|
267
|
+
|
268
|
+
$draggedEl.removeClass('fr-dragging');
|
269
|
+
}
|
270
|
+
|
271
|
+
function _getDraggedEl () {
|
272
|
+
var $draggedEl = null;
|
273
|
+
|
274
|
+
// Search of the instance we're dragging from.
|
275
|
+
for (var i = 0; i < $.FE.INSTANCES.length; i++) {
|
276
|
+
$draggedEl = $.FE.INSTANCES[i].$el.find('.fr-dragging');
|
277
|
+
|
278
|
+
if ($draggedEl.length) {
|
279
|
+
return $draggedEl.get(0);
|
280
|
+
}
|
281
|
+
}
|
282
|
+
}
|
283
|
+
|
284
|
+
function _drop (e) {
|
285
|
+
var $draggedEl;
|
286
|
+
var inst;
|
287
|
+
|
288
|
+
// Inst is the intance we're dragging from.
|
289
|
+
for (var i = 0; i < $.FE.INSTANCES.length; i++) {
|
290
|
+
$draggedEl = $.FE.INSTANCES[i].$el.find('.fr-dragging');
|
291
|
+
|
292
|
+
if ($draggedEl.length) {
|
293
|
+
inst = $.FE.INSTANCES[i];
|
294
|
+
break;
|
295
|
+
}
|
296
|
+
}
|
297
|
+
|
298
|
+
// There is a dragged element.
|
299
|
+
if ($draggedEl.length) {
|
300
|
+
|
301
|
+
// Cancel anything else.
|
302
|
+
e.preventDefault();
|
303
|
+
e.stopPropagation();
|
304
|
+
|
305
|
+
// Look for draggable helper.
|
306
|
+
if ($draggable_helper && $draggable_helper.hasClass('fr-visible') && editor.$box.find($draggable_helper).length) {
|
307
|
+
$draggable_helper.data('fr-tag')[$draggable_helper.data('fr-position')]('<span class="fr-marker"></span>');
|
308
|
+
$draggable_helper.removeClass('fr-visible');
|
309
|
+
}
|
310
|
+
else {
|
311
|
+
var ok = editor.markers.insertAtPoint(e.originalEvent);
|
312
|
+
|
313
|
+
if (ok === false) return false;
|
314
|
+
}
|
315
|
+
|
316
|
+
// Remove dragging class.
|
317
|
+
$draggedEl.removeClass('fr-dragging');
|
318
|
+
|
319
|
+
$draggedEl = editor.events.chainTrigger('element.beforeDrop', $draggedEl);
|
320
|
+
|
321
|
+
if ($draggedEl === false) {
|
322
|
+
return false;
|
323
|
+
}
|
324
|
+
|
325
|
+
// Image with link.
|
326
|
+
var $droppedEl = $draggedEl;
|
327
|
+
|
328
|
+
if ($draggedEl.parent().is('A') && $draggedEl.parent().get(0).childNodes.length == 1) {
|
329
|
+
$droppedEl = $draggedEl.parent();
|
330
|
+
}
|
331
|
+
|
332
|
+
// Replace marker with the dragged element.
|
333
|
+
if (!editor.core.isEmpty()) {
|
334
|
+
var $marker = editor.$el.find('.fr-marker');
|
335
|
+
$marker.replaceWith($.FE.MARKERS);
|
336
|
+
editor.selection.restore();
|
337
|
+
}
|
338
|
+
else {
|
339
|
+
editor.events.focus();
|
340
|
+
}
|
341
|
+
|
342
|
+
// Save undo step if the current instance is different than the original one.
|
343
|
+
if (inst != editor && !editor.undo.canDo()) editor.undo.saveStep();
|
344
|
+
|
345
|
+
// Place new elements.
|
346
|
+
if (!editor.core.isEmpty()) {
|
347
|
+
var marker = editor.markers.insert();
|
348
|
+
|
349
|
+
// Make sure we do not have marker inside $droppedEl.
|
350
|
+
if ($droppedEl.find(marker).length === 0) {
|
351
|
+
$(marker).replaceWith($droppedEl);
|
352
|
+
}
|
353
|
+
else if ($draggedEl.find(marker).length === 0) {
|
354
|
+
$(marker).replaceWith($draggedEl);
|
355
|
+
}
|
356
|
+
|
357
|
+
$draggedEl.after($.FE.MARKERS);
|
358
|
+
editor.selection.restore();
|
359
|
+
}
|
360
|
+
else {
|
361
|
+
editor.$el.html($droppedEl);
|
362
|
+
}
|
363
|
+
|
364
|
+
// Hide all popups.
|
365
|
+
editor.popups.hideAll();
|
366
|
+
editor.selection.save();
|
367
|
+
editor.$el.find(editor.html.emptyBlockTagsQuery()).not('TD, TH, LI, .fr-inner').not(editor.opts.htmlAllowedEmptyTags.join(',')).remove();
|
368
|
+
editor.html.wrap();
|
369
|
+
editor.html.fillEmptyBlocks();
|
370
|
+
editor.selection.restore();
|
371
|
+
editor.undo.saveStep();
|
372
|
+
|
373
|
+
if (editor.opts.iframe) editor.size.syncIframe();
|
374
|
+
|
375
|
+
// Mark changes in the original instance as well.
|
376
|
+
if (inst != editor) {
|
377
|
+
inst.popups.hideAll();
|
378
|
+
inst.$el.find(inst.html.emptyBlockTagsQuery()).not('TD, TH, LI, .fr-inner').remove();
|
379
|
+
inst.html.wrap();
|
380
|
+
inst.html.fillEmptyBlocks();
|
381
|
+
inst.undo.saveStep();
|
382
|
+
inst.events.trigger('element.dropped');
|
383
|
+
|
384
|
+
if (inst.opts.iframe) inst.size.syncIframe();
|
385
|
+
}
|
386
|
+
|
387
|
+
editor.events.trigger('element.dropped', [$droppedEl]);
|
388
|
+
|
389
|
+
// Stop bubbling.
|
390
|
+
|
391
|
+
return false;
|
392
|
+
}
|
393
|
+
|
394
|
+
// Save step when something else is dragged into the editor.
|
395
|
+
else {
|
396
|
+
if ($draggable_helper) $draggable_helper.removeClass('fr-visible');
|
397
|
+
|
398
|
+
if (!editor.undo.canDo()) editor.undo.saveStep();
|
399
|
+
|
400
|
+
setTimeout(function () {
|
401
|
+
editor.undo.saveStep();
|
402
|
+
}, 0);
|
403
|
+
}
|
404
|
+
}
|
405
|
+
|
406
|
+
/**
|
407
|
+
* Do cleanup when the html is taken.
|
408
|
+
*/
|
409
|
+
function _cleanOnGet(el) {
|
410
|
+
|
411
|
+
// Remove drag helper.
|
412
|
+
if (el && el.tagName == 'DIV' && editor.node.hasClass(el, 'fr-drag-helper')) {
|
413
|
+
el.parentNode.removeChild(el);
|
414
|
+
}
|
415
|
+
|
416
|
+
// Remove from nested elements too.
|
417
|
+
else if (el && el.nodeType == Node.ELEMENT_NODE) {
|
418
|
+
var els = el.querySelectorAll('div.fr-drag-helper');
|
419
|
+
|
420
|
+
for (var i = 0; i < els.length; i++) {
|
421
|
+
els[i].parentNode.removeChild(els[i]);
|
422
|
+
}
|
423
|
+
}
|
424
|
+
}
|
425
|
+
|
426
|
+
/*
|
427
|
+
* Initialize.
|
428
|
+
*/
|
429
|
+
var $draggable_helper;
|
430
|
+
|
431
|
+
function _init () {
|
432
|
+
|
433
|
+
// Force drag inline when ENTER_BR is active.
|
434
|
+
if (editor.opts.enter == $.FE.ENTER_BR) editor.opts.dragInline = true;
|
435
|
+
|
436
|
+
// Starting to drag.
|
437
|
+
editor.events.on('dragstart', _dragStart, true);
|
438
|
+
|
439
|
+
// Inline dragging is off.
|
440
|
+
editor.events.on('dragover', _dragOver, true);
|
441
|
+
editor.events.on('dragenter', _dragEnter, true);
|
442
|
+
|
443
|
+
// Document drop. Remove moving class.
|
444
|
+
editor.events.on('document.dragend', _documentDragEnd, true);
|
445
|
+
editor.events.on('document.drop', _documentDragEnd, true);
|
446
|
+
|
447
|
+
// Drop.
|
448
|
+
editor.events.on('drop', _drop, true);
|
449
|
+
|
450
|
+
// Clean getting the HTML.
|
451
|
+
editor.events.on('html.processGet', _cleanOnGet)
|
452
|
+
}
|
453
|
+
|
454
|
+
return {
|
455
|
+
_init: _init
|
456
|
+
}
|
457
|
+
}
|
458
|
+
|
459
|
+
}));
|