jodit
Version:
Jodit is an awesome and useful wysiwyg editor with filebrowser
10 lines (8 loc) • 3.88 kB
JavaScript
/*!
* 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
*/
;((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,(()=>(self.webpackChunkjodit=self.webpackChunkjodit||[]).push([[486],{40773(e,t,n){n.r(t),n.d(t,{Debug(){return i}});var s=n(17352),a=n(55186),o=(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"),o=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,o=e.create.div();o.innerHTML=`<span>${(new Date).toLocaleTimeString()}</span> ${((e,t)=>{const n=[e??t.type];switch(e){case"beforeCommand":case"afterCommand":n.push(`<span>${""+t}</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&&a.J.isNode(t.target)&&n.push(`<span>${t.target.nodeName}</span>`),n.join(" ")})(n,t)}`,s.appendChild(o),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(o),t.appendChild(r),o.addEventListener("click",(()=>{s.innerHTML="",s.appendChild(o)})),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,o.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){const s=window.getSelection()?.containsNode(e),o=[`<span class="jodit-debug__tree-elm-name">${e.nodeName}</span>`,a.J.isText(e)?"- "+d(e,n):""].map((e=>e.trim())).filter(Boolean);return`<div class="${s?"jodit-debug__tree-element_selected":""}" style='padding-left: ${5*t}px'>\n\t\t${o.join(" ")}\n\t${Array.from(e.childNodes).map(((s,a)=>{const o=[];return n.startContainer===e&&a===n.startOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o.push(c(s,t+1,n)),n.endContainer===e&&a===n.endOffset&&o.push('<span class="jodit-debug__tree-cursor">|</span>'),o})).flat().join("")}\n</div>`}}},e=>e(e.s=40773)])));