/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
lib/web/hugerte/plugins/nonbreaking/plugin.min.js
7 строк
2 KB
Raj Mohan R
AC-14602::Migrate from TinyMCE to Hugerte.org|Downgrade HugeRTE Version
21 май 2025, 15:04
21 май 2025, 15:04
9fba4c4
Код
Авторство
О чём код?
/** * HugeRTE version 1.0.4 (2024-10-28) * 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");const n=e=>n=>typeof n===e,o=n("boolean"),a=n("number"),t=e=>n=>n.options.get(e),r=t("nonbreaking_force_tab"),s=t("nonbreaking_wrap"),i=(e,n)=>{let o="";for(let a=0;a<n;a++)o+=e;return o},l=(e,n)=>{const o=s(e)||e.plugins.visualchars?`<span class="${(e=>!!e.plugins.visualchars&&e.plugins.visualchars.isEnabled())(e)?"mce-nbsp-wrap mce-nbsp":"mce-nbsp-wrap"}" contenteditable="false">${i(" ",n)}</span>`:i(" ",n);e.undoManager.transact((()=>e.insertContent(o)))};var u=hugerte.util.Tools.resolve("hugerte.util.VK");const c=e=>n=>{const o=()=>{n.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("nonbreaking",(e=>{(e=>{const n=e.options.register;n("nonbreaking_force_tab",{processor:e=>o(e)?{value:e?3:0,valid:!0}:a(e)?{value:e,valid:!0}:{valid:!1,message:"Must be a boolean or number."},default:!1}),n("nonbreaking_wrap",{processor:"boolean",default:!0})})(e),(e=>{e.addCommand("mceNonBreaking",(()=>{l(e,1)}))})(e),(e=>{const n=()=>e.execCommand("mceNonBreaking");e.ui.registry.addButton("nonbreaking",{icon:"non-breaking",tooltip:"Nonbreaking space",onAction:n,onSetup:c(e)}),e.ui.registry.addMenuItem("nonbreaking",{icon:"non-breaking",text:"Nonbreaking space",onAction:n,onSetup:c(e)})})(e),(e=>{const n=r(e);n>0&&e.on("keydown",(o=>{if(o.keyCode===u.TAB&&!o.isDefaultPrevented()){if(o.shiftKey)return;o.preventDefault(),o.stopImmediatePropagation(),l(e,n)}}))})(e)}))}();