jodit-pro
Version:
PRO Version of Jodit Editor
5 lines (4 loc) • 1.83 kB
JavaScript
var u=Object.defineProperty;var d=(l,t)=>u(l,"name",{value:t,configurable:!0});var a,p=function(l,t,s,n){var r=arguments.length,e=r<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,s):n,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")e=Reflect.decorate(l,t,s,n);else for(var i=l.length-1;i>=0;i--)(o=l[i])&&(e=(r<3?o(e):r>3?o(t,s,e):o(t,s))||e);return r>3&&e&&Object.defineProperty(t,s,e),e};import{component as f}from"jodit/esm/core/decorators/index.js";import{assert as c}from"jodit/esm/core/helpers/utils/assert.js";import{UIElement as m}from"jodit/esm/core/ui/index.js";import{UIGButton as b}from"../button/button.js";import{ColorInput as v}from"../../../color-picker/ui/input/color-input.js";let h=(a=class extends m{className(){return"UIPreviewButtonGenerator"}render(){return`<div>
<div class='&__button'></div>
<div class='&__colors'></div>
</div>`}update(){this.button.update(),this.lockUpdate=!0,this.colors.forEach(t=>{t.value!==this.state[t.state.name]&&(t.value=this.state[t.state.name])}),this.lockUpdate=!1}constructor(t,s,n){super(t),this.state=s,this.updateState=n,this.button=new b(this.j,this.state),this.lockUpdate=!1,this.colors=["bgStart","bgEnd","fontColor","borderColor","boxShadowColor","textShadowColor","previewBgColor"].map(o=>new v(this.j,{name:o,onChange:d(i=>{this.lockUpdate||(o==="bgEnd"&&i!==this.state.bgStart&&this.updateState("solid",!1),this.updateState(o,i))},"onChange")}).setMod("slim",!0)),this.setMod("mode","default");const r=this.getElm("button");c(r!=null,"button element does not exists"),r.appendChild(this.button.container);const e=this.getElm("colors");c(e!=null,"colors element does not exists"),this.colors.forEach(o=>{e.appendChild(o.container)}),this.update()}},d(a,"UIPreviewButtonGenerator"),a);h=p([f],h);export{h as UIPreviewButtonGenerator};