@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) • 2.04 kB
JavaScript
!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).PLUGINS.quote=function(s){var l=s.$;return{apply:function(e){if(s.selection.save(),s.html.wrap(!0,!0,!0,!0),s.selection.restore(),"increase"==e){for(var t=s.selection.blocks(),o=0;o<t.length;o++)t[o]=function(e){for(;e.parentNode&&e.parentNode!=s.el;)e=e.parentNode;return e}(t[o]);s.selection.save();var n=l(document.createElement("blockquote"));for(n.insertBefore(t[0]),o=0;o<t.length;o++)n.append(t[o]);s.opts.trackChangesEnabled&&s.track_changes.addQuote(n),s.html.unwrap(),s.selection.restore()}else if("decrease"==e){for(var a=s.opts.trackChangesEnabled,r=s.selection.blocks(),c=0;c<r.length;c++)"BLOCKQUOTE"!=r[c].tagName&&(r[c]=a&&l(r[c]).parentsUntil(s.$el,"[data-track-id^=pending]").get(0)||l(r[c]).parentsUntil(s.$el,"BLOCKQUOTE").get(0));for(s.selection.save(),c=0;c<r.length;c++)r[c]&&(a?s.track_changes.removeQuote(l(r[c]),c):l(r[c]).replaceWith(r[c].innerHTML));s.html.unwrap(),s.selection.restore()}}}},e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,"quote","increase","'"),e.RegisterShortcut(e.KEYCODE.SINGLE_QUOTE,"quote","decrease","'",!0),e.RegisterCommand("quote",{title:"Quote",type:"dropdown",html:function(){var e,t,o='<ul class="fr-dropdown-list" role="presentation">',n={increase:"Increase",decrease:"Decrease"};for(e in n)n.hasOwnProperty(e)&&(t=this.shortcuts.get("quote.".concat(e)),o+='<li role="presentation"><a class="fr-command fr-active '.concat(e,'" tabIndex="-1" role="option" data-cmd="quote" data-param1="').concat(e,'" title="').concat(n[e],'">').concat(this.language.translate(n[e])).concat(t?'<span class="fr-shortcut">'.concat(t,"</span>"):"","</a></li>"));return o+"</ul>"},callback:function(e,t){this.quote.apply(t)},plugin:"quote"}),e.DefineIcon("quote",{NAME:"quote-left",SVG_KEY:"blockquote"})});
//# sourceMappingURL=quote.min.min.js.map