diff --git a/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentCirculationExtras.js b/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentCirculationExtras.js index 57780e6b9..b0348dc89 100644 --- a/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentCirculationExtras.js +++ b/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentCirculationExtras.js @@ -1,11 +1,39 @@ -import React from "react"; +import React, { useRef, useEffect } from "react"; import _get from "lodash/get"; import _isEmpty from "lodash/isEmpty"; import { invenioConfig } from "@inveniosoftware/react-invenio-app-ils"; -import { Embed, Button, Divider, Icon } from "semantic-ui-react"; +import { Button, Divider, Icon } from "semantic-ui-react"; import PropTypes from "prop-types"; import { renderCallNumber, shelfLink } from "../../../utils"; +// Uses location.replace() so iframe navigation (including server-side redirects) +// doesn't add extra entries to the browser's joint session history. +// eslint-disable-next-line react/prop-types +function MapIframe({ url }) { + const iframeRef = useRef(null); + useEffect(() => { + if (iframeRef.current) { + iframeRef.current.contentWindow.location.replace(url); + } + }, [url]); + return ( +
+
+