jodit-pro
Version:
PRO Version of Jodit Editor
2 lines (1 loc) • 2.69 kB
JavaScript
var p=Object.defineProperty;var a=(c,i)=>p(c,"name",{value:i,configurable:!0});var u=function(c,i,e,t){var s=arguments.length,l=s<3?i:t===null?t=Object.getOwnPropertyDescriptor(i,e):t,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(c,i,e,t);else for(var o=c.length-1;o>=0;o--)(d=c[o])&&(l=(s<3?d(l):s>3?d(i,e,l):d(i,e))||l);return s>3&&l&&Object.defineProperty(i,e,l),l};import"./config.js";import{UIIframeEditor as v}from"./ui/iframe-editor/iframe-editor.js";import{autobind as _,watch as b}from"jodit/esm/core/decorators/index.js";import{Dom as f}from"jodit/esm/core/dom/index.js";import{attr as j,css as w}from"jodit/esm/core/helpers/index.js";import{Plugin as E}from"jodit/esm/core/plugin/index.js";import{Button as h}from"jodit/esm/core/ui/button/index.js";import{Dialog as g}from"jodit/esm/modules/index.js";import{JoditPro as y}from"../../jodit-pro.js";const m=class m extends E{constructor(){super(...arguments),this.buttons=[{group:"form",name:"iframeEditor"}]}afterInit(i){i.e.on("toggleIframeEditor",this.toggleEditor)}toggleEditor(i){var e,t,s,l,d;this.__dialog||(this.__dialog=new g({language:this.j.o.language,theme:this.j.o.theme}),this.__dialog.setHeader("Iframe Properties").setSize(470,400)),i&&!f.isTag(i,"iframe")&&(i=void 0);const o=new v(this.__dialog,{src:(e=i?.src)!==null&&e!==void 0?e:"",name:(t=i?.name)!==null&&t!==void 0?t:"",title:(s=i?.title)!==null&&s!==void 0?s:"",frameBorder:i?.frameBorder==="1"||i?.frameBorder==="yes",width:(l=i?.offsetWidth)!==null&&l!==void 0?l:700,height:(d=i?.offsetHeight)!==null&&d!==void 0?d:400});this.__dialog.setContent(o);const n=this.__dialog;n.isOpened?n.close():(n.setFooter([h(n,"cancel","Cancel","default").onAction(()=>n.close()),h(n,"ok",i?"Update":"Insert","primary").onAction(()=>{if(!o.srcField.value){o.srcField.validate(),o.srcField.focus();return}i||(i=this.j.createInside.element("iframe"),this.j.s.insertNode(i,!0,!1)),i.className=o.state.className||"",j(i,{src:o.state.src,title:o.state.title,name:o.state.name,frameborder:o.state.frameBorder?"1":"0",width:o.state.width,height:o.state.height}),f.isTag(i.parentElement,"jodit")&&w(i.parentElement,{width:o.state.width,height:o.state.height}),this.jodit.e.fire("synchro"),n.close()})]).open(),this.jodit.async.requestIdleCallback(()=>{o.srcField.focus()}))}onDblClick(i){f.isTag(i.target,"iframe")&&this.toggleEditor(i.target)}beforeDestruct(i){var e;(e=this.__dialog)===null||e===void 0||e.destruct()}};a(m,"IframeEditor");let r=m;r.requires=["license","color-picker"],u([_],r.prototype,"toggleEditor",null),u([b(":dblclick")],r.prototype,"onDblClick",null),y.plugins.add("iframe-editor",r);export{r as IframeEditor};