@inveniosoftware/react-invenio-app-ils 1.3.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +101 -47
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +100 -46
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
- package/CHANGES.md +0 -544
package/dist/cjs/index.js
CHANGED
|
@@ -43,12 +43,12 @@ var _difference = require('lodash/difference');
|
|
|
43
43
|
var _first = require('lodash/first');
|
|
44
44
|
var ReactDOM = require('react-dom');
|
|
45
45
|
var object = require('lodash/object');
|
|
46
|
+
var _startCase = require('lodash/startCase');
|
|
46
47
|
var _concat = require('lodash/concat');
|
|
47
48
|
var number = require('lodash/number');
|
|
48
49
|
var _truncate = require('lodash/truncate');
|
|
49
50
|
var reactTagcloud = require('react-tagcloud');
|
|
50
51
|
var html5Qrcode = require('html5-qrcode');
|
|
51
|
-
var _startCase = require('lodash/startCase');
|
|
52
52
|
var PropTypes = require('prop-types');
|
|
53
53
|
var redux = require('redux');
|
|
54
54
|
var reduxDevtoolsExtension = require('redux-devtools-extension');
|
|
@@ -88,9 +88,9 @@ var ShowMore__default = /*#__PURE__*/_interopDefaultLegacy(ShowMore);
|
|
|
88
88
|
var _difference__default = /*#__PURE__*/_interopDefaultLegacy(_difference);
|
|
89
89
|
var _first__default = /*#__PURE__*/_interopDefaultLegacy(_first);
|
|
90
90
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
91
|
+
var _startCase__default = /*#__PURE__*/_interopDefaultLegacy(_startCase);
|
|
91
92
|
var _concat__default = /*#__PURE__*/_interopDefaultLegacy(_concat);
|
|
92
93
|
var _truncate__default = /*#__PURE__*/_interopDefaultLegacy(_truncate);
|
|
93
|
-
var _startCase__default = /*#__PURE__*/_interopDefaultLegacy(_startCase);
|
|
94
94
|
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
95
95
|
var remove__default = /*#__PURE__*/_interopDefaultLegacy(remove$4);
|
|
96
96
|
var thunk__default = /*#__PURE__*/_interopDefaultLegacy(thunk);
|
|
@@ -431,6 +431,10 @@ const RECORDS_CONFIG = {
|
|
|
431
431
|
},
|
|
432
432
|
CIRCULATION: {
|
|
433
433
|
deliveryMethods: {
|
|
434
|
+
'NOT-SPECIFIED': {
|
|
435
|
+
text: 'Not Specified',
|
|
436
|
+
iconClass: 'question circle outline'
|
|
437
|
+
},
|
|
434
438
|
PICKUP: {
|
|
435
439
|
text: 'Pick it up at the library desk',
|
|
436
440
|
iconClass: 'warehouse'
|
|
@@ -735,6 +739,7 @@ const RECORDS_CONFIG = {
|
|
|
735
739
|
}
|
|
736
740
|
},
|
|
737
741
|
ITEMS: {
|
|
742
|
+
identifiersToDisplayInFrontside: [],
|
|
738
743
|
circulationRestrictions: [{
|
|
739
744
|
value: 'NO_RESTRICTION',
|
|
740
745
|
text: 'No restriction (4 weeks)'
|
|
@@ -2079,7 +2084,7 @@ const apiConfig = {
|
|
|
2079
2084
|
const http = axios__default["default"].create(apiConfig);
|
|
2080
2085
|
|
|
2081
2086
|
// List used to specify whether to redirect to route `/errors` & prevent a redundant error notifation
|
|
2082
|
-
const HTTP_STATUS_CODES_WITH_ERROR_PAGE = [404, 410, 429, 500];
|
|
2087
|
+
const HTTP_STATUS_CODES_WITH_ERROR_PAGE = [404, 410, 403, 429, 500];
|
|
2083
2088
|
// The corresponding dedicated error page components exist in `@pages/frontsite/ErrorPafe`
|
|
2084
2089
|
const URLS_NOT_TO_REDIRECT_IF_UNAUTHORIZED = ['/me', '/me/loans'];
|
|
2085
2090
|
// CSRF possible errors
|
|
@@ -2393,11 +2398,15 @@ const orderApi = {
|
|
|
2393
2398
|
const bannerURL = '/banners/';
|
|
2394
2399
|
const getActive = async () => {
|
|
2395
2400
|
const URLPath = window.location.pathname;
|
|
2396
|
-
|
|
2401
|
+
const response = await http.get(`${bannerURL}`, {
|
|
2397
2402
|
params: {
|
|
2398
|
-
url_path: URLPath
|
|
2403
|
+
url_path: URLPath,
|
|
2404
|
+
active: true
|
|
2399
2405
|
}
|
|
2400
2406
|
});
|
|
2407
|
+
response.data.total = getSearchTotal(response.data.hits);
|
|
2408
|
+
response.data.hits = response.data.hits.hits;
|
|
2409
|
+
return response;
|
|
2401
2410
|
};
|
|
2402
2411
|
const bannerApi = {
|
|
2403
2412
|
getActive: getActive,
|
|
@@ -6214,7 +6223,8 @@ class DocumentItemBody extends React.Component {
|
|
|
6214
6223
|
const {
|
|
6215
6224
|
items,
|
|
6216
6225
|
shelfLink,
|
|
6217
|
-
documentDetails
|
|
6226
|
+
documentDetails,
|
|
6227
|
+
identifiersToDisplayInFrontside
|
|
6218
6228
|
} = this.props;
|
|
6219
6229
|
return items.map(item => /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, {
|
|
6220
6230
|
key: item.pid
|
|
@@ -6224,7 +6234,16 @@ class DocumentItemBody extends React.Component {
|
|
|
6224
6234
|
}, item.barcode), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
|
|
6225
6235
|
"data-label": "Shelf",
|
|
6226
6236
|
className: "document-item-table-itemCell"
|
|
6227
|
-
}, shelfLink !== null ? shelfLink(item, documentDetails) : _get__default["default"](item, 'shelf')),
|
|
6237
|
+
}, shelfLink !== null ? shelfLink(item, documentDetails) : _get__default["default"](item, 'shelf')), identifiersToDisplayInFrontside.map(identifier => {
|
|
6238
|
+
var _item$identifiers, _item$identifiers$fin;
|
|
6239
|
+
return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
|
|
6240
|
+
key: identifier,
|
|
6241
|
+
"data-label": identifier.text,
|
|
6242
|
+
className: "document-item-table-itemCell"
|
|
6243
|
+
}, (_item$identifiers = item.identifiers) === null || _item$identifiers === void 0 ? void 0 : (_item$identifiers$fin = _item$identifiers.find(entry => {
|
|
6244
|
+
return entry.scheme === identifier.key;
|
|
6245
|
+
})) === null || _item$identifiers$fin === void 0 ? void 0 : _item$identifiers$fin.value);
|
|
6246
|
+
}), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
|
|
6228
6247
|
"data-label": "Status"
|
|
6229
6248
|
}, this.statusLabel(item)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
|
|
6230
6249
|
"data-label": "Medium"
|
|
@@ -7993,7 +8012,7 @@ const BannerCmp = _ref => {
|
|
|
7993
8012
|
break;
|
|
7994
8013
|
}
|
|
7995
8014
|
return /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
|
|
7996
|
-
id: "
|
|
8015
|
+
id: "Banners.layout",
|
|
7997
8016
|
message: message,
|
|
7998
8017
|
category: category,
|
|
7999
8018
|
colorProp: colorProp
|
|
@@ -8005,42 +8024,44 @@ const BannerCmp = _ref => {
|
|
|
8005
8024
|
}
|
|
8006
8025
|
})));
|
|
8007
8026
|
};
|
|
8008
|
-
class
|
|
8027
|
+
class Banners$1 extends React.Component {
|
|
8009
8028
|
componentDidMount() {
|
|
8010
8029
|
const {
|
|
8011
|
-
|
|
8012
|
-
|
|
8030
|
+
fetchBanners,
|
|
8031
|
+
resetBanners
|
|
8013
8032
|
} = this.props;
|
|
8014
|
-
|
|
8015
|
-
|
|
8016
|
-
this.
|
|
8033
|
+
resetBanners();
|
|
8034
|
+
fetchBanners();
|
|
8035
|
+
this.intervalfetchBannersId = setInterval(fetchBanners, FETCH_BANNER_EVERY_SECS * 1000);
|
|
8017
8036
|
}
|
|
8018
8037
|
componentWillUnmount() {
|
|
8019
|
-
this.
|
|
8038
|
+
this.intervalfetchBannersId && clearInterval(this.intervalfetchBannersId);
|
|
8020
8039
|
}
|
|
8021
8040
|
render() {
|
|
8022
8041
|
const {
|
|
8023
|
-
|
|
8042
|
+
banners,
|
|
8024
8043
|
children
|
|
8025
8044
|
} = this.props;
|
|
8026
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !_isEmpty__default["default"](
|
|
8045
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !_isEmpty__default["default"](banners) ? banners.hits.map(banner => /*#__PURE__*/React__default["default"].createElement(BannerCmp, Object.assign({
|
|
8046
|
+
key: banner.id
|
|
8047
|
+
}, banner))) : null, ' ', children);
|
|
8027
8048
|
}
|
|
8028
8049
|
}
|
|
8029
|
-
|
|
8030
|
-
|
|
8050
|
+
Banners$1.defaultProps = {
|
|
8051
|
+
banners: null,
|
|
8031
8052
|
children: null
|
|
8032
8053
|
};
|
|
8033
|
-
var BannerComponent = Overridable__default["default"].component('
|
|
8054
|
+
var BannerComponent = Overridable__default["default"].component('Banners', Banners$1);
|
|
8034
8055
|
|
|
8035
|
-
const BANNER_RESET = '
|
|
8036
|
-
const BANNER_SUCCESS = '
|
|
8037
|
-
const BANNER_HAS_ERROR = '
|
|
8038
|
-
const
|
|
8056
|
+
const BANNER_RESET = 'fetchBanners/RESET';
|
|
8057
|
+
const BANNER_SUCCESS = 'fetchBanners/SUCCESS';
|
|
8058
|
+
const BANNER_HAS_ERROR = 'fetchBanners/HAS_ERROR';
|
|
8059
|
+
const resetBanners = () => {
|
|
8039
8060
|
return async dispatch => dispatch({
|
|
8040
8061
|
type: BANNER_RESET
|
|
8041
8062
|
});
|
|
8042
8063
|
};
|
|
8043
|
-
const
|
|
8064
|
+
const fetchBanners = () => {
|
|
8044
8065
|
return async dispatch => {
|
|
8045
8066
|
try {
|
|
8046
8067
|
const response = await bannerApi.getActive();
|
|
@@ -8058,14 +8079,14 @@ const fetchBanner = () => {
|
|
|
8058
8079
|
};
|
|
8059
8080
|
|
|
8060
8081
|
const mapStateToProps$1D = state => ({
|
|
8061
|
-
|
|
8062
|
-
error: state.
|
|
8082
|
+
banners: state.banners.data,
|
|
8083
|
+
error: state.banners.error
|
|
8063
8084
|
});
|
|
8064
8085
|
const mapDispatchToProps$1j = dispatch => ({
|
|
8065
|
-
|
|
8066
|
-
|
|
8086
|
+
fetchBanners: () => dispatch(fetchBanners()),
|
|
8087
|
+
resetBanners: () => dispatch(resetBanners())
|
|
8067
8088
|
});
|
|
8068
|
-
const
|
|
8089
|
+
const Banners = reactRedux.connect(mapStateToProps$1D, mapDispatchToProps$1j)(BannerComponent);
|
|
8069
8090
|
|
|
8070
8091
|
const LoginWithLocalAccountLayout = _ref => {
|
|
8071
8092
|
let {
|
|
@@ -8481,7 +8502,7 @@ class Login$1 extends React.Component {
|
|
|
8481
8502
|
this.redirectIfAlreadyLoggedIn();
|
|
8482
8503
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
|
|
8483
8504
|
id: "Login.extras"
|
|
8484
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
8505
|
+
}, /*#__PURE__*/React__default["default"].createElement(Banners, null)), /*#__PURE__*/React__default["default"].createElement(LoginLayout, Object.assign({
|
|
8485
8506
|
hasError: hasError,
|
|
8486
8507
|
errorHeader: errorHeader,
|
|
8487
8508
|
errorMessage: errorMessage
|
|
@@ -8667,7 +8688,7 @@ function UnauthorizedComponent(props) {
|
|
|
8667
8688
|
}, newProps), /*#__PURE__*/React__default["default"].createElement(HttpError$1, newProps));
|
|
8668
8689
|
}
|
|
8669
8690
|
UnauthorizedComponent.defaultProps = defaultProps;
|
|
8670
|
-
Overridable__default["default"].component('Unauthorized', UnauthorizedComponent);
|
|
8691
|
+
const Unauthorized = Overridable__default["default"].component('Unauthorized', UnauthorizedComponent);
|
|
8671
8692
|
function ForbiddenComponent(props) {
|
|
8672
8693
|
const {
|
|
8673
8694
|
title = 'Access Forbidden',
|
|
@@ -8757,11 +8778,11 @@ class AdminMenu extends React.Component {
|
|
|
8757
8778
|
className: "bo-menu bo-menu-footer"
|
|
8758
8779
|
}, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Menu.Item, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Menu.Menu, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Menu.Item, {
|
|
8759
8780
|
as: "a",
|
|
8760
|
-
href: `${invenioConfig.APP.INVENIO_UI_URL}/
|
|
8781
|
+
href: `${invenioConfig.APP.INVENIO_UI_URL}/administration`,
|
|
8761
8782
|
target: "_blank"
|
|
8762
8783
|
}, "Admin panel"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Menu.Item, {
|
|
8763
8784
|
as: "a",
|
|
8764
|
-
href: `${invenioConfig.APP.INVENIO_UI_URL}/
|
|
8785
|
+
href: `${invenioConfig.APP.INVENIO_UI_URL}/administration/pages`,
|
|
8765
8786
|
target: "_blank"
|
|
8766
8787
|
}, "Static pages"))))));
|
|
8767
8788
|
}
|
|
@@ -13848,7 +13869,7 @@ class ESSelectorLoanRequest extends React.Component {
|
|
|
13848
13869
|
placeholder: "Select delivery method",
|
|
13849
13870
|
options: this.deliveryMethods,
|
|
13850
13871
|
onChange: this.handleDeliveryMethodChange,
|
|
13851
|
-
defaultValue: this.
|
|
13872
|
+
defaultValue: this.defaultDeliveryMethod,
|
|
13852
13873
|
selection: true
|
|
13853
13874
|
})) : null;
|
|
13854
13875
|
};
|
|
@@ -13868,7 +13889,11 @@ class ESSelectorLoanRequest extends React.Component {
|
|
|
13868
13889
|
value: key,
|
|
13869
13890
|
text: invenioConfig.CIRCULATION.deliveryMethods[key].text
|
|
13870
13891
|
})) : [];
|
|
13871
|
-
this.
|
|
13892
|
+
this.defaultDeliveryMethod = null;
|
|
13893
|
+
if (this.withDeliveryMethod) {
|
|
13894
|
+
this.defaultDeliveryMethod = this.deliveryMethods.some(method => method.value === 'NOT-SPECIFIED') ? 'NOT-SPECIFIED' : this.deliveryMethods[0].value;
|
|
13895
|
+
}
|
|
13896
|
+
this.state['deliveryMethod'] = this.defaultDeliveryMethod;
|
|
13872
13897
|
}
|
|
13873
13898
|
render() {
|
|
13874
13899
|
const {
|
|
@@ -27812,7 +27837,7 @@ class LoanActions$1 extends React.Component {
|
|
|
27812
27837
|
|
|
27813
27838
|
// omit checkout because it must done in one of the available items
|
|
27814
27839
|
if (!itemPid) {
|
|
27815
|
-
actions = object.omit(actions, 'checkout');
|
|
27840
|
+
actions = object.omit(actions, ['checkout', 'self_checkout']);
|
|
27816
27841
|
}
|
|
27817
27842
|
return Object.keys(actions).map(action => {
|
|
27818
27843
|
const cancelAction = function () {
|
|
@@ -27840,7 +27865,7 @@ class LoanActions$1 extends React.Component {
|
|
|
27840
27865
|
onClick: loanAction,
|
|
27841
27866
|
loading: isLoading,
|
|
27842
27867
|
disabled: isLoading
|
|
27843
|
-
},
|
|
27868
|
+
}, _startCase__default["default"](action)));
|
|
27844
27869
|
});
|
|
27845
27870
|
}
|
|
27846
27871
|
render() {
|
|
@@ -34688,7 +34713,7 @@ class BackOffice extends React.Component {
|
|
|
34688
34713
|
} = this.props;
|
|
34689
34714
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
|
|
34690
34715
|
id: "BackOffice.extras"
|
|
34691
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
34716
|
+
}, /*#__PURE__*/React__default["default"].createElement(Banners, null)), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34692
34717
|
className: "backoffice"
|
|
34693
34718
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
34694
34719
|
className: "bo-sidebar"
|
|
@@ -35130,6 +35155,21 @@ class DocumentStats extends React.Component {
|
|
|
35130
35155
|
class DocumentItem extends React.Component {
|
|
35131
35156
|
constructor(props) {
|
|
35132
35157
|
super(props);
|
|
35158
|
+
this.fetchIdentifiersToDisplayInFrontsideTitles = () => {
|
|
35159
|
+
const query = vocabularyApi.query().withType(invenioConfig.VOCABULARIES.item.identifier.scheme);
|
|
35160
|
+
vocabularyApi.list(query.qs()).then(response => {
|
|
35161
|
+
const identifiersToDisplayInFrontside = this.state.identifiersToDisplayInFrontside.map(identifier => {
|
|
35162
|
+
const vocabEntry = response.data.hits.find(entry => entry.metadata.key === identifier.key);
|
|
35163
|
+
return {
|
|
35164
|
+
...identifier,
|
|
35165
|
+
text: vocabEntry ? vocabEntry.metadata.text : identifier.text
|
|
35166
|
+
};
|
|
35167
|
+
});
|
|
35168
|
+
this.setState({
|
|
35169
|
+
identifiersToDisplayInFrontside
|
|
35170
|
+
});
|
|
35171
|
+
});
|
|
35172
|
+
};
|
|
35133
35173
|
this.toggleItems = () => {
|
|
35134
35174
|
const {
|
|
35135
35175
|
isShowingAll
|
|
@@ -35138,10 +35178,18 @@ class DocumentItem extends React.Component {
|
|
|
35138
35178
|
isShowingAll: !isShowingAll
|
|
35139
35179
|
});
|
|
35140
35180
|
};
|
|
35181
|
+
const _identifiersToDisplayInFrontside = invenioConfig.ITEMS.identifiersToDisplayInFrontside.map(identifier => ({
|
|
35182
|
+
key: identifier,
|
|
35183
|
+
text: identifier
|
|
35184
|
+
}));
|
|
35141
35185
|
this.state = {
|
|
35142
35186
|
isShowingAll: false,
|
|
35143
|
-
itemAmountLimit: 5
|
|
35187
|
+
itemAmountLimit: 5,
|
|
35188
|
+
identifiersToDisplayInFrontside: _identifiersToDisplayInFrontside
|
|
35144
35189
|
};
|
|
35190
|
+
if (_identifiersToDisplayInFrontside.length > 0) {
|
|
35191
|
+
this.fetchIdentifiersToDisplayInFrontsideTitles();
|
|
35192
|
+
}
|
|
35145
35193
|
}
|
|
35146
35194
|
get moreItemsToLoad() {
|
|
35147
35195
|
const {
|
|
@@ -35161,7 +35209,8 @@ class DocumentItem extends React.Component {
|
|
|
35161
35209
|
} = this.props;
|
|
35162
35210
|
const {
|
|
35163
35211
|
isShowingAll,
|
|
35164
|
-
itemAmountLimit
|
|
35212
|
+
itemAmountLimit,
|
|
35213
|
+
identifiersToDisplayInFrontside
|
|
35165
35214
|
} = this.state;
|
|
35166
35215
|
const previewArrayOfItems = items.slice(0, itemAmountLimit);
|
|
35167
35216
|
const completeArrayOfItems = items;
|
|
@@ -35179,11 +35228,14 @@ class DocumentItem extends React.Component {
|
|
|
35179
35228
|
id: "DocumentDetails.DocumentItem.TableHeader"
|
|
35180
35229
|
}, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, {
|
|
35181
35230
|
"data-test": "header"
|
|
35182
|
-
}, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Barcode"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Shelf"),
|
|
35231
|
+
}, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Barcode"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Shelf"), identifiersToDisplayInFrontside.map(identifier => /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, {
|
|
35232
|
+
key: identifier.key
|
|
35233
|
+
}, identifier.text)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Status"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Medium"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.HeaderCell, null, "Loan restriction")))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Body, null, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
|
|
35183
35234
|
id: "DocumentDetails.DocumentItemTableBody"
|
|
35184
35235
|
}, /*#__PURE__*/React__default["default"].createElement(DocumentItemBody, {
|
|
35185
35236
|
items: itemsToShow,
|
|
35186
|
-
documentDetails: documentDetails
|
|
35237
|
+
documentDetails: documentDetails,
|
|
35238
|
+
identifiersToDisplayInFrontside: identifiersToDisplayInFrontside
|
|
35187
35239
|
}))), this.moreItemsToLoad && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Footer, {
|
|
35188
35240
|
fullWidth: true,
|
|
35189
35241
|
"data-test": "footer",
|
|
@@ -36510,7 +36562,7 @@ class LoanRequestForm$1 extends React.Component {
|
|
|
36510
36562
|
|
|
36511
36563
|
// init delivery method
|
|
36512
36564
|
this.withDeliveryMethod = !_isEmpty__default["default"](invenioConfig.CIRCULATION.deliveryMethods);
|
|
36513
|
-
this.deliveryMethods = this.withDeliveryMethod ? Object.keys(invenioConfig.CIRCULATION.deliveryMethods).map(key => ({
|
|
36565
|
+
this.deliveryMethods = this.withDeliveryMethod ? Object.keys(invenioConfig.CIRCULATION.deliveryMethods).filter(method => method !== 'NOT-SPECIFIED').map(key => ({
|
|
36514
36566
|
key: key,
|
|
36515
36567
|
value: key,
|
|
36516
36568
|
text: invenioConfig.CIRCULATION.deliveryMethods[key].text
|
|
@@ -37277,6 +37329,8 @@ class ErrorsPage extends React.Component {
|
|
|
37277
37329
|
message: "The requested content has been removed.",
|
|
37278
37330
|
icon: "compass outline"
|
|
37279
37331
|
});
|
|
37332
|
+
} else if (params.errorCode === 403) {
|
|
37333
|
+
return /*#__PURE__*/React__default["default"].createElement(Unauthorized, null);
|
|
37280
37334
|
} else if (params.errorCode === 429) {
|
|
37281
37335
|
return /*#__PURE__*/React__default["default"].createElement(TooManyRequests, null);
|
|
37282
37336
|
}
|
|
@@ -40789,7 +40843,7 @@ class FrontSite extends React.Component {
|
|
|
40789
40843
|
className: "fs-content"
|
|
40790
40844
|
}, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
|
|
40791
40845
|
id: "FrontSite.extras"
|
|
40792
|
-
}, /*#__PURE__*/React__default["default"].createElement(
|
|
40846
|
+
}, /*#__PURE__*/React__default["default"].createElement(Banners, null)), /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Switch, null, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Route, {
|
|
40793
40847
|
exact: true,
|
|
40794
40848
|
path: FrontSiteRoutes.home,
|
|
40795
40849
|
render: props => /*#__PURE__*/React__default["default"].createElement(Home$1, Object.assign({}, props, this.props))
|
|
@@ -40931,7 +40985,7 @@ const initialState$N = {
|
|
|
40931
40985
|
data: {},
|
|
40932
40986
|
error: {}
|
|
40933
40987
|
};
|
|
40934
|
-
const
|
|
40988
|
+
const fetchBannersReducer = function () {
|
|
40935
40989
|
let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState$N;
|
|
40936
40990
|
let action = arguments.length > 1 ? arguments[1] : undefined;
|
|
40937
40991
|
switch (action.type) {
|
|
@@ -43138,7 +43192,7 @@ function createILSReducer(asyncReducers) {
|
|
|
43138
43192
|
borrowingRequestLoanExtension: borrowingRequestLoanExtensionReducer,
|
|
43139
43193
|
itemsCheckIn: itemsCheckInReducer,
|
|
43140
43194
|
checkOut: checkOutReducer,
|
|
43141
|
-
|
|
43195
|
+
banners: fetchBannersReducer,
|
|
43142
43196
|
bulkLoanExtend: patronBulkExtendLoans,
|
|
43143
43197
|
...asyncReducers
|
|
43144
43198
|
});
|