diff --git a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItem.js b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItem.js
index c31100027..5fa8425ff 100644
--- a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItem.js
+++ b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItem.js
@@ -28,7 +28,8 @@ class DocumentItem extends Component {
};
render() {
- const { internalLocationName, items, showTitle } = this.props;
+ const { internalLocationName, items, documentDetails, showTitle } =
+ this.props;
const { isShowingAll, itemAmountLimit } = this.state;
const previewArrayOfItems = items.slice(0, itemAmountLimit);
@@ -64,7 +65,10 @@ class DocumentItem extends Component {
-
+
@@ -101,6 +105,7 @@ class DocumentItem extends Component {
DocumentItem.propTypes = {
internalLocationName: PropTypes.object.isRequired,
items: PropTypes.array.isRequired,
+ documentDetails: PropTypes.object.isRequired,
showTitle: PropTypes.bool.isRequired,
};
diff --git a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItemBody.js b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItemBody.js
index 1d8d9937a..9fe782d6f 100644
--- a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItemBody.js
+++ b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItemBody.js
@@ -27,7 +27,7 @@ export default class DocumentItemBody extends Component {
};
render() {
- const { items, shelfLink } = this.props;
+ const { items, shelfLink, documentDetails } = this.props;
return items.map((item) => (
@@ -39,8 +39,9 @@ export default class DocumentItemBody extends Component {
- {(shelfLink !== null ? shelfLink(item) : _get(item, 'shelf')) ||
- 'none'}
+ {(shelfLink !== null
+ ? shelfLink(item, documentDetails)
+ : _get(item, 'shelf')) || 'none'}
{this.statusLabel(item)}
@@ -60,6 +61,7 @@ export default class DocumentItemBody extends Component {
DocumentItemBody.propTypes = {
items: PropTypes.array.isRequired,
+ documentDetails: PropTypes.object.isRequired,
shelfLink: PropTypes.func,
};
diff --git a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItems.js b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItems.js
index 852eb3762..007533ace 100644
--- a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItems.js
+++ b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentItems.js
@@ -9,10 +9,6 @@ import DocumentTabs from './DocumentTabs';
import { LOCATION_OBJECT_TOTAL_AMOUNT_KEY } from '@config/common';
class DocumentItems extends Component {
- constructor(props) {
- super(props);
- }
-
itemStatus = (item) => ({
canCirculate: () =>
invenioConfig.ITEMS.canCirculateStatuses.includes(item.status),
@@ -79,7 +75,10 @@ class DocumentItems extends Component {
documentDetails,
} = this.props;
const internalLocationsComponent = (
-
+
);
const noItemsComponent = (
diff --git a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentTabs.js b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentTabs.js
index e716b7cb6..7e2227348 100644
--- a/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentTabs.js
+++ b/src/lib/pages/frontsite/Documents/DocumentDetails/DocumentItems/DocumentTabs.js
@@ -24,6 +24,12 @@ export default class DocumentTabs extends Component {
return locationsObject;
}
+ get documentDetails() {
+ const { documentDetails } = this.props;
+
+ return documentDetails;
+ }
+
get locationEntries() {
return Object.entries(this.locations);
}
@@ -132,6 +138,7 @@ export default class DocumentTabs extends Component {
);
@@ -146,6 +153,7 @@ export default class DocumentTabs extends Component {
key={internalLocationName}
internalLocationName={internalLocationName}
items={items}
+ documentDetails={this.documentDetails}
showTitle={activeInternalLocation !== internalLocationName}
/>
);
@@ -190,4 +198,5 @@ export default class DocumentTabs extends Component {
DocumentTabs.propTypes = {
locationsObject: PropTypes.object.isRequired,
+ documentDetails: PropTypes.object.isRequired,
};