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, };