activeadmin_froala_editor 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -6
- data/Rakefile +11 -0
- data/app/assets/javascripts/activeadmin/froala_editor/froala_editor.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/froala_editor.pkgd.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ar.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/bs.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/cs.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/da.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/de.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/el.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/en_ca.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/en_gb.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/es.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/et.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/fa.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/fi.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/fr.js +4 -4
- data/app/assets/javascripts/activeadmin/froala_editor/languages/he.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/hr.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/hu.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/id.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/it.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ja.js +6 -3
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ko.js +24 -17
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ku.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/me.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/nb.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/nl.js +5 -4
- data/app/assets/javascripts/activeadmin/froala_editor/languages/pl.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/pt_br.js +19 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/pt_pt.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ro.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/ru.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/sk.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/sl.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/sr.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/sv.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/th.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/tr.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/uk.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/vi.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/zh_cn.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/languages/zh_tw.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/align.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/char_counter.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/code_beautifier.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/code_view.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/colors.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/cryptojs.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/draggable.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/edit_in_popup.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/emoticons.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/entities.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/file.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/files_manager.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/filestack.min.js +7 -0
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/font_family.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/font_size.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/forms.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/fullscreen.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/help.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/image.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/image_manager.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/inline_class.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/inline_style.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/line_breaker.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/line_height.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/link.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/lists.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/markdown.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/paragraph_format.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/paragraph_style.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/print.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/quick_insert.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/quote.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/save.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/special_characters.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/table.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/track_changes.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/trim_video.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/url.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/video.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/word_counter.min.js +7 -0
- data/app/assets/javascripts/activeadmin/froala_editor/plugins/word_paste.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/plugins.pkgd.min.js +3 -3
- data/app/assets/javascripts/activeadmin/froala_editor/third_party/embedly.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/third_party/font_awesome.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/third_party/image_tui.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/third_party/showdown.min.js +2 -2
- data/app/assets/javascripts/activeadmin/froala_editor/third_party/spell_checker.min.js +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_editor.css +17 -6
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_editor.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_editor.pkgd.css +158 -45
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_editor.pkgd.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_style.css +37 -14
- data/app/assets/stylesheets/activeadmin/froala_editor/froala_style.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/char_counter.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/char_counter.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/code_view.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/code_view.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/colors.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/colors.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/draggable.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/draggable.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/emoticons.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/emoticons.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/file.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/file.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/files_manager.css +21 -21
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/files_manager.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/filestack.css +41 -0
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/filestack.min.css +7 -0
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/fullscreen.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/fullscreen.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/help.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/help.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/image.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/image.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/image_manager.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/image_manager.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/line_breaker.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/line_breaker.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/markdown.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/markdown.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/quick_insert.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/quick_insert.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/special_characters.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/special_characters.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/table.css +53 -10
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/table.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/trim_video.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/trim_video.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/video.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins/video.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins.pkgd.css +108 -29
- data/app/assets/stylesheets/activeadmin/froala_editor/plugins.pkgd.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/dark.css +64 -26
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/dark.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/gray.css +64 -26
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/gray.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/royal.css +64 -26
- data/app/assets/stylesheets/activeadmin/froala_editor/themes/royal.min.css +3 -3
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/embedly.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/embedly.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/font_awesome.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/font_awesome.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/image_tui.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/image_tui.min.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/spell_checker.css +2 -2
- data/app/assets/stylesheets/activeadmin/froala_editor/third_party/spell_checker.min.css +2 -2
- data/lib/activeadmin/froala_editor/version.rb +2 -2
- metadata +8 -18
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* froala_editor v4.
|
2
|
+
* froala_editor v4.5.1 (https://www.froala.com/wysiwyg-editor)
|
3
3
|
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2025 Froala Labs
|
5
5
|
*/
|
6
6
|
|
7
7
|
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(e){"use strict";e=e&&e.hasOwnProperty("default")?e["default"]:e,Object.assign(e.DEFAULTS,{inlineStyles:{"Big Red":"font-size: 20px; color: red;","Small Blue":"font-size: 14px; color: blue;"}}),e.PLUGINS.inlineStyle=function(i){return{apply:function a(e){for(var t=e.split(";"),n=0;n<t.length;n++){var l=t[n].split(":");t[n].length&&2==l.length&&i.format.applyStyle(l[0].trim(),l[1].trim())}}}},e.RegisterCommand("inlineStyle",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.inlineStyles;for(var n in t)if(t.hasOwnProperty(n)){var l=t[n]+(-1===t[n].indexOf("display:block;")?" display:block;":"");e+='<li role="presentation"><span style="'.concat(l,'" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineStyle" data-param1="').concat(t[n],'" title="').concat(this.language.translate(n),'">').concat(this.language.translate(n),"</a></span></li>")}return e+="</ul>"},title:"Inline Style",callback:function(e,t){this.inlineStyle.apply(t)},plugin:"inlineStyle"}),e.DefineIcon("inlineStyle",{NAME:"paint-brush",SVG_KEY:"inlineStyle"})});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* froala_editor v4.
|
2
|
+
* froala_editor v4.5.1 (https://www.froala.com/wysiwyg-editor)
|
3
3
|
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2025 Froala Labs
|
5
5
|
*/
|
6
6
|
|
7
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(v){"use strict";v=v&&v.hasOwnProperty("default")?v["default"]:v,Object.assign(v.DEFAULTS,{lineBreakerTags:["table","hr","form","dl","span.fr-video",".fr-embedly","img"],lineBreakerOffset:15,lineBreakerHorizontalOffset:10}),v.PLUGINS.lineBreaker=function(d){var m,t,r,h=d.$;function l(e,t){var n,a,r,o,i,s,l,f;if(null==e)i=(o=t.parent()).offset().top,n=(l=t.offset().top)-Math.min((l-i)/2,d.opts.lineBreakerOffset),r=o.outerWidth(),a=o.offset().left;else if(null==t)(s=(o=e.parent()).offset().top+o.outerHeight())<(f=e.offset().top+e.outerHeight())&&(s=(o=h(o).parent()).offset().top+o.outerHeight()),n=f+Math.min(Math.abs(s-f)/2,d.opts.lineBreakerOffset),r=o.outerWidth(),a=o.offset().left;else{o=e.parent();var p=e.offset().top+e.height(),c=t.offset().top;if(c<p)return!1;n=(p+c)/2,r=o.outerWidth(),a=o.offset().left}if(d.opts.iframe){var u=d.helpers.getPX(d.$wp.find(".fr-iframe").css("padding-top")),g=d.helpers.getPX(d.$wp.find(".fr-iframe").css("padding-left"));a+=d.$iframe.offset().left-d.helpers.scrollLeft()+g,n+=d.$iframe.offset().top-d.helpers.scrollTop()+u}d.$box.append(m),m.css("top",n-d.win.pageYOffset),m.css("left",a-d.win.pageXOffset),m.css("width",r),m.data("tag1",e),m.data("tag2",t),m.addClass("fr-visible").data("instance",d)}function f(e){if(e){var t=h(e);if(0===d.$el.find(t).length)return null;if(e.nodeType!=Node.TEXT_NODE&&t.is(d.opts.lineBreakerTags.join(",")))return t;if(0<t.parents(d.opts.lineBreakerTags.join(",")).length)return e=t.parents(d.opts.lineBreakerTags.join(",")).get(0),0!==d.$el.find(h(e)).length&&h(e).is(d.opts.lineBreakerTags.join(","))?h(e):null}return null}function o(e,t){var n=d.doc.elementFromPoint(e,t);return n&&!h(n).closest(".fr-line-breaker").length&&!d.node.isElement(n)&&n!=d.$wp.get(0)&&function a(e){if("undefined"!=typeof e.inFroalaWrapper)return e.inFroalaWrapper;for(var t=e;e.parentNode&&e.parentNode!==d.$wp.get(0);)e=e.parentNode;return t.inFroalaWrapper=e.parentNode==d.$wp.get(0),t.inFroalaWrapper}(n)?n:null}function i(e,t,n){for(var a=n,r=null;a<=d.opts.lineBreakerOffset&&!r;)(r=o(e,t-a))||(r=o(e,t+a)),a+=n;return r}function p(e,t,n){for(var a=null,r=100;!a&&e>d.$box.offset().left&&e<d.$box.offset().left+d.$box.outerWidth()&&0<r;)(a=o(e,t))||(a=i(e,t,5)),"left"==n?e-=d.opts.lineBreakerHorizontalOffset:e+=d.opts.lineBreakerHorizontalOffset,r-=d.opts.lineBreakerHorizontalOffset;return a}function n(e){var t=r=null,n=null,a=d.doc.elementFromPoint(e.pageX-d.win.pageXOffset,e.pageY-d.win.pageYOffset);(t=a&&("HTML"==a.tagName||"BODY"==a.tagName||d.node.isElement(a)||0<=(a.getAttribute("class")||"").indexOf("fr-line-breaker"))?((n=i(e.pageX-d.win.pageXOffset,e.pageY-d.win.pageYOffset,1))||(n=p(e.pageX-d.win.pageXOffset-d.opts.lineBreakerHorizontalOffset,e.pageY-d.win.pageYOffset,"left")),n||(n=p(e.pageX-d.win.pageXOffset+d.opts.lineBreakerHorizontalOffset,e.pageY-d.win.pageYOffset,"right")),f(n)):f(a))?function s(e,t){var n,a,r=e.offset().top,o=e.offset().top+e.outerHeight();if(Math.abs(o-t)<=d.opts.lineBreakerOffset||Math.abs(t-r)<=d.opts.lineBreakerOffset)if(Math.abs(o-t)<Math.abs(t-r)){var i=null;for((a=e.get(0)).nextSibling&&(i=a.nextSibling.offsetParent?a.nextSibling:null);i&&i.nodeType==Node.TEXT_NODE&&0===i.textContent.length;)i=i.nextSibling;if(!i)return l(e,null),!0;if(n=f(i))return l(e,n),!0}else{if(!(a=e.get(0)).previousSibling)return l(null,e),!0;if(n=f(a.previousSibling))return l(n,e),!0}m.removeClass("fr-visible").removeData("instance")}(t,e.pageY):d.core.sameInstance(m)&&m.removeClass("fr-visible").removeData("instance")}function a(e){return!(m.hasClass("fr-visible")&&!d.core.sameInstance(m))&&(d.popups.areVisible()||d.el.querySelector(".fr-selected-cell")?(m.removeClass("fr-visible"),!0):void(!1!==t||d.edit.isDisabled()||(r&&clearTimeout(r),r=setTimeout(n,30,e))))}function s(){r&&clearTimeout(r),m&&m.hasClass("fr-visible")&&m.removeClass("fr-visible").removeData("instance")}var c=function c(){t=!0,s()},u=function u(){t=!1};function g(e){e.preventDefault();var t=m.data("instance")||d;m.removeClass("fr-visible").removeData("instance");var n=m.data("tag1"),a=m.data("tag2"),r=d.html.defaultTag();if(null==n)if(d.opts.keepTextFormatOnTable&&a.children().get(0)!=undefined&&"TBODY"==a.children().get(0).tagName){var o=a.find("span"),i=null!=o[o.length-1]?o[o.length-1].getAttribute("style"):null,s=null!=i?"<"+o[o.length-1].nodeName.toLowerCase()+' style="'+i+'">':"<"+a.parent().get(0).nodeName.toLowerCase()+">",l=null!=i?"</"+o[o.length-1].nodeName.toLowerCase()+">":"</"+a.parent().get(0).nodeName.toLowerCase()+">";r?a.before("<".concat(r,">").concat(s).concat(v.MARKERS,"<br>").concat(l,"</").concat(r,">")):a.before("".concat(s).concat(v.MARKERS,"<br>").concat(l))}else r&&"TD"!=a.parent().get(0).tagName&&0===a.parents(r).length?a.before("<".concat(r,">").concat(v.MARKERS,"<br></").concat(r,">")):a.before("".concat(v.MARKERS,"<br>"));else if(d.opts.keepTextFormatOnTable&&n.children().get(0)!=undefined&&"TBODY"==n.children().get(0).tagName){var f=n.find("span"),p=null!=f[f.length-1]?f[f.length-1].getAttribute("style"):null,c=null!=p?"<"+f[f.length-1].nodeName.toLowerCase()+' style="'+p+'">':"<"+n.parent().get(0).nodeName.toLowerCase()+">",u=null!=p?"</"+f[f.length-1].nodeName.toLowerCase()+">":"</"+n.parent().get(0).nodeName.toLowerCase()+">";r?n.after("<".concat(r,">").concat(c).concat(v.MARKERS,"<br>").concat(u,"</").concat(r,">")):n.after("".concat(c).concat(v.MARKERS,"<br>").concat(u))}else r&&"TD"!=n.parent().get(0).tagName&&0===n.parents(r).length?n.after("<".concat(r,">").concat(v.MARKERS,"<br></").concat(r,">")):n.after("".concat(v.MARKERS,"<br>"));t.selection.restore(),d.toolbar.enable()}return{_init:function b(){if(!d.$wp)return!1;!function e(){d.shared.$line_breaker||(d.shared.$line_breaker=h(document.createElement("div")).attr("class","fr-line-breaker").html('<a class="fr-floating-btn" role="button" tabIndex="-1" title="'.concat(d.language.translate("Break"),'"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><rect x="17" y="7" width="2" height="8"/><rect x="10" y="13" width="7" height="2"/><path d="M10.000,10.000 L10.000,18.013 L5.000,14.031 L10.000,10.000 Z"/></svg></a>'))),m=d.shared.$line_breaker,d.events.on("shared.destroy",function(){m.html("").removeData().remove(),m=null},!0),d.events.on("destroy",function(){m.removeData("instance").removeClass("fr-visible"),h("body").first().append(m),clearTimeout(r)},!0),d.events.$on(m,"mousemove",function(e){e.stopPropagation()},!0),d.events.bindClick(m,"a",g)}(),t=!1,d.events.$on(d.$win,"mousemove",a),d.events.$on(h(d.win),"scroll",s),d.events.on("popups.show.table.edit",s),d.events.on("commands.after",s),d.events.$on(h(d.win),"mousedown",c),d.events.$on(h(d.win),"mouseup",u)}}}});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* froala_editor v4.
|
2
|
+
* froala_editor v4.5.1 (https://www.froala.com/wysiwyg-editor)
|
3
3
|
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2025 Froala Labs
|
5
5
|
*/
|
6
6
|
|
7
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(r){"use strict";r=r&&r.hasOwnProperty("default")?r["default"]:r,Object.assign(r.DEFAULTS,{lineHeights:{Default:"",Single:"1",1.15:"1.15",1.5:"1.5",Double:"2"}}),r.PLUGINS.lineHeight=function(a){var o=a.$;return{_init:function e(){},apply:function i(e){a.selection.save(),a.html.wrap(!0,!0,!0,!0),a.selection.restore();var t=a.selection.blocks();t.length&&o(t[0]).parent().is("td")&&a.format.applyStyle("line-height",e.toString()),a.selection.save();for(var n=0;n<t.length;n++)o(t[n]).css("line-height",e),a.opts.enter!==r.ENTER_BR||t.length&&o(t[0]).parent().is("td")||(o(t[n]).hasClass("fr-temp-div")&&o(t[n]).removeClass("fr-temp-div"),""===o(t[n]).attr("class")&&o(t[n]).removeAttr("class")),""===o(t[n]).attr("style")&&o(t[n]).removeAttr("style");a.html.unwrap(),a.selection.restore()},refreshOnShow:function l(e,t){var n=a.selection.blocks();if(n.length){var r=o(n[0]);t.find(".fr-command").each(function(){var e=o(this).data("param1"),t=r.attr("style"),n=0<=(t||"").indexOf("line-height: "+e+";");if(t){var a=t.substring(t.indexOf("line-height")),i=a.substr(0,a.indexOf(";")),l=i&&i.split(":")[1];l&&l.length||"Default"!==r.text()||(n=!0)}t&&-1!==t.indexOf("line-height")||""!==e||(n=!0),o(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}}},r.RegisterCommand("lineHeight",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.lineHeights;if(t instanceof Array)for(var n=0;n<t.length;n++)e+='<li role="presentation"><a class="fr-command '.concat(t[n].label,'" tabIndex="-1" role="option" data-cmd="lineHeight" data-param1="').concat(t[n].value,'" title="').concat(this.language.translate(t[n].label),'">').concat(this.language.translate(t[n].label),"</a></li>");else if(t instanceof Object)for(var a in t)t.hasOwnProperty(a)&&(e+='<li role="presentation"><a class="fr-command '.concat(a,'" tabIndex="-1" role="option" data-cmd="lineHeight" data-param1="').concat(t[a],'" title="').concat(this.language.translate(a),'">').concat(this.language.translate(a),"</a></li>"));return e+="</ul>"},title:"Line Height",callback:function(e,t){this.lineHeight.apply(t)},refreshOnShow:function(e,t){this.lineHeight.refreshOnShow(e,t)},plugin:"lineHeight"}),r.DefineIcon("lineHeight",{NAME:"arrows-v",FA5NAME:"arrows-alt-v",SVG_KEY:"lineHeight"})});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* froala_editor v4.
|
2
|
+
* froala_editor v4.5.1 (https://www.froala.com/wysiwyg-editor)
|
3
3
|
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2025 Froala Labs
|
5
5
|
*/
|
6
6
|
|
7
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(y){"use strict";y=y&&y.hasOwnProperty("default")?y["default"]:y,Object.assign(y.POPUP_TEMPLATES,{"link.edit":"[_BUTTONS_]","link.insert":"[_BUTTONS_][_INPUT_LAYER_]"}),Object.assign(y.DEFAULTS,{linkEditButtons:["linkOpen","linkStyle","linkEdit","linkRemove"],linkInsertButtons:["linkBack","|","linkList"],linkAttributes:{},linkAutoPrefix:"http://",linkStyles:{"fr-green":"Green","fr-strong":"Thick"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:"Froala",href:"https://froala.com",target:"_blank"},{text:"Google",href:"https://google.com",target:"_blank"},{displayText:"Facebook",href:"https://facebook.com"}],linkText:!0}),y.PLUGINS.link=function(h){var m=h.$;function v(){var e=h.image?h.image.get():null;if(e||!h.$wp)return"A"==h.el.tagName?h.el:e&&e.get(0).parentNode&&"A"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0;var t=h.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(h.el)||!h.el.contains(t)||h.el==t)&&(t=null)}catch(r){t=null}if(t&&"A"===t.tagName)return t;var n=h.selection.element(),i=h.selection.endElement();"A"==n.tagName||h.node.isElement(n)||(n=m(n).parentsUntil(h.$el,"a").first().get(0)),"A"==i.tagName||h.node.isElement(i)||(i=m(i).parentsUntil(h.$el,"a").first().get(0));try{i&&(i.contains&&i.contains(h.el)||!h.el.contains(i)||h.el==i)&&(i=null)}catch(r){i=null}try{n&&(n.contains&&n.contains(h.el)||!h.el.contains(n)||h.el==n)&&(n=null)}catch(r){n=null}return i&&i==n&&"A"==i.tagName?(h.browser.msie||h.helpers.isMobile())&&(h.selection.info(n).atEnd||h.selection.info(n).atStart)?null:n:null}function b(){var e,t,n,i,r=h.image?h.image.get():null,a=[];if(r)"A"==r.get(0).parentNode.tagName&&a.push(r.get(0).parentNode);else if(h.win.getSelection){var l=h.win.getSelection();if(l.getRangeAt&&l.rangeCount){i=h.doc.createRange();for(var s=0;s<l.rangeCount;++s)if((t=(e=l.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&"a"==t.nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName("a");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&a.push(n[o])}}}else if(h.doc.selection&&"Control"!=h.doc.selection.type)if("a"==(t=(e=h.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName("a"),i=h.doc.body.createTextRange();for(var p=0;p<n.length;++p)i.moveToElementText(n[p]),-1<i.compareEndPoints("StartToEnd",e)&&i.compareEndPoints("EndToStart",e)<1&&a.push(n[p])}return a}function E(r){if(h.core.hasFocus()){if(a(),r&&"keyup"===r.type&&(r.altKey||r.which==y.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||"mouseup"!=r.type)){var e=v(),t=h.image?h.image.get():null;if(e&&!t){if(h.image){var n=h.node.contents(e);if(1==n.length&&"IMG"==n[0].tagName){var i=h.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(y.INVISIBLE_SPACE+y.MARKERS):m(e).after(y.INVISIBLE_SPACE+y.MARKERS),h.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},h.helpers.isIOS()?100:0)}}function l(e){var t=h.popups.get("link.edit");t||(t=function a(){var e="";1<=h.opts.linkEditButtons.length&&("A"==h.el.tagName&&0<=h.opts.linkEditButtons.indexOf("linkRemove")&&h.opts.linkEditButtons.splice(h.opts.linkEditButtons.indexOf("linkRemove"),1),e='<div class="fr-buttons">'.concat(h.button.buildList(h.opts.linkEditButtons),"</div>"));var t={buttons:e},n=h.popups.create("link.edit",t);h.$wp&&h.events.$on(h.$wp,"scroll.link-edit",function(){v()&&h.popups.isVisible("link.edit")&&l(v())});return n}());var n=m(e);h.popups.isVisible("link.edit")||h.popups.refresh("link.edit"),h.popups.setContainer("link.edit",h.$sc);var i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show("link.edit",i,r,n.outerHeight(),!0)}function a(){h.popups.hide("link.edit")}function o(){var e=h.popups.get("link.insert"),t=v();if(t){var n,i,r=m(t),a=e.find('input.fr-link-attr[type="text"]'),l=e.find('input.fr-link-attr[type="checkbox"]');for(n=0;n<a.length;n++)(i=m(a[n])).val(r.attr(i.attr("name")||""));for(l.attr("checked",!1),n=0;n<l.length;n++)i=m(l[n]),r.attr(i.attr("name"))==i.data("checked")&&i.attr("checked",!0);e.find('input.fr-link-attr[type="text"][name="text"]').val(r.text())}else e.find('input.fr-link-attr[type="text"]').val(""),e.find('input.fr-link-attr[type="checkbox"]').attr("checked",!1),e.find('input.fr-link-attr[type="text"][name="text"]').val(h.selection.text());e.find("input.fr-link-attr").trigger("change"),(h.image?h.image.get():null)?e.find('.fr-link-attr[name="text"]').parent().hide():e.find('.fr-link-attr[name="text"]').parent().show()}function s(e){if(e)return h.popups.onRefresh("link.insert",o),!0;var t="";1<=h.opts.linkInsertButtons.length&&(t='<div class="fr-buttons fr-tabs">'.concat(h.button.buildList(h.opts.linkInsertButtons),"</div>"));var n="",i=0;for(var r in n='<div class="fr-link-insert-layer fr-layer fr-active" id="fr-link-insert-layer-'.concat(h.id,'">'),n+='<div class="fr-input-line"><input id="fr-link-insert-layer-url-'.concat(h.id,'" name="href" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate("URL"),'" tabIndex="').concat(++i,'"></div>'),h.opts.linkText&&(n+='<div class="fr-input-line"><input id="fr-link-insert-layer-text-'.concat(h.id,'" name="text" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate("Text"),'" tabIndex="').concat(++i,'"></div>')),h.opts.linkAttributes)if(h.opts.linkAttributes.hasOwnProperty(r)){var a=h.opts.linkAttributes[r];n+='<div class="fr-input-line"><input name="'.concat(r,'" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate(a),'" tabIndex="').concat(++i,'"></div>')}h.opts.linkAlwaysBlank||(n+='<div class="fr-checkbox-line"><span class="fr-checkbox"><input name="target" class="fr-link-attr" data-checked="_blank" type="checkbox" id="fr-link-target-'.concat(h.id,'" tabIndex="').concat(++i,'"><span>').concat('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg>','</span></span><label id="fr-label-target-').concat(h.id,'">').concat(h.language.translate("Open in new tab"),"</label></div>"));var l={buttons:t,input_layer:n+='<div class="fr-action-buttons"><button class="fr-command fr-submit" role="button" data-cmd="linkInsert" href="#" tabIndex="'.concat(++i,'" type="button">').concat(h.language.translate("Insert"),"</button></div></div>")},s=h.popups.create("link.insert",l);return h.$wp&&h.events.$on(h.$wp,"scroll.link-insert",function(){(h.image?h.image.get():null)&&h.popups.isVisible("link.insert")&&f(),h.popups.isVisible("link.insert")&&c()}),s}function p(e,t,n){if(h.opts.trackChangesEnabled){if(h.edit.on(),h.events.focus(!0),h.undo.saveStep(),h.markers.insert(),h.html.wrap(),!h.$el.find(".fr-marker").length)return void h.popups.hide("link.insert");h.markers.remove()}if(void 0===n&&(n={}),!1===h.events.trigger("link.beforeInsert",[e,t,n]))return!1;var i=h.image?h.image.get():null;i||"A"==h.el.tagName?"A"==h.el.tagName&&h.$el.focus():(h.selection.restore(),h.popups.hide("link.insert"));var r=e;h.opts.linkConvertEmailAddress&&h.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e="mailto:".concat(e));if(""===h.opts.linkAutoPrefix||new RegExp("^("+y.LinkProtocols.join("|")+"):.","i").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\/\//i.test(e)||/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e)||["/","{","[","#","(","."].indexOf((e||"")[0])<0&&(e=h.opts.linkAutoPrefix+e),e=h.helpers.sanitizeURL(e),h.opts.linkAlwaysBlank&&(n.target="_blank"),h.opts.linkAlwaysNoFollow&&(n.rel="nofollow"),h.helpers.isEmail(r)&&(n.target=null,n.rel=null),"_blank"==n.target?(h.opts.linkNoOpener&&(n.rel?n.rel+=" noopener":n.rel="noopener"),h.opts.linkNoReferrer&&(n.rel?n.rel+=" noreferrer":n.rel="noreferrer")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,"").replace(/noreferrer/,""):n.rel=null),t=t||"",e===h.opts.linkAutoPrefix)return h.popups.get("link.insert").find('input[name="href"]').addClass("fr-error"),h.events.trigger("link.bad",[r]),!1;var a,l=v();if(l){if((a=m(l)).attr("href",e),0<t.length&&a.text()!=t&&!i){if(h.opts.trackChangesEnabled){var s=m(a.get(0).outerHTML);s.insertBefore(a.parent());var o=h.track_changes.wrapLinkInTracking(s,h.track_changes.getPendingChanges().length-1),p=h.track_changes.wrapInDelete(o);a.parent().append(p)}for(var c=a.get(0);1===c.childNodes.length&&c.childNodes[0].nodeType==Node.ELEMENT_NODE;)c=c.childNodes[0];m(c).text(t)}for(var f in i||a.prepend(y.START_MARKER).append(y.END_MARKER),n)n[f]?a.attr(f,n[f]):a.removeAttr(f);i||h.selection.restore()}else{i?(i.wrap('<a href="'.concat(e,'"></a>')),h.image.hasCaption()&&i.parent().append(i.parents(".fr-img-caption").find(".fr-inner"))):(h.format.remove("a"),h.selection.isCollapsed()?(t=0===t.length?r:t,h.html.insert('<a href="'.concat(e,'">').concat(y.START_MARKER).concat(t.replace(/&/g,"&").replace(/</,"<",">",">")).concat(y.END_MARKER,"</a>")),h.selection.restore()):0<t.length&&t!=h.selection.text().replace(/\n/g,"")?(h.selection.remove(),h.html.insert('<a href="'.concat(e,'">').concat(y.START_MARKER).concat(t.replace(/&/g,"&")).concat(y.END_MARKER,"</a>")),h.selection.restore()):(!function g(){if(!h.selection.isCollapsed()){h.selection.save();for(var e=h.$el.find(".fr-marker").addClass("fr-unprocessed").toArray();e.length;){var t=m(e.pop());t.removeClass("fr-unprocessed");var n=h.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r="",a="";i=i.parentNode,h.node.isBlock(i)||(r+=h.node.closeTagString(i),a=h.node.openTagString(i)+a),i!=n;);var l=h.node.openTagString(t.get(0))+t.html()+h.node.closeTagString(t.get(0));t.replaceWith('<span id="fr-break"></span>');var s=n.outerHTML;s=(s=s.replace(/<span id="fr-break"><\/span>/g,r+l+a)).replace(a+r,""),n.outerHTML=s}e=h.$el.find(".fr-marker.fr-unprocessed").toArray()}h.html.cleanEmptyTags(),h.selection.restore()}}(),h.format.apply("a",{href:e})));for(var d=b(),u=0;u<d.length;u++)(a=m(d[u])).attr(n),a.removeAttr("_moz_dirty");1==d.length&&h.$wp&&!i&&(m(d[0]).prepend(y.START_MARKER).append(y.END_MARKER),h.selection.restore())}if(i){var k=h.popups.get("link.insert");k&&k.find("input:focus").blur(),h.image.edit(i)}else E()}function c(){a();var e=v();if(e){var t=h.popups.get("link.insert");t||(t=s()),h.popups.isVisible("link.insert")||(h.popups.refresh("link.insert"),h.selection.save(),h.helpers.isMobile()&&(h.events.disableBlur(),h.$el.blur(),h.events.enableBlur())),h.popups.setContainer("link.insert",h.$sc);var n=(h.image?h.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show("link.insert",i,r,n.outerHeight(),!0)}}function f(){var e=h.image?h.image.getEl():null;if(e){var t=h.popups.get("link.insert"),n=e.outerWidth()/2;h.image.hasCaption()&&(e=e.find(".fr-img-wrap"),m(e)&&m(e).find("img")&&(n=m(e).find("img").outerWidth()/2)),t||(t=s()),o(),h.popups.setContainer("link.insert",h.$sc);var i=e.offset().left+n,r=e.offset().top+e.outerHeight(),a=e.outerHeight();h.opts.iframe&&h.image.hasCaption()&&m(e)&&m(e).find("img")&&(a=m(e).find("img").outerHeight()),h.popups.show("link.insert",i,r,a,!0)}}return{_init:function e(){h.events.on("keyup",function(e){e.which!=y.KEYCODE.ESC&&E(e)}),h.events.on("window.mouseup",E),h.events.$on(h.$el,"click","a",function(e){h.edit.isDisabled()&&e.preventDefault()}),h.helpers.isMobile()&&h.events.$on(h.$doc,"selectionchange",E),s(!0),"A"==h.el.tagName&&h.$el.addClass("fr-view"),h.events.on("toolbar.esc",function(){if(h.popups.isVisible("link.edit"))return h.events.disableBlur(),h.events.focus(),!1},!0)},remove:function i(){var e=v(),t=h.image?h.image.get():null;if(!1===h.events.trigger("link.beforeRemove",[e]))return!1;if(t&&e)if(h.image.hasCaption()){t.addClass("img-link-caption"),m(e).replaceWith(m(e).html());var n=document.querySelectorAll("img.img-link-caption");h.image.edit(m(n[0])),m(n[0]).removeClass("img-link-caption")}else t.unwrap(),h.image.edit(t);else e&&(h.selection.save(),m(e).replaceWith(m(e).html()),h.selection.restore(),a())},showInsertPopup:function d(){var e=h.$tb.find('.fr-command[data-cmd="insertLink"]'),t=h.popups.get("link.insert");if(t||(t=s()),!t.hasClass("fr-active"))if(h.popups.refresh("link.insert"),h.popups.setContainer("link.insert",h.$tb||h.$sc),e.isVisible()){var n=h.button.getPosition(e),i=n.left,r=n.top;h.popups.show("link.insert",i,r,e.outerHeight())}else h.position.forSelection(t),h.popups.show("link.insert")},usePredefined:function u(e){var t,n,i=h.opts.linkList[e],r=h.popups.get("link.insert"),a=r.find('input.fr-link-attr[type="text"]'),l=r.find('input.fr-link-attr[type="checkbox"]');for(i.rel&&(r.rel=i.rel),n=0;n<a.length;n++)i[(t=m(a[n])).attr("name")]?(t.val(i[t.attr("name")]),t.toggleClass("fr-not-empty",!0)):"text"!=t.attr("name")&&t.val("");for(n=0;n<l.length;n++)(t=m(l[n])).attr("checked",t.data("checked")==i[t.attr("name")]);h.accessibility.focusPopup(r)},insertCallback:function k(){var e,t,n=h.popups.get("link.insert"),i=n.find('input.fr-link-attr[type="text"]'),r=n.find('input.fr-link-attr[type="checkbox"]'),a=(i.filter('[name="href"]').val()||"").trim(),l=h.opts.linkText?i.filter('[name="text"]').val():"",s={};for(t=0;t<i.length;t++)e=m(i[t]),["href","text"].indexOf(e.attr("name"))<0&&(s[e.attr("name")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(":checked")?s[e.attr("name")]=e.data("checked"):s[e.attr("name")]=e.data("unchecked")||null;n.rel&&(s.rel=n.rel);var o=h.helpers.scrollTop();p(a,l,s),m(h.o_win).scrollTop(o)},insert:p,update:c,get:v,allSelected:b,back:function t(){h.image&&h.image.get()?h.image.back():(h.events.disableBlur(),h.selection.restore(),h.events.enableBlur(),v()&&h.$wp?(h.selection.restore(),a(),E()):"A"==h.el.tagName?(h.$el.focus(),E()):(h.popups.hide("link.insert"),h.toolbar.showInline()))},imageLink:f,applyStyle:function g(e,t,n){void 0===n&&(n=h.opts.linkMultipleStyles),void 0===t&&(t=h.opts.linkStyles);var i=v();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(" "))}m(i).toggleClass(e),E()}}},y.DefineIcon("insertLink",{NAME:"link",SVG_KEY:"insertLink"}),y.RegisterShortcut(y.KEYCODE.K,"insertLink",null,"K"),y.RegisterCommand("insertLink",{title:"Insert Link",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("link.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("link.insert")):this.link.showInsertPopup()},plugin:"link"}),y.DefineIcon("linkOpen",{NAME:"external-link",FA5NAME:"external-link-alt",SVG_KEY:"openLink"}),y.RegisterCommand("linkOpen",{title:"Open Link",undo:!1,refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},callback:function(){var e=this.link.get();e&&(-1!==e.href.indexOf("mailto:")?this.o_win.open(e.href).close():(e.target||(e.target="_self"),this.browser.msie||this.browser.edge?this.o_win.open(e.href,e.target):this.o_win.open(e.href,e.target,"noopener")),this.popups.hide("link.edit"))},plugin:"link"}),y.DefineIcon("linkEdit",{NAME:"edit",SVG_KEY:"edit"}),y.RegisterCommand("linkEdit",{title:"Edit Link",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),y.DefineIcon("linkRemove",{NAME:"unlink",SVG_KEY:"unlink"}),y.RegisterCommand("linkRemove",{title:"Unlink",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),y.DefineIcon("linkBack",{NAME:"arrow-left",SVG_KEY:"back"}),y.RegisterCommand("linkBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))},plugin:"link"}),y.DefineIcon("linkList",{NAME:"search",SVG_KEY:"search"}),y.RegisterCommand("linkList",{title:"Choose Link",type:"dropdown",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkList" data-param1="'.concat(n,'">').concat(t[n].displayText||t[n].text,"</a></li>");return e+="</ul>"},callback:function(e,t){this.link.usePredefined(t)},plugin:"link"}),y.RegisterCommand("linkInsert",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate("Update")):e.text(this.language.translate("Insert"))},plugin:"link"}),y.DefineIcon("imageLink",{NAME:"link",SVG_KEY:"insertLink"}),y.RegisterCommand("imageLink",{title:"Insert Link",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass("fr-separator")&&t.removeClass("fr-hidden"),e.addClass("fr-hidden")):((t=e.prev()).hasClass("fr-separator")&&t.addClass("fr-hidden"),e.removeClass("fr-hidden"))},plugin:"link"}),y.DefineIcon("linkStyle",{NAME:"magic",SVG_KEY:"linkStyles"}),y.RegisterCommand("linkStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkStyle" data-param1="'.concat(n,'">').concat(this.language.translate(t[n]),"</a></li>"));return e+="</ul>"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.$,i=this.link.get();if(i){var r=n(i);t.find(".fr-command").each(function(){var e=n(this).data("param1"),t=r.hasClass(e);n(this).toggleClass("fr-active",t).attr("aria-selected",t)})}},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"})});
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(y){"use strict";y=y&&y.hasOwnProperty("default")?y["default"]:y,Object.assign(y.POPUP_TEMPLATES,{"link.edit":"[_BUTTONS_]","link.insert":"[_BUTTONS_][_INPUT_LAYER_]"}),Object.assign(y.DEFAULTS,{linkEditButtons:["linkOpen","linkStyle","linkEdit","linkRemove"],linkInsertButtons:["linkBack","|","linkList"],linkAttributes:{},linkAutoPrefix:"http://",linkStyles:{"fr-green":"Green","fr-strong":"Thick"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:"Froala",href:"https://froala.com",target:"_blank"},{text:"Google",href:"https://google.com",target:"_blank"},{displayText:"Facebook",href:"https://facebook.com"}],linkText:!0}),y.PLUGINS.link=function(h){var m=h.$;function v(){var e=h.image?h.image.get():null;if(e||!h.$wp)return"A"==h.el.tagName?h.el:e&&e.get(0).parentNode&&"A"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0;var t=h.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(h.el)||!h.el.contains(t)||h.el==t)&&(t=null)}catch(l){t=null}if(t&&"A"===t.tagName)return t;var n,i,r=h.selection.element(),a=h.selection.endElement();"A"==r.tagName||h.node.isElement(r)||(r=h.opts.iframe&&null!==(n=h.markdown)&&void 0!==n&&n.isEnabled()?null:m(r).parentsUntil(h.$el,"a").first().get(0));"A"==a.tagName||h.node.isElement(a)||(a=h.opts.iframe&&null!==(i=h.markdown)&&void 0!==i&&i.isEnabled()?null:m(a).parentsUntil(h.$el,"a").first().get(0));try{a&&(a.contains&&a.contains(h.el)||!h.el.contains(a)||h.el==a)&&(a=null)}catch(l){a=null}try{r&&(r.contains&&r.contains(h.el)||!h.el.contains(r)||h.el==r)&&(r=null)}catch(l){r=null}return a&&a==r&&"A"==a.tagName?(h.browser.msie||h.helpers.isMobile())&&(h.selection.info(r).atEnd||h.selection.info(r).atStart)?null:r:null}function b(){var e,t,n,i,r=h.image?h.image.get():null,a=[];if(r)"A"==r.get(0).parentNode.tagName&&a.push(r.get(0).parentNode);else if(h.win.getSelection){var l=h.win.getSelection();if(l.getRangeAt&&l.rangeCount){i=h.doc.createRange();for(var s=0;s<l.rangeCount;++s)if((t=(e=l.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&"a"==t.nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName("a");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&a.push(n[o])}}}else if(h.doc.selection&&"Control"!=h.doc.selection.type)if("a"==(t=(e=h.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())a.push(t);else{n=t.getElementsByTagName("a"),i=h.doc.body.createTextRange();for(var p=0;p<n.length;++p)i.moveToElementText(n[p]),-1<i.compareEndPoints("StartToEnd",e)&&i.compareEndPoints("EndToStart",e)<1&&a.push(n[p])}return a}function E(r){if(h.core.hasFocus()||h.opts.iframe&&(!document.hasFocus||document.hasFocus())){if(a(),r&&"keyup"===r.type&&(r.altKey||r.which==y.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||"mouseup"!=r.type)){var e=v(),t=h.image?h.image.get():null;if(e&&!t){if(h.image){var n=h.node.contents(e);if(1==n.length&&"IMG"==n[0].tagName){var i=h.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(y.INVISIBLE_SPACE+y.MARKERS):m(e).after(y.INVISIBLE_SPACE+y.MARKERS),h.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},h.helpers.isIOS()?100:0)}}function l(e){var t=h.popups.get("link.edit");t||(t=function a(){var e="";1<=h.opts.linkEditButtons.length&&("A"==h.el.tagName&&0<=h.opts.linkEditButtons.indexOf("linkRemove")&&h.opts.linkEditButtons.splice(h.opts.linkEditButtons.indexOf("linkRemove"),1),e='<div class="fr-buttons">'.concat(h.button.buildList(h.opts.linkEditButtons),"</div>"));var t={buttons:e},n=h.popups.create("link.edit",t);h.$wp&&h.events.$on(h.$wp,"scroll.link-edit",function(){v()&&h.popups.isVisible("link.edit")&&l(v())});return n}());var n=m(e);h.popups.isVisible("link.edit")||h.popups.refresh("link.edit"),h.popups.setContainer("link.edit",h.$sc);var i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show("link.edit",i,r,n.outerHeight(),!0)}function a(){h.popups.hide("link.edit")}function o(){var e=h.popups.get("link.insert"),t=v();if(t){var n,i,r=m(t),a=e.find('input.fr-link-attr[type="text"]'),l=e.find('input.fr-link-attr[type="checkbox"]');for(n=0;n<a.length;n++){var s=(i=m(a[n])).attr("name")||"",o="href"===s?decodeURI(r.attr(s)):r.attr(s);i.val(o)}for(l.attr("checked",!1),n=0;n<l.length;n++)i=m(l[n]),r.attr(i.attr("name"))==i.data("checked")&&i.attr("checked",!0);e.find('input.fr-link-attr[type="text"][name="text"]').val(r.text())}else e.find('input.fr-link-attr[type="text"]').val(""),e.find('input.fr-link-attr[type="checkbox"]').attr("checked",!1),e.find('input.fr-link-attr[type="text"][name="text"]').val(h.selection.text());e.find("input.fr-link-attr").trigger("change"),(h.image?h.image.get():null)?e.find('.fr-link-attr[name="text"]').parent().hide():e.find('.fr-link-attr[name="text"]').parent().show()}function s(e){if(e)return h.popups.onRefresh("link.insert",o),!0;var t="";1<=h.opts.linkInsertButtons.length&&(t='<div class="fr-buttons fr-tabs">'.concat(h.button.buildList(h.opts.linkInsertButtons),"</div>"));var n="",i=0;for(var r in n='<div class="fr-link-insert-layer fr-layer fr-active" id="fr-link-insert-layer-'.concat(h.id,'">'),n+='<div class="fr-input-line"><input id="fr-link-insert-layer-url-'.concat(h.id,'" name="href" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate("URL"),'" tabIndex="').concat(++i,'"></div>'),h.opts.linkText&&(n+='<div class="fr-input-line"><input id="fr-link-insert-layer-text-'.concat(h.id,'" name="text" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate("Text"),'" tabIndex="').concat(++i,'"></div>')),h.opts.linkAttributes)if(h.opts.linkAttributes.hasOwnProperty(r)){var a=h.opts.linkAttributes[r];n+='<div class="fr-input-line"><input name="'.concat(r,'" type="text" class="fr-link-attr" placeholder="').concat(h.language.translate(a),'" tabIndex="').concat(++i,'"></div>')}h.opts.linkAlwaysBlank||(n+='<div class="fr-checkbox-line"><span class="fr-checkbox"><input name="target" class="fr-link-attr" data-checked="_blank" type="checkbox" id="fr-link-target-'.concat(h.id,'" tabIndex="').concat(++i,'"><span>').concat('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg>','</span></span><label id="fr-label-target-').concat(h.id,'">').concat(h.language.translate("Open in new tab"),"</label></div>"));var l={buttons:t,input_layer:n+='<div class="fr-action-buttons"><button class="fr-command fr-submit" role="button" data-cmd="linkInsert" href="#" tabIndex="'.concat(++i,'" type="button">').concat(h.language.translate("Insert"),"</button></div></div>")},s=h.popups.create("link.insert",l);return h.$wp&&h.events.$on(h.$wp,"scroll.link-insert",function(){(h.image?h.image.get():null)&&h.popups.isVisible("link.insert")&&f(),h.popups.isVisible("link.insert")&&c()}),s}function p(e,t,n){if(h.opts.trackChangesEnabled){if(h.edit.on(),h.events.focus(!0),h.undo.saveStep(),h.markers.insert(),h.html.wrap(),!h.$el.find(".fr-marker").length)return void h.popups.hide("link.insert");h.markers.remove()}if(void 0===n&&(n={}),!1===h.events.trigger("link.beforeInsert",[e,t,n]))return!1;var i=h.image?h.image.get():null;i||"A"==h.el.tagName?"A"==h.el.tagName&&h.$el.focus():(h.selection.restore(),h.popups.hide("link.insert"));var r=e;h.opts.linkConvertEmailAddress&&h.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e="mailto:".concat(e));if(""===h.opts.linkAutoPrefix||new RegExp("^("+y.LinkProtocols.join("|")+"):.","i").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\/\//i.test(e)||/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e)||["/","{","[","#","(",".",'"',"\\"].indexOf((e||"")[0])<0&&(e=h.opts.linkAutoPrefix+e),e=h.helpers.sanitizeURL(e),e=encodeURI(e),h.opts.linkAlwaysBlank&&(n.target="_blank"),h.opts.linkAlwaysNoFollow&&(n.rel="nofollow"),h.helpers.isEmail(r)&&(n.target=null,n.rel=null),"_blank"==n.target?(h.opts.linkNoOpener&&(n.rel?n.rel+=" noopener":n.rel="noopener"),h.opts.linkNoReferrer&&(n.rel?n.rel+=" noreferrer":n.rel="noreferrer")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,"").replace(/noreferrer/,""):n.rel=null),t=t||"",e===h.opts.linkAutoPrefix)return h.popups.get("link.insert").find('input[name="href"]').addClass("fr-error"),h.events.trigger("link.bad",[r]),!1;var a,l=v();if(l){if((a=m(l)).attr("href",e),0<t.length&&a.text()!=t&&!i){if(h.opts.trackChangesEnabled){var s=m(a.get(0).outerHTML);s.insertBefore(a.parent());var o=h.track_changes.wrapLinkInTracking(s,h.track_changes.getPendingChanges().length-1),p=h.track_changes.wrapInDelete(o);a.parent().append(p)}for(var c=a.get(0);1===c.childNodes.length&&c.childNodes[0].nodeType==Node.ELEMENT_NODE;)c=c.childNodes[0];m(c).text(t)}for(var f in i||a.prepend(y.START_MARKER).append(y.END_MARKER),n)n[f]?a.attr(f,n[f]):a.removeAttr(f);i||h.selection.restore()}else{i?(i.wrap('<a href="'.concat(e,'"></a>')),h.image.hasCaption()&&i.parent().append(i.parents(".fr-img-caption").find(".fr-inner"))):(h.format.remove("a"),h.selection.isCollapsed()?(t=0===t.length?r:t,h.html.insert('<a href="'.concat(e,'">').concat(y.START_MARKER).concat(t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")).concat(y.END_MARKER,"</a>")),h.selection.restore()):0<t.length&&t!=h.selection.text().replace(/\n/g,"")?(h.selection.remove(),h.html.insert('<a href="'.concat(e,'">').concat(y.START_MARKER).concat(t.replace(/&/g,"&")).concat(y.END_MARKER,"</a>")),h.selection.restore()):(!function g(){if(!h.selection.isCollapsed()){h.selection.save();for(var e=h.$el.find(".fr-marker").addClass("fr-unprocessed").toArray();e.length;){var t=m(e.pop());t.removeClass("fr-unprocessed");var n=h.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r="",a="";i=i.parentNode,h.node.isBlock(i)||(r+=h.node.closeTagString(i),a=h.node.openTagString(i)+a),i!=n;);var l=h.node.openTagString(t.get(0))+t.html()+h.node.closeTagString(t.get(0));t.replaceWith('<span id="fr-break"></span>');var s=n.outerHTML;s=(s=s.replace(/<span id="fr-break"><\/span>/g,r+l+a)).replace(a+r,""),n.outerHTML=s}e=h.$el.find(".fr-marker.fr-unprocessed").toArray()}h.html.cleanEmptyTags(),h.selection.restore()}}(),h.format.apply("a",{href:e})));for(var d=b(),u=0;u<d.length;u++)(a=m(d[u])).attr(n),a.removeAttr("_moz_dirty");1==d.length&&h.$wp&&!i&&(m(d[0]).prepend(y.START_MARKER).append(y.END_MARKER),h.selection.restore())}if(i){var k=h.popups.get("link.insert");k&&k.find("input:focus").blur(),h.image.edit(i)}else E()}function c(){a();var e=v();if(e){var t=h.popups.get("link.insert");t||(t=s()),h.popups.isVisible("link.insert")||(h.popups.refresh("link.insert"),h.selection.save(),h.helpers.isMobile()&&(h.events.disableBlur(),h.$el.blur(),h.events.enableBlur())),h.popups.setContainer("link.insert",h.$sc);var n=(h.image?h.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();h.popups.show("link.insert",i,r,n.outerHeight(),!0)}}function f(){var e=h.image?h.image.getEl():null;if(e){var t=h.popups.get("link.insert"),n=e.outerWidth()/2;h.image.hasCaption()&&(e=e.find(".fr-img-wrap"),m(e)&&m(e).find("img")&&(n=m(e).find("img").outerWidth()/2)),t||(t=s()),o(),h.popups.setContainer("link.insert",h.$sc);var i=e.offset().left+n,r=e.offset().top+e.outerHeight(),a=e.outerHeight();h.opts.iframe&&h.image.hasCaption()&&m(e)&&m(e).find("img")&&(a=m(e).find("img").outerHeight()),h.popups.show("link.insert",i,r,a,!0)}}return{_init:function e(){h.events.on("keyup",function(e){e.which!=y.KEYCODE.ESC&&E(e)}),h.events.on("window.mouseup",E),h.events.$on(h.$el,"click","a",function(e){h.edit.isDisabled()&&e.preventDefault()}),h.helpers.isMobile()&&h.events.$on(h.$doc,"selectionchange",E),s(!0),"A"==h.el.tagName&&h.$el.addClass("fr-view"),h.events.on("toolbar.esc",function(){if(h.popups.isVisible("link.edit"))return h.events.disableBlur(),h.events.focus(),!1},!0)},remove:function i(){var e=v(),t=h.image?h.image.get():null;if(!1===h.events.trigger("link.beforeRemove",[e]))return!1;if(t&&e)if(h.image.hasCaption()){t.addClass("img-link-caption"),m(e).replaceWith(m(e).html());var n=document.querySelectorAll("img.img-link-caption");h.image.edit(m(n[0])),m(n[0]).removeClass("img-link-caption")}else t.unwrap(),h.image.edit(t);else e&&(h.selection.save(),m(e).replaceWith(m(e).html()),h.selection.restore(),a())},showInsertPopup:function d(){var e=h.$tb.find('.fr-command[data-cmd="insertLink"]'),t=h.popups.get("link.insert");if(t||(t=s()),!t.hasClass("fr-active"))if(h.popups.refresh("link.insert"),h.popups.setContainer("link.insert",h.$tb||h.$sc),e.isVisible()){var n=h.button.getPosition(e),i=n.left,r=n.top;h.popups.show("link.insert",i,r,e.outerHeight())}else h.position.forSelection(t),h.popups.show("link.insert")},usePredefined:function u(e){var t,n,i=h.opts.linkList[e],r=h.popups.get("link.insert"),a=r.find('input.fr-link-attr[type="text"]'),l=r.find('input.fr-link-attr[type="checkbox"]');for(i.rel&&(r.rel=i.rel),n=0;n<a.length;n++)i[(t=m(a[n])).attr("name")]?(t.val(i[t.attr("name")]),t.toggleClass("fr-not-empty",!0)):"text"!=t.attr("name")&&t.val("");for(n=0;n<l.length;n++)(t=m(l[n])).attr("checked",t.data("checked")==i[t.attr("name")]);h.accessibility.focusPopup(r)},insertCallback:function k(){var e,t,n=h.popups.get("link.insert"),i=n.find('input.fr-link-attr[type="text"]'),r=n.find('input.fr-link-attr[type="checkbox"]'),a=(i.filter('[name="href"]').val()||"").trim(),l=h.opts.linkText?i.filter('[name="text"]').val():"",s={};for(t=0;t<i.length;t++)e=m(i[t]),["href","text"].indexOf(e.attr("name"))<0&&(s[e.attr("name")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(":checked")?s[e.attr("name")]=e.data("checked"):s[e.attr("name")]=e.data("unchecked")||null;n.rel&&(s.rel=n.rel);var o=h.helpers.scrollTop();p(a,l,s),m(h.o_win).scrollTop(o)},insert:p,update:c,get:v,allSelected:b,back:function t(){h.image&&h.image.get()?h.image.back():(h.events.disableBlur(),h.selection.restore(),h.events.enableBlur(),v()&&h.$wp?(h.selection.restore(),a(),E()):"A"==h.el.tagName?(h.$el.focus(),E()):(h.popups.hide("link.insert"),h.toolbar.showInline()))},imageLink:f,applyStyle:function g(e,t,n){void 0===n&&(n=h.opts.linkMultipleStyles),void 0===t&&(t=h.opts.linkStyles);var i=v();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(" "))}m(i).toggleClass(e),E()}}},y.DefineIcon("insertLink",{NAME:"link",SVG_KEY:"insertLink"}),y.RegisterShortcut(y.KEYCODE.K,"insertLink",null,"K"),y.RegisterCommand("insertLink",{title:"Insert Link",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("link.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("link.insert")):this.link.showInsertPopup()},plugin:"link"}),y.DefineIcon("linkOpen",{NAME:"external-link",FA5NAME:"external-link-alt",SVG_KEY:"openLink"}),y.RegisterCommand("linkOpen",{title:"Open Link",undo:!1,refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},callback:function(){var e=this.link.get();e&&(-1!==e.href.indexOf("mailto:")?this.o_win.open(e.href).close():(e.target||(e.target="_self"),this.browser.msie||this.browser.edge?this.o_win.open(e.href,e.target):this.o_win.open(e.href,e.target,"noopener")),this.popups.hide("link.edit"))},plugin:"link"}),y.DefineIcon("linkEdit",{NAME:"edit",SVG_KEY:"edit"}),y.RegisterCommand("linkEdit",{title:"Edit Link",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),y.DefineIcon("linkRemove",{NAME:"unlink",SVG_KEY:"unlink"}),y.RegisterCommand("linkRemove",{title:"Unlink",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),y.DefineIcon("linkBack",{NAME:"arrow-left",SVG_KEY:"back"}),y.RegisterCommand("linkBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))},plugin:"link"}),y.DefineIcon("linkList",{NAME:"search",SVG_KEY:"search"}),y.RegisterCommand("linkList",{title:"Choose Link",type:"dropdown",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkList" data-param1="'.concat(n,'">').concat(t[n].displayText||t[n].text,"</a></li>");return e+="</ul>"},callback:function(e,t){this.link.usePredefined(t)},plugin:"link"}),y.RegisterCommand("linkInsert",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate("Update")):e.text(this.language.translate("Insert"))},plugin:"link"}),y.DefineIcon("imageLink",{NAME:"link",SVG_KEY:"insertLink"}),y.RegisterCommand("imageLink",{title:"Insert Link",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass("fr-separator")&&t.removeClass("fr-hidden"),e.addClass("fr-hidden")):((t=e.prev()).hasClass("fr-separator")&&t.addClass("fr-hidden"),e.removeClass("fr-hidden"))},plugin:"link"}),y.DefineIcon("linkStyle",{NAME:"magic",SVG_KEY:"linkStyles"}),y.RegisterCommand("linkStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkStyle" data-param1="'.concat(n,'">').concat(this.language.translate(t[n]),"</a></li>"));return e+="</ul>"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.$,i=this.link.get();if(i){var r=n(i);t.find(".fr-command").each(function(){var e=n(this).data("param1"),t=r.hasClass(e);n(this).toggleClass("fr-active",t).attr("aria-selected",t)})}},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"})});
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
|
-
* froala_editor v4.
|
2
|
+
* froala_editor v4.5.1 (https://www.froala.com/wysiwyg-editor)
|
3
3
|
* License https://froala.com/wysiwyg-editor/terms/
|
4
|
-
* Copyright 2014-
|
4
|
+
* Copyright 2014-2025 Froala Labs
|
5
5
|
*/
|
6
6
|
|
7
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(
|
7
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(e.FroalaEditor)}(this,function(o){"use strict";o=o&&o.hasOwnProperty("default")?o["default"]:o,Object.assign(o.DEFAULTS,{listAdvancedTypes:!0}),o.PLUGINS.lists=function(g){var u=g.$;function h(e){return'<span class="fr-open-'.concat(e.toLowerCase(),'"></span>')}function N(e){return'<span class="fr-close-'.concat(e.toLowerCase(),'"></span>')}function c(e,t){!function c(e,t){for(var a=[],n=0;n<e.length;n++){var r=e[n].parentNode;"LI"==e[n].tagName&&r.tagName!=t&&a.indexOf(r)<0&&a.push(r)}for(var o=a.length-1;0<=o;o--){var l=u(a[o]);l.replaceWith("<".concat(t.toLowerCase()," ").concat(g.node.attributes(l.get(0)),">").concat(l.html(),"</").concat(t.toLowerCase(),">"))}}(e,t);var a,n=g.html.defaultTag(),r=null;e.length&&(a="rtl"==g.opts.direction||"rtl"==u(e[0]).css("direction")?"margin-right":"margin-left");for(var o=0;o<e.length;o++)if("TD"!=e[o].tagName&&"TH"!=e[o].tagName&&"LI"!=e[o].tagName){var l=g.helpers.getPX(u(e[o]).css(a))||0;(e[o].style.marginLeft=null)===r&&(r=l);var i=0<r?"<".concat(t,' style="').concat(a,": ").concat(r,'px ">'):"<".concat(t,">"),s="</".concat(t,">");for(l-=r;0<l/g.opts.indentMargin;)i+="</".concat(t,">"),s+=s,l-=g.opts.indentMargin;n&&e[o].tagName.toLowerCase()==n?u(e[o]).replaceWith("".concat(i,"<li").concat(g.node.attributes(e[o]),">").concat(u(e[o]).html(),"</li>").concat(s)):u(e[o]).wrap("".concat(i,"<li></li>").concat(s))}g.clean.lists()}function d(e){var t,a,n=[];for(t=e.length-1;0<=t;t--)for(a=t-1;0<=a;a--){if(u(e[a]).find(e[t]).length||e[a]==e[t]){u(e[t]).addClass("fr-removed-block-".concat(t)),n.push(t),e.splice(t,1);break}if(u(e[a]).contains(e[t])){u(e[a]).addClass("fr-removed-block-".concat(a)),n.push(a),e.splice(a,1);break}}var r=[],o=!1;for(t=0;t<e.length;t++){var l=u(e[t]),i=e[t].parentNode,s=l.attr("class");if(l.is(":first-child")&&(o=!0,u(i.parentNode).removeAttr("start")),l.before(N(i.tagName)),"LI"==i.parentNode.tagName){if(l.is(":last-child")){var c=l.find("> ul, > ol").last();c.length&&c.wrap("<".concat(i.tagName,">"))}l.before(N("LI")),l.after(h("LI"))}else if("OL"==i.parentNode.tagName)o||(l.before(N("OL")),l.after(h("OL")));else if("UL"==i.parentNode.tagName)o||(l.before(N("UL")),l.after(h("UL")));else{var d="";s&&(d+=' class="'.concat(s,'"'));var p="rtl"==g.opts.direction||"rtl"==l.css("direction")?"margin-right":"margin-left";g.helpers.getPX(u(i).css(p))&&0<=(u(i).attr("style")||"").indexOf("".concat(p,":"))&&(d+=' style="'.concat(p,":").concat(g.helpers.getPX(u(i).css(p)),'px;"')),g.html.defaultTag()&&0===l.find(g.html.blockTagsQuery()).length&&l.wrapInner(g.html.defaultTag()+d),g.node.isEmpty(l.get(0),!0)||0!==l.find(g.html.blockTagsQuery()).length||("DIV"==i.parentNode.tagName&&g.html.defaultTag()?(l.prepend(h(g.html.defaultTag())),l.append(N(g.html.defaultTag()))):l.append("<br>")),l.append(h("LI")),l.prepend(N("LI"))}l.after(h(i.tagName)),"LI"==i.parentNode.tagName&&(i=i.parentNode.parentNode),r.indexOf(i)<0&&r.push(i)}for(t=0;t<r.length;t++){var f=u(r[t]),m=f.html();m=(m=m.replace(/<span class="fr-close-([a-z]*)"><\/span>/g,"</$1>")).replace(/<span class="fr-open-([a-z]*)"><\/span>/g,"<$1>"),f.replaceWith(g.node.openTagString(f.get(0))+m+g.node.closeTagString(f.get(0)))}return g.$el.find("li:empty").remove(),g.$el.find("ul:empty, ol:empty").remove(),g.clean.lists(),g.$el.find("ul:empty, ol:empty").remove(),g.html.wrap(),n}function m(e,t){var a=u(document.createElement("li"));if(e.childNodes.length)for(var n=e.childNodes[0].attributes,r=0;r<n.length;r++){var o=n[r];"style"===o.name&&(a[0].style.cssText+=o.value)}u(e).prepend(a),u(e).removeAttr("start");for(var l=g.node.contents(t)[0];l&&!g.node.isList(l);){var i=l.nextSibling;a.append(l),l=i}}function e(e){if("indent"==e||"outdent"==e){var t=!1,a=g.selection.blocks(!1,!0),n=[],r=a[0].previousSibling||a[0].parentElement;if("outdent"==e){if("UL"!=a[0].parentNode.tagName&&"UL"!=r.parentNode.tagName&&"OL"!=r.parentNode.tagName&&"LI"!=r.parentNode.tagName)return;if(!a[0].previousSibling&&"none"==r.parentNode.style.listStyleType)return void function l(e){for(g.selection.save();0<e.childNodes.length;)e.parentNode.parentNode.append(e.childNodes[0]);g.clean.lists(),g.selection.restore()}(r)}else{if("UL"!=a[0].parentElement.tagName&&"OL"!=a[0].parentElement.tagName&&"LI"!=a[0].parentElement.tagName)return;if(g.node.isBlock(a[0])&&"LI"!==a[0].tagName&&0<u(a[0]).parentsUntil(g.$el,"LI").length&&(a[0]=a[0].parentElement,r=a[0].parentElement),!a[0].previousSibling||"LI"!=a[0].previousSibling.tagName){if(0==u(a[0]).parents("li").length)return void function i(e){g.selection.save();var t="OL"==e.tagName?document.createElement("ol"):document.createElement("ul");for(u(t).css("list-style-type",u(e).css("list-style-type"));0<e.childNodes.length;)t.append(e.childNodes[0]);var a=document.createElement("li");t.append(a),e.append(t),g.clean.lists(),g.selection.restore()}(r);t=!0}}for(var o=0;o<a.length;o++)"LI"==a[o].tagName?(t=!0,n.push(a[o])):"LI"==a[o].parentNode.tagName&&n.indexOf(a[o].parentNode)<0&&(t=!0,n.push(a[o].parentNode));t&&("indent"==e?function f(e){g.selection.save();for(var t=!1,a=0;a<e.length;a++){var n=e[a].previousSibling;if(n&&"LI"==n.tagName&&!t){var r=u(e[a]).find("> ul, > ol").last().get(0);if(r)m(r,e[a]),u(n).append(u(r)),u(e[a]).remove();else{var o=u(n).find("> ul, > ol").last().get(0);if(o)u(o).append(u(e[a]));else{var l=u("<".concat(e[a].parentNode.tagName,">"));u(n).append(l),l.append(u(e[a]))}}}else if(!n||"OL"!=n.tagName&&"UL"!=n.tagName){var i=e[a].parentNode;if(t=!0,"UL"==i.tagName||"OL"==i.tagName){var s=u(e[a]).find("> ol, > ul"),c=null==e[a].previousSibling;if(s.length){var d=s.first().get(0);m(d,e[a]),c?u(i).prepend(u(d)):u(i).append(u(d)),u(e[a]).remove()}else u(e[a]).wrap("<".concat(i.tagName,">"));c&&0<u(i).find("> li").length&&u(i).attr("start","2")}}else{var p=u(e[a]).find("> ol, > ul").first().get(0);p?(m(p,e[a]),u(n).append(u(p).children()),u(e[a]).remove(),u(p).remove()):u(n).append(u(e[a]))}}g.clean.lists(),g.selection.restore()}(n):function s(e){g.selection.save();var t=[];do{t=d(e),e=[];for(var a=0;a<t.length;a++){var n=g.$el.find(".fr-removed-block-".concat(t[a])).first().get(0);u(n).removeClass("fr-removed-block-".concat(t[a])),""==u(n).attr("class")&&u(n).removeAttr("class"),e.push(n)}}while(0<t.length);g.selection.restore()}(n))}}return{_init:function t(){g.events.on("commands.after",e),g.events.on("keydown",function(e){if(e.which==o.KEYCODE.TAB){for(var t=g.selection.blocks(),a=[],n=0;n<t.length;n++)"LI"==t[n].tagName?a.push(t[n]):"LI"==t[n].parentNode.tagName&&a.push(t[n].parentNode);if(1<=a.length||a.length&&(g.selection.info(a[0]).atStart||g.node.isEmpty(a[0])))return e.preventDefault(),e.stopPropagation(),e.shiftKey?g.commands.outdent():g.commands.indent(),!1}},!0)},format:function p(e,t){var a,n,r=1<(n=g.selection.blocks(!0)).length&&n[n.length-1],o=g.selection.ranges();if(r&&o.length&&g.node.isEmpty(r)&&!o[0].endOffset&&o[0].setEndAfter(r.firstChild,1),g.html.syncInputs(),g.selection.save(),g.browser.safari&&g.helpers.getSafariVersion()<17){var l=g.selection.ranges();if(o&&o[0].endContainer&&l&&l[0].endContainer&&!o[0].endContainer.isSameNode(l[0].endContainer)&&o[0].endContainer.previousSibling&&o[0].endContainer.previousSibling.isSameNode(l[0].endContainer)){var i=u(l[0].endContainer).find('.fr-marker[data-type="false"]');u(o[0].endContainer).append(i[0])}}for(g.html.wrap(!0,!0,!0,!0),g.selection.restore(),n=g.selection.blocks(!0),a=0;a<n.length;a++)"LI"!=n[a].tagName&&"LI"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);if(g.selection.save(),function s(e,t){for(var a=!0,n=0;n<e.length;n++){if("LI"!=e[n].tagName)return!1;e[n].parentNode.tagName!=t&&(a=!1)}return a}(n,e)?t||d(n):c(n,e),g.html.unwrap(),g.selection.restore(),t=t||"default"){for(n=g.selection.blocks(),a=0;a<n.length;a++)"LI"!=n[a].tagName&&"LI"==n[a].parentNode.tagName&&(n[a]=n[a].parentNode);for(a=0;a<n.length;a++)"LI"==n[a].tagName&&(u(n[a].parentNode).css("list-style-type","default"===t?"":t),0===(u(n[a].parentNode).attr("style")||"").length&&u(n[a].parentNode).removeAttr("style"))}},refresh:function r(e,t){var a=u(g.selection.element());if(a.get(0)!=g.el){var n=a.get(0);(n="LI"!=n.tagName&&n.firstElementChild&&"LI"!=n.firstElementChild.tagName?a.parents("li").get(0):"LI"==n.tagName||n.firstElementChild?n.firstElementChild&&"LI"==n.firstElementChild.tagName?a.get(0).firstChild:a.get(0):a.parents("li").get(0))&&n.parentNode.tagName==t&&g.el.contains(n.parentNode)&&e.addClass("fr-active")}}}},o.DefineIcon("formatOLSimple",{NAME:"list-ol",SVG_KEY:"orderedList"}),o.RegisterCommand("formatOLSimple",{title:"Ordered List",type:"button",options:{"default":"Default",circle:"Circle",disc:"Disc",square:"Square"},refresh:function(e){this.lists.refresh(e,"OL")},callback:function(e,t){this.lists.format("OL",t)},plugin:"lists"}),o.RegisterCommand("formatUL",{title:"Unordered List",type:"button",hasOptions:function(){return this.opts.listAdvancedTypes},options:{"default":"Default",circle:"Circle",disc:"Disc",square:"Square"},refresh:function(e){this.lists.refresh(e,"UL")},callback:function(e,t){this.lists.format("UL",t)},plugin:"lists"}),o.RegisterCommand("formatOL",{title:"Ordered List",hasOptions:function(){return this.opts.listAdvancedTypes},options:{"default":"Default","lower-alpha":"Lower Alpha","lower-greek":"Lower Greek","lower-roman":"Lower Roman","upper-alpha":"Upper Alpha","upper-roman":"Upper Roman"},refresh:function(e){this.lists.refresh(e,"OL")},callback:function(e,t){this.lists.format("OL",t)},plugin:"lists"}),o.DefineIcon("formatUL",{NAME:"list-ul",SVG_KEY:"unorderedList"}),o.DefineIcon("formatOL",{NAME:"list-ol",SVG_KEY:"orderedList"})});
|