UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

2 lines (1 loc) 2.3 kB
var _=Object.defineProperty;var c=(r,t)=>_(r,"name",{value:t,configurable:!0});var d=function(r,t,e,o){var s=arguments.length,i=s<3?t:o===null?o=Object.getOwnPropertyDescriptor(t,e):o,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(r,t,e,o);else for(var a=r.length-1;a>=0;a--)(l=r[a])&&(i=(s<3?l(i):s>3?l(t,e,i):l(t,e))||i);return s>3&&i&&Object.defineProperty(t,e,i),i};import"./config.js";import{UIGButton as f}from"./ui/button/button.js";import{UIButtonGenerator as g}from"./ui/generator/button-generator.js";import{autobind as b,watch as B}from"jodit/esm/core/decorators/index.js";import{Dom as p}from"jodit/esm/core/dom/dom.js";import{Plugin as j}from"jodit/esm/core/plugin/index.js";import{Button as h}from"jodit/esm/core/ui/button/index.js";import{Dialog as v}from"jodit/esm/modules/dialog/dialog.js";import{JoditPro as m}from"../../jodit-pro.js";const u=class u extends j{constructor(){super(...arguments),this.hasStyle=!m.fatMode,this.buttons=[{group:"form",name:"buttonGenerator"}]}afterInit(t){t.e.on("toggleButtonGenerator",this.toggleButtonGenerator).on("isButtonGeneratorOpened",()=>{var e;return(e=this.__dialog)===null||e===void 0?void 0:e.isOpened})}toggleButtonGenerator(t){this.__dialog||(this.__dialog=new v({language:this.j.o.language,theme:this.j.o.theme}),this.__ui=new g(this.__dialog),this.__dialog.setHeader("Button Generator").setContent(this.__ui).setSize(730,700)),t&&!p.isTag(t,new Set(["button","a"]))&&(t=void 0);const e=this.__ui,o=this.__dialog;o.isOpened?o.close():(t&&f.extractStyle(e.state,t),e.target=t,e.update(),o.setFooter([h(o,"cancel","Cancel","default").onAction(()=>o.close()),h(o,"ok",t?"Update":"Insert","primary").onAction(()=>{t||(t=this.j.createInside.element(e.state.href?"a":"button"),this.j.s.insertNode(t,!0,!1)),f.applyStyle(e.state,t),t.className=e.state.className||"",this.jodit.e.fire("synchro"),o.close()})]).open())}onDblClick(t){p.isTag(t.target,"button")&&this.toggleButtonGenerator(t.target)}beforeDestruct(t){var e;(e=this.__dialog)===null||e===void 0||e.destruct()}};c(u,"buttonGenerator");let n=u;n.requires=["license","color-picker"],d([b],n.prototype,"toggleButtonGenerator",null),d([B(":dblclick")],n.prototype,"onDblClick",null),m.plugins.add("button-generator",n);export{n as buttonGenerator};