@firestitch/froala
Version:
The next generation Javascript WYSIWYG HTML rich text editor made by devs for devs. High performance and modern design make it easy to use for developers and loved by users.
3 lines (2 loc) • 4.53 kB
JavaScript
!function(t,a){"object"==typeof exports&&"undefined"!=typeof module?a(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],a):a(t.FroalaEditor)}(this,function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t,Object.assign(t.DEFAULTS,{paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4",PRE:"Code"},paragraphFormatSelection:!1,paragraphDefaultSelection:"Paragraph Format"}),t.PLUGINS.paragraphFormat=function(f){var g=f.$;return{apply:function(t){"N"==t&&(t=f.html.defaultTag()),f.selection.save(),f.html.wrap(!0,!0,!f.opts.paragraphFormat.BLOCKQUOTE,!0,!0),f.selection.restore();var a,e,r=f.selection.blocks();f.selection.save(),f.$el.find("pre").attr("skip",!0);for(var n=0;n<r.length;n++)if(r[n].tagName!=t&&!f.node.isList(r[n])){var o,i=g(r[n]);if("LI"==r[n].tagName){h=d=m=s=l=p=void 0;var p=i,l=t,s=f.html.defaultTag();if(l&&l.toLowerCase()!=s)if(0<p.find("ul, ol").length){var m=g("<"+l+">");p.prepend(m);for(var d=f.node.contents(p.get(0))[0];d&&["UL","OL"].indexOf(d.tagName)<0;){var h=d.nextSibling;m.append(d),d=h}}else p.html("<"+l+">"+p.html()+"</"+l+">")}else"LI"==r[n].parentNode.tagName&&r[n]?(s=i,p=t,l=f.html.defaultTag(),p&&p.toLowerCase()!=l||(p='div class="fr-temp-div"'),s.replaceWith(g("<"+p+">").html(s.html()))):0<=["TD","TH"].indexOf(r[n].parentNode.tagName)?(a=i,e=t,o=f.html.defaultTag(),(e=e||'div class="fr-temp-div"'+(f.node.isEmpty(a.get(0),!0)?' data-empty="true"':"")).toLowerCase()==o?(f.node.isEmpty(a.get(0),!0)||a.append("<br/>"),a.replaceWith(a.html())):a.replaceWith(g("<"+e+">").html(a.html()))):("PRE"===t&&null===i[0].nextSibling&&(o=g("<br>"),i[0].after(o[0])),e=i,("H1"==(a=(a=t)||'div class="fr-temp-div"'+(f.node.isEmpty(e.get(0),!0)?' data-empty="true"':""))||"H2"==a||"H3"==a||"H4"==a||"H5"==a)&&-1<f.node.attributes(e.get(0)).indexOf("font-size:")?e.replaceWith(g("<"+a+" "+f.node.attributes(e.get(0)).replace(/font-size:[0-9]+px;?/,"")+">").html(e.html()).removeAttr("data-empty")):e.replaceWith(g("<"+a+" "+f.node.attributes(e.get(0))+">").html(e.html()).removeAttr("data-empty")))}f.$el.find('pre:not([skip="true"]) + pre:not([skip="true"])').each(function(){g(this).prev().append("<br>"+g(this).html()),g(this).remove()}),f.$el.find("pre").removeAttr("skip"),f.html.unwrap(),f.selection.restore()},refreshOnShow:function(t,a){var e,r,n=f.selection.blocks();(n.length?(n=n[0],e="N",r=f.html.defaultTag(),n.tagName.toLowerCase()!=r&&n!=f.el&&(e=n.tagName),a.find('.fr-command[data-param1="'+e+'"]')):a.find('.fr-command[data-param1="N"]')).addClass("fr-active").attr("aria-selected",!0)},refresh:function(t){var a,e,r;f.opts.paragraphFormatSelection&&((a=f.selection.blocks()).length?(a=a[0],e="N",r=f.html.defaultTag(),a.tagName.toLowerCase()!=r&&a!=f.el&&(e=a.tagName),0<=["LI","TD","TH"].indexOf(e)&&(e="N"),t.find(">span").text(f.language.translate(f.opts.paragraphFormat[e]))):t.find(">span").text(f.language.translate(f.opts.paragraphFormat.N)))}}},t.RegisterCommand("paragraphFormat",{type:"dropdown",displaySelection:function(t){return t.opts.paragraphFormatSelection},defaultSelection:function(t){return t.language.translate(t.opts.paragraphDefaultSelection)},displaySelectionWidth:80,html:function(){var t,a,e='<ul class="fr-dropdown-list" role="presentation">',r=this.opts.paragraphFormat;for(t in r)r.hasOwnProperty(t)&&(a=(a=this.shortcuts.get("paragraphFormat."+t))?'<span class="fr-shortcut">'+a+"</span>":"",e+='<li role="presentation"><'+("N"==t?this.html.defaultTag()||"DIV":t)+' style="padding: 0 !important; margin: 0 !important; border: 0 !important; background-color: transparent !important; '+("PRE"==t||"N"==t?"font-size: 15px":"font-weight: bold !important; ")+("H1"==t?"font-size: 2em !important; ":"")+("H2"==t?"font-size: 1.5em !important; ":"")+("H3"==t?"font-size: 1.17em !important; ":"")+("H4"==t?"font-size: 15px !important;":"")+'" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="paragraphFormat" data-param1="'+t+'" title="'+this.language.translate(r[t])+'">'+this.language.translate(r[t])+"</a></"+("N"==t?this.html.defaultTag()||"DIV":t)+"></li>");return e+"</ul>"},title:"Paragraph Format",callback:function(t,a){this.paragraphFormat.apply(a)},refresh:function(t){this.paragraphFormat.refresh(t)},refreshOnShow:function(t,a){this.paragraphFormat.refreshOnShow(t,a)},plugin:"paragraphFormat"}),t.DefineIcon("paragraphFormat",{NAME:"paragraph",SVG_KEY:"paragraphFormat"})});
//# sourceMappingURL=paragraph_format.min.min.js.map