UNPKG

jodit-pro

Version:

PRO Version of Jodit Editor

2 lines (1 loc) 1.83 kB
var g=Object.defineProperty;var c=(i,e)=>g(i,"name",{value:e,configurable:!0});var u=function(i,e,t,r){var n=arguments.length,a=n<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(i,e,t,r);else for(var l=i.length-1;l>=0;l--)(s=i[l])&&(a=(n<3?s(a):n>3?s(e,t,a):s(e,t))||a);return n>3&&a&&Object.defineProperty(e,t,a),a};import"./config.js";import{debounce as h,watch as d}from"jodit/esm/core/decorators/index.js";import{Dom as p}from"jodit/esm/core/dom/index.js";import{$$ as b,attr as m}from"jodit/esm/core/helpers/index.js";import{Plugin as k}from"jodit/esm/core/plugin/index.js";import{JoditPro as P}from"../../jodit-pro.js";const f=class f extends k{constructor(){super(...arguments),this.styles=styles,this.buttons=[{name:"pageBreak",group:"insert"}]}className(){return"PageBreak"}afterInit(e){e.registerCommand("insertPageBreak",()=>{const t=e.createInside.div("",{});this.decoratePageBreak(t),e.s.insertNode(t,!1,!1);let r=t.parentNode;for(;r&&r!==e.editor&&(p.after(r,t),!p.isBlock(r));)r=t.parentNode;e.s.setCursorAfter(t),e.setEditorValue()})}decoratePageBreak(e){m(e,{"data-jodit-page-break":!0,contenteditable:!1}),e.innerText=this.j.i18n("Page break")}beforeDestruct(){}onChange(){b('[style*="page-break-after"],[style*="page-break-before"]',this.j.editor).forEach(e=>{p.isEmpty(e)&&!m(e,"data-jodit-page-break")&&this.decoratePageBreak(e)})}onAfterGetValueFromEditor(e){e.value=e.value.replace(/<div[^>]+data-jodit-page-break[^>]+>[^]*?<\/div>/gi,this.j.o.pageBreak.separator)}};c(f,"PageBreak");let o=f;o.requires=["license"],u([d([":change",":afterSetMode"]),h()],o.prototype,"onChange",null),u([d(":afterGetValueFromEditor")],o.prototype,"onAfterGetValueFromEditor",null),P.plugins.add("pageBreak",o);export{o as PageBreak};