From 9c7a564595c8bed123f76924c99f1107f7ce17a3 Mon Sep 17 00:00:00 2001 From: Saksham Arora Date: Fri, 21 Jun 2024 14:05:08 +0200 Subject: [PATCH] overridden: DocumentItemBody: Update renderShelfLink to use title form documentDetails --- .../Document/DocumentDetails/DocumentItemBody.js | 12 +++++++++--- ui/src/overridden/utils.js | 14 +++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentItemBody.js b/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentItemBody.js index e5818e24a..9d6010a8c 100644 --- a/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentItemBody.js +++ b/ui/src/overridden/frontsite/Document/DocumentDetails/DocumentItemBody.js @@ -5,9 +5,9 @@ import { } from "@inveniosoftware/react-invenio-app-ils"; import _get from "lodash/get"; import { parametrize } from "react-overridable"; -import { shelfLinkComponent } from "../../../utils"; +import { renderCallNumber, shelfLinkComponent } from "../../../utils"; -function renderShelflink(item) { +function renderShelflink(item, documentDetails) { const itemStatus = _get(item, "circulation.state"); // If item is on loan, don't hyperlink the shelf @@ -17,8 +17,14 @@ function renderShelflink(item) { _get(item, "status") ); + const shelfNumber = _get(item, "shelf"); + const title = _get(documentDetails, "metadata.title"); + const callNumber = renderCallNumber(item); + const itemShelf = - cannotCirculate && itemOnShelf ? _get(item, "shelf") : shelfLinkComponent(item); + cannotCirculate && itemOnShelf + ? shelfNumber + : shelfLinkComponent(shelfNumber, title, callNumber); return itemShelf; } diff --git a/ui/src/overridden/utils.js b/ui/src/overridden/utils.js index 7950b3429..f3394aebe 100644 --- a/ui/src/overridden/utils.js +++ b/ui/src/overridden/utils.js @@ -38,11 +38,15 @@ export const shelfLink = (shelfNumber, { popupContent = null, iframe = false }) return shelfLink; }; -export const shelfLinkComponent = (item, iconName = "map pin") => { - const shelfNumber = _get(item, "shelf"); - const callNumber = renderCallNumber(item); - const popupContent = { "Title": item.title, "Call number": callNumber }; - const linkToShelf = shelfLink(shelfNumber, { popupContent: popupContent }); +export const shelfLinkComponent = ( + shelfNumber, + title, + callNumber, + iconName = "map pin" +) => { + const linkToShelf = shelfLink(shelfNumber, { + popupContent: { "Title": title, "Call number": callNumber }, + }); return ( <> {shelfNumber && (