From b28b9f520b0e71a1836fd1e7aecf329bafaa9cf2 Mon Sep 17 00:00:00 2001
From: Wayne
").replace(/\r?\n/g,"
").replace(/\t/g," ").replace(/^\s/," ").replace(/\s$/," ").replace(/\s\s/g," ");if(t.includes("
")||t.includes("
")){t=`
${t}
`}return t}function oM(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>{if(e.length==1){return" "}return e})).replace(//g,"")}const rM=["figcaption","li"];const sM=["ol","ul"];function aM(t){if(t.is("$text")||t.is("$textProxy")){return t.data}if(t.is("element","img")&&t.hasAttribute("alt")){return t.getAttribute("alt")}if(t.is("element","br")){return"\n"}let e="";let n=null;for(const i of t.getChildren()){e+=cM(i,n)+aM(i);n=i}return e}function cM(t,e){if(!e){return""}if(t.is("element","li")&&!t.isEmpty&&t.getChild(0).is("containerElement")){return"\n\n"}if(sM.includes(t.name)&&sM.includes(e.name)){return"\n\n"}if(!t.is("containerElement")&&!e.is("containerElement")){return""}if(rM.includes(t.name)||rM.includes(e.name)){return"\n"}return"\n\n"}class lM extends Hu{static get pluginName(){return"ClipboardPipeline"}init(){const t=this.editor;const e=t.editing.view;e.addObserver(eM);this._setupPasteDrop();this._setupCopyCut()}_fireOutputTransformationEvent(t,e,n){const i=this.editor.model.getSelectedContent(e);this.fire("outputTransformation",{dataTransfer:t,content:i,method:n})}_setupPasteDrop(){const t=this.editor;const e=t.model;const n=t.editing.view;const i=n.document;this.listenTo(i,"clipboardInput",((e,n)=>{if(n.method=="paste"&&!t.model.canEditAt(t.model.document.selection)){e.stop()}}),{priority:"highest"});this.listenTo(i,"clipboardInput",((t,e)=>{const i=e.dataTransfer;let o;if(e.content){o=e.content}else{let t="";if(i.getData("text/html")){t=oM(i.getData("text/html"))}else if(i.getData("text/plain")){t=iM(i.getData("text/plain"))}o=this.editor.data.htmlProcessor.toView(t)}const r=new D(this,"inputTransformation");this.fire(r,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:"low"});this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty){return}const i=this.editor.data;const o=i.toModel(n.content,"$clipboardHolder");if(o.childCount==0){return}t.stop();e.change((()=>{this.fire("contentInsertion",{content:o,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})}))}),{priority:"low"});this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const i=n.document;const o=(t,n)=>{const i=n.dataTransfer;n.preventDefault();this._fireOutputTransformationEvent(i,e.selection,t.name)};this.listenTo(i,"copy",o,{priority:"low"});this.listenTo(i,"cut",((e,n)=>{if(!t.model.canEditAt(t.model.document.selection)){n.preventDefault()}else{o(e,n)}}),{priority:"low"});this.listenTo(this,"outputTransformation",((e,n)=>{const o=t.data.toView(n.content);i.fire("clipboardOutput",{dataTransfer:n.dataTransfer,content:o,method:n.method})}),{priority:"low"});this.listenTo(i,"clipboardOutput",((n,i)=>{if(!i.content.isEmpty){i.dataTransfer.setData("text/html",this.editor.data.htmlProcessor.toData(i.content));i.dataTransfer.setData("text/plain",aM(i.content))}if(i.method=="cut"){t.model.deleteContent(e.selection)}}),{priority:"low"})}}class dM extends(Z()){constructor(){super(...arguments);this._stack=[]}add(t,e){const n=this._stack;const i=n[0];this._insertDescriptor(t);const o=n[0];if(i!==o&&!uM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}remove(t,e){const n=this._stack;const i=n[0];this._removeDescriptor(t);const o=n[0];if(i!==o&&!uM(i,o)){this.fire("change:top",{oldDescriptor:i,newDescriptor:o,writer:e})}}_insertDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t.id));if(uM(t,e[n])){return}if(n>-1){e.splice(n,1)}let i=0;while(e[i]&&hM(e[i],t)){i++}e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack;const n=e.findIndex((e=>e.id===t));if(n>-1){e.splice(n,1)}}}function uM(t,e){return t&&e&&t.priority==e.priority&&gM(t.classes)==gM(e.classes)}function hM(t,e){if(t.priority>e.priority){return true}else if(t.priorityCPSVg@AMP8XgA+oqkP|
zXC4tpG6YO@^){)ZhTCU wWn=P=
zK~n-cYpATJl=h9+3MQ_MR7H
zmDmIO0#CG0P0JOipNGKudh-NfrtUaq$wSgODb<&`BV|{*Nm1FfOGr@(lI59)L!3{i
zo+-*M8#ek7*dgl5lCdS!Olt=%7>BSS2Gj)H8$k%GR)x?4R@zf$#DXBydqt9@1KFX1^z^DD@QkprG5H$S=y&fmiB2YOZ$gn
zX@3Hi_NifMe~raYtt{=eFJx&YDnCNcAHfnpnOb?g88pz2WF~pKJj+Ux5k8L1ufc75
zHo_$8rSVWj|5nI_j4FRm*^{Vjb-34`7Qt^dTYogUGJe>;M#;U+POca^q4$J-i!9F~
zZAjAzf95o0MK&{<#9~@Y)QFN>04(I0Bos+;Qa=CoRol6wdDO~ErMC5{1
zXbX8@33KFd_vPTD5B+1!e&}>O%)|nZ5D^tKG+Hfz8%JND;PVc3si1wL?G`fiC#Yey
z+-ULkr7(j$^=6S98EP|F54EeC^WnqpG+mZ+@jw^%P;K}3OYw-d`|~A$u-`sX4CK4z
z-xSEdTQ&sp@0M)>`EQmakbl1H{u;hpYT?bxrGSu4f&8oGR)Ks|EsGS~QA4oxMP}M6
z2ag3eRM0jG;DhnEE4%?U1h`61WtX^CTdjbF3N;{{ns=S4dev!Y3d&Y
0`P>NQu&T6C_8c8DO`lod9Yribq?f6qum)0nkbzI%Icxh4@SK)%b&^5
z&HO+s9_43GbTMER@As*JAfiZe
1kZL1TkX5Sqq!BoRN+Bv>6xlP{?2pRPFk
z*RU^q{GE`ESRSx@>Ym!Edp+L{C!uAc@-srwkP3
VeXSx>If~cD|JQ9_?Pu%Gm`;wrBjI8->(qkstObETPj0M
zh4ejpkcDuno6jVq`5ff6u`&8~x&zR<0cWjs0XQJEf`SJ55KV&}WQDvA0(FAlZV1yI
zcXmxL3bqFBO#!M=BlI7y$MxG_&h5ti*YY7I+2bs3I*izC(lHNbdy4}^v*U8uTIW`P
zYn9)?TQ>w~4aSVClQmR9uT3>TW{Z0YewB8gLr}jCFss35GJno=g*y0{Y#$jFCtMBn
zPm$g00ixBAJAZf)mDNkoXanEYS}37iKuA}zM0zS*S?PO#s2FBlC9N