UNPKG

@tabler/core

Version:

Premium and Open Source dashboard template with responsive and high quality UI.

7 lines 1.85 kB
/** * HugeRTE version 1.0.9 (2025-03-15) * Copyright (c) 2022 Ephox Corporation DBA Tiny Technologies, Inc. * Copyright (c) 2024 HugeRTE contributors * Licensed under the MIT license (https://github.com/hugerte/hugerte/blob/main/LICENSE.TXT) */ !function(){"use strict";var e=hugerte.util.Tools.resolve("hugerte.PluginManager"),a=hugerte.util.Tools.resolve("hugerte.Env");const t=e=>a=>a.options.get(e),r=t("pagebreak_separator"),o=t("pagebreak_split_block"),n="mce-pagebreak",s=e=>{const t=`<img src="${a.transparentSrc}" class="${n}" data-mce-resize="false" data-mce-placeholder />`;return e?`<p>${t}</p>`:t},g=e=>a=>{const t=()=>{a.setEnabled(e.selection.isEditable())};return e.on("NodeChange",t),t(),()=>{e.off("NodeChange",t)}};e.add("pagebreak",(e=>{(e=>{const a=e.options.register;a("pagebreak_separator",{processor:"string",default:"\x3c!-- pagebreak --\x3e"}),a("pagebreak_split_block",{processor:"boolean",default:!1})})(e),(e=>{e.addCommand("mcePageBreak",(()=>{e.insertContent(s(o(e)))}))})(e),(e=>{const a=()=>e.execCommand("mcePageBreak");e.ui.registry.addButton("pagebreak",{icon:"page-break",tooltip:"Page break",onAction:a,onSetup:g(e)}),e.ui.registry.addMenuItem("pagebreak",{text:"Page break",icon:"page-break",onAction:a,onSetup:g(e)})})(e),(e=>{const a=r(e),t=()=>o(e),g=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,(e=>"\\"+e)),"gi");e.on("BeforeSetContent",(e=>{e.content=e.content.replace(g,s(t()))})),e.on("PreInit",(()=>{e.serializer.addNodeFilter("img",(r=>{let o,s,g=r.length;for(;g--;)if(o=r[g],s=o.attr("class"),s&&-1!==s.indexOf(n)){const r=o.parent;if(r&&e.schema.getBlockElements()[r.name]&&t()){r.type=3,r.value=a,r.raw=!0,o.remove();continue}o.type=3,o.value=a,o.raw=!0}}))}))})(e),(e=>{e.on("ResolveName",(a=>{"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,n)&&(a.name="pagebreak")}))})(e)}))}();