fix [Bug] Can not copy and paste with multiple line on Quote section #1427

This commit is contained in:
Pavlo Palii 2024-02-23 22:14:37 +02:00
parent f440c541bb
commit 624f2b2ee5

View file

@ -225,16 +225,27 @@ export default class Paste extends Module {
} }
} }
public isDomElementInCdxInput(elem):boolean{ /**
try{ * Check if elem has input class in parents html elements
for(const i in document.querySelectorAll('.cdx-input')){ *
if(document.querySelectorAll('.cdx-input')[i] && document.querySelectorAll('.cdx-input')[i].contains(elem)){ * @param {HTMLElement} elem - pasted or dropped data transfer object
*/
public isDomElementInCdxInput(elem): boolean {
const { StylesAPI } = this.Editor;
const elements = document.querySelectorAll(`.${StylesAPI.classes.input}`);
try {
for (const i in elements) {
if (elements[i] && elements[i].contains(elem)) {
return true; return true;
} }
} }
return false;
}catch (e){ return false;
return false; } catch (e) {
console.log(e);
return false;
} }
} }
@ -252,16 +263,26 @@ export default class Paste extends Module {
return; return;
} }
if(this.pasteEvent && this.pasteEvent.target && this.isDomElementInCdxInput(this.pasteEvent.target)){ if (this.pasteEvent && this.pasteEvent.target && this.isDomElementInCdxInput(this.pasteEvent.target)) {
const p = document.createElement('p'); const p = document.createElement('p');
p.innerText = ''; p.innerText = '';
dataToInsert.forEach((item, index) => { dataToInsert.forEach((item, index) => {
p.innerText = p.innerText + item.content.innerText; p.innerText = p.innerText + item.content.innerText;
if(index !== dataToInsert.length-1) p.innerText = p.innerText + '';
if (index<dataToInsert.length-1) {
p.innerText = p.innerText + ' ';
}
}); });
const pasteDataObj = {content:p, isBlock:false, tool: 'paragraph', event:this.pasteEvent}; const pasteDataObj = {
content:p,
isBlock:false,
tool: 'paragraph',
event:this.pasteEvent,
};
this.processInlinePaste(pasteDataObj); this.processInlinePaste(pasteDataObj);
return; return;
} }