Skip to content
Snippets Groups Projects

Initial

Merged Igor Markin requested to merge initial into master
10 files
+ 479
6
Compare changes
  • Side-by-side
  • Inline
Files
10
+ 47
0
 
const DUMMY_QR_CODE_ID = "dummyQrCode";
 
 
export const ELEMENT_TYPES_TO_REMOVE = { br: true, hr: true };
 
 
export const ATTRIBUTES_TO_KEEP = {
 
alt: true,
 
src: true,
 
cite: true,
 
data: true,
 
datetime: true,
 
href: true,
 
value: true,
 
};
 
 
/**
 
* Removes dummy QR code from HTML
 
* @param element
 
*/
 
const isDummyQrCode = (element: HTMLElement): boolean => {
 
if (element.id === DUMMY_QR_CODE_ID) {
 
return true;
 
}
 
};
 
 
/**
 
* Decides whether node should be removed
 
* @param element
 
*/
 
export const pruneElement = (element: HTMLElement): boolean => {
 
if (isDummyQrCode(element)) {
 
return true;
 
}
 
 
return !!ELEMENT_TYPES_TO_REMOVE[element.nodeName.toLowerCase()];
 
};
 
 
export const cloneAnchorFromPane = (a: HTMLAnchorElement, pane: HTMLElement): void => {
 
try {
 
const url = new URL(a.href);
 
// If this is external url
 
if (url.host && url.protocol) {
 
pane.parentNode.insertBefore(a.cloneNode(false), pane);
 
}
 
} catch {
 
return;
 
}
 
};
Loading