UNPKG

froala-editor

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.

7 lines (6 loc) 3.55 kB
/*! * froala_editor v5.1.0 (https://www.froala.com/wysiwyg-editor) * License https://froala.com/wysiwyg-editor/terms/ * Copyright 2014-2026 Froala Labs */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(require("froala-editor")):"function"==typeof define&&define.amd?define(["froala-editor"],t):t(("undefined"!=typeof globalThis?globalThis:e||self).FroalaEditor)}(this,function(e){"use strict";function g(e){return(g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}if(Object.assign(e.DEFAULTS,{imageTUIOptions:{includeUI:{theme:{"menu.normalIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-d.svg","menu.activeIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-b.svg","menu.disabledIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-a.svg","menu.hoverIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-c.svg","submenu.normalIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-d.svg","submenu.normalIcon.name":"icon-d","submenu.activeIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-c.svg","submenu.activeIcon.name":"icon-c"},initMenu:"filter",menuBarPosition:"left"}},tui:window.tui}),e.PLUGINS.imageTUI=function(u){var r=u.$,l=!0;function c(e,t){r("#tuieditor").remove(),e.style.display="none",l||t===undefined||t.filesManager.setChildWindowState(!1)}function m(e,t,i,n,o){for(var e=e.toDataURL(),a=atob(e.split(",")[1]),d=[],s=0;s<a.length;s++)d.push(a.charCodeAt(s));e=new Blob([new Uint8Array(d)],{type:"image/png"});n?(t.image.edit(i),t.image.upload([e])):(t.filesManager.saveImage([e]),null!=o?(t.filesManager.upload(e,[e],null,o),t.filesManager.getFileThumbnail(o,e,!0)):t.filesManager.upload(e,[e],null,i))}return{_init:function(){var e=u.o_doc.body,t=u.o_doc.createElement("div");t.setAttribute("id","tuiContainer"),t.style.cssText="position: fixed; top: 0;left: 0;margin: 0;padding: 0;width: 100%;height: 100%;background: rgba(0,0,0,.5);z-index: 9998;display:none",e.appendChild(t)},launch:function(t,i,n){var o,a,e,d,s;l=i,"object"===g(u.opts.tui)&&((s=u.o_doc.createElement("div")).setAttribute("id","tuieditor"),(a=u.o_doc.getElementById("tuiContainer")).appendChild(s),a.style.display="block",s=(i?(o=t.image.get())[0]:o=t.filesManager.get()).src,(e=u.opts.imageTUIOptions).includeUI.loadImage={path:s,name:" "},d=new u.opts.tui.ImageEditor(u.o_doc.querySelector("#tuieditor"),e),(s=u.o_doc.getElementById("tuieditor")).style.minHeight="590px",s.style.width="94%",s.style.height="94%",s.style.margin="auto",r(".tui-image-editor-header-buttons").html('<button class="tui-editor-cancel-btn" data-cmd="cancel_tui_image">Cancel</button> <button class="tui-editor-save-btn">Save</button>'),r(".tui-editor-cancel-btn")[0].addEventListener("click",function(e){c(a,t)}),r(".tui-editor-save-btn")[0].addEventListener("click",function(e){null!=n?m(d,t,o,i,n):m(d,t,o,i),c(a,t)}))}}},e.DefineIcon("imageTUI",{NAME:"sliders",FA5NAME:"sliders-h",SVG_KEY:"advancedImageEditor"}),e.RegisterCommand("imageTUI",{title:"Advanced Edit",undo:!1,focus:!1,callback:function(e,t){this.imageTUI.launch(this,!0)},plugin:"imageTUI"}),!e.PLUGINS.image)throw new Error("TUI image editor plugin requires image plugin.");e.DEFAULTS.imageEditButtons.indexOf("imageTUI")<0&&e.DEFAULTS.imageEditButtons.push("imageTUI")});