azure-devops-ui
Version:
React components for building web UI in Azure DevOps
24 lines (23 loc) • 822 B
JavaScript
export const openImageInNewTab = (event) => {
const clickedElement = event.target;
if (clickedElement instanceof HTMLImageElement) {
const imageUrl = clickedElement.src;
if (!imageUrl || isIdentityImage(clickedElement)) {
return;
}
openLinkInSeparateWindow(imageUrl);
event.preventDefault();
event.stopPropagation();
}
};
const isIdentityImage = (element) => {
var _a;
return !!((_a = element.parentElement) === null || _a === void 0 ? void 0 : _a.classList.contains("bolt-identity-card-persona-main"));
};
const openLinkInSeparateWindow = (link) => {
const openedWindow = window.open(link, "_blank");
if (openedWindow) {
// Ensure no hijacking is possible.
openedWindow.opener = null;
}
};