UNPKG

@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.05 kB
!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,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:"body",saveMethod:"POST"}),e.PLUGINS.save=function(r){var i=r.$,n=null,f=null,t=!1,l=1,c=2,s={};function v(e,t){r.events.trigger("save.error",[{code:e,message:s[e]},t])}function a(e){var n=e=void 0===e?r.html.get():e,t=r.events.trigger("save.before",[e]);if(!1===t)return!1;if("string"==typeof t&&(e=t),r.opts.saveURL){var s,a,o={};for(s in r.opts.saveParams)r.opts.saveParams.hasOwnProperty(s)&&(a=r.opts.saveParams[s],o[s]="function"==typeof a?a.call(this):a);t={};t[r.opts.saveParam]=e,i(this).ajax({method:r.opts.saveMethod,url:r.opts.saveURL,data:Object.assign(t,o),crossDomain:r.opts.requestWithCORS,withCredentials:r.opts.requestWithCredentials,headers:r.opts.requestHeaders,done:function(e,t,s){f=n,r.events.trigger("save.after",[e])},fail:function(e){v(c,e.response||e.responseText)}})}else v(l)}function o(){clearTimeout(n),n=setTimeout(function(){var e=r.html.get();f==e&&!t||(t=!1,a(f=e))},0)}return s[l]="Missing saveURL option.",s[c]="Something went wrong during save.",{_init:function(){if(r.opts.letteringClass)for(var e=r.opts.letteringClass,t=r.$el.find(".".concat(e)).length,s=0;s<t;s++)r.$el.find(".".concat(e))[s].innerHTML=r.$el.find(".".concat(e))[s].innerText.replace(/([\w'-]+|[?.",])/g,"<span class = 'fr-word-select'>$1</span>");r.opts.saveInterval&&(f=r.html.get(),r.events.on("contentChanged",function(){setTimeout(o,r.opts.saveInterval)}),r.events.on("keydown destroy",function(){clearTimeout(n)}))},save:a,reset:function(){o(),t=!1},force:function(){t=!0}}},e.DefineIcon("save",{NAME:"floppy-o",FA5NAME:"save"}),e.RegisterCommand("save",{title:"Save",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:"save"})}); //# sourceMappingURL=save.min.js.map