UNPKG

jodit

Version:

Jodit is an awesome and useful wysiwyg editor with filebrowser

10 lines (8 loc) 4 kB
/*! * jodit - Jodit is an awesome and useful wysiwyg editor with filebrowser * Author: Chupurnov <chupurnov@gmail.com> (https://xdsoft.net/jodit/) * Version: v4.6.2 * Url: https://xdsoft.net/jodit/ * License(s): MIT */ "use strict";!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var s in n)("object"==typeof exports?exports:e)[s]=n[s]}}(self,(function(){return(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[486],{40773:function(e,t,n){n.r(t),n.d(t,{Debug:function(){return i}});var s=n(17352),o=n(55186),a=(n(56298),n(61793)),r=n(29866);class i extends r.k{afterInit(e){const t=e.create.div("jodit-debug"),n=e.create.div("jodit-debug__tree"),s=e.create.div("jodit-debug__events"),a=e.create.div("jodit-debug__events-clear",["x"]),r=e.create.div("jodit-debug__sel");function i(){const t=e.selection.range;n.innerHTML=c(e.editor,0,t),r.innerHTML=`start ${t.startContainer.nodeName} ${t.startOffset}<br>end ${t.endContainer.nodeName} ${t.endOffset}`}function d(t){const n=e.e.current,a=e.create.div();a.innerHTML=`<span>${(new Date).toLocaleTimeString()}</span> ${function(e,t){const n=[null!=e?e:t.type];switch(e){case"beforeCommand":case"afterCommand":n.push(`<span>${t.toString()}</span>`);break;case"keydown":case"keyup":case"keypress":t.shiftKey&&"Shift"!==t.key&&n.push("Shift+"),t.ctrlKey&&"Control"!==t.key&&n.push("Ctrl+"),t.altKey&&"Alt"!==t.key&&n.push("Alt"),n.push(`${t.key}`)}return t&&o.J.isNode(t.target)&&n.push(`<span>${t.target.nodeName}</span>`),n.join(" ")}(n,t)}`,s.appendChild(a),s.scrollTop=s.scrollHeight,e.async.setTimeout((()=>{s.children.length>100&&s.removeChild(s.children[0])}),100)}t.appendChild(n),t.appendChild(s),s.appendChild(a),t.appendChild(r),a.addEventListener("click",(()=>{s.innerHTML="",s.appendChild(a)})),e.workplace.appendChild(t),e.e.on("keydown keyup keypress change afterInit updateDebug",i).on(["activate","afterInit","beforeactivate","beforeblur","beforedeactivate","beforefocus","beforeinput","blur","change","click","compositionend","compositionstart","compositionupdate","contextmenu","copy","cut","dblclick","deactivate","focus","focusin","focusout","focusout","input","keydown","keypress","keyup","mousedown","mouseup","paste","selectionchange","selectionstart","dragstart","drop","dragover","resize touchstart touchend","updateDebug","beforeCommand","afterCommand","wheel"],d).on(e.od,"selectionchange",d).on(e.od,"selectionchange",i)}beforeDestruct(e){}}function d(e,t){if(!e.nodeValue)return"<span style='color:red'>empty</span>";let n=e.nodeValue;return t.collapsed?e===t.startContainer&&(n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset)):e===t.startContainer&&e===t.endContainer?n=n.slice(0,t.startOffset)+"%START-CURSOR%"+n.slice(t.startOffset,t.endOffset)+"%END-CURSOR%"+n.slice(t.endOffset):e===t.startContainer?n=n.slice(0,t.startOffset)+"%CURSOR%"+n.slice(t.startOffset):e===t.endContainer&&(n=n.slice(0,t.endOffset)+"%CURSOR%"+n.slice(t.endOffset)),(0,a.K)(n.replace((0,s.INVISIBLE_SPACE_REG_EXP)(),"INV")).replace(/%CURSOR%/,'<span class="jodit-debug__tree-cursor">|</span>').replace(/%START-CURSOR%/,'<span class="jodit-debug__tree-cursor">|').replace(/%END-CURSOR%/,"|</span>")}function c(e,t,n){var s;const a=null===(s=window.getSelection())||void 0===s?void 0:s.containsNode(e),r=[`<span class="jodit-debug__tree-elm-name">${e.nodeName}</span>`,o.J.isText(e)?`- ${d(e,n)}`:""].map((e=>e.trim())).filter(Boolean);return`<div class="${a?"jodit-debug__tree-element_selected":""}" style='padding-left: ${5*t}px'>\n\t\t${r.join("&nbsp;")}\n\t${Array.from(e.childNodes).map(((s,o)=>{const a=[];return n.startContainer===e&&o===n.startOffset&&a.push('<span class="jodit-debug__tree-cursor">|</span>'),a.push(c(s,t+1,n)),n.endContainer===e&&o===n.endOffset&&a.push('<span class="jodit-debug__tree-cursor">|</span>'),a})).flat().join("")}\n</div>`}}},function(e){return e(e.s=40773)}])}));