mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-28 19:41:33 +02:00
Improve detection of pasted Excel table in Safari (#20374)
GitOrigin-RevId: 92b9c485b57f753f4fe161e582817f72244436e1
This commit is contained in:
@@ -53,7 +53,11 @@ export const pasteHtml = [
|
||||
// fall back to creating a figure when there's an image on the clipoard,
|
||||
// unless the HTML indicates that it came from an Office application
|
||||
// (which also puts an image on the clipboard)
|
||||
if (clipboardData.files.length > 0 && !hasProgId(documentElement)) {
|
||||
if (
|
||||
clipboardData.files.length > 0 &&
|
||||
!hasProgId(documentElement) &&
|
||||
!isOnlyTable(documentElement)
|
||||
) {
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -135,6 +139,17 @@ const hasProgId = (documentElement: HTMLElement) => {
|
||||
return meta && meta.content.trim().length > 0
|
||||
}
|
||||
|
||||
// detect a table (probably pasted from desktop Excel)
|
||||
const isOnlyTable = (documentElement: HTMLElement) => {
|
||||
const body = documentElement.querySelector<HTMLBodyElement>('body')
|
||||
|
||||
return (
|
||||
body &&
|
||||
body.childElementCount === 1 &&
|
||||
body.firstElementChild!.nodeName === 'TABLE'
|
||||
)
|
||||
}
|
||||
|
||||
const htmlToLaTeX = (bodyElement: HTMLElement) => {
|
||||
// remove style elements
|
||||
removeUnwantedElements(bodyElement, 'style')
|
||||
|
||||
Reference in New Issue
Block a user