@inveniosoftware/react-invenio-app-ils 1.0.0-alpha.58 → 1.0.0-alpha.61

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 CHANGED
@@ -38,8 +38,8 @@ var _groupBy = require('lodash/groupBy');
38
38
  var _keys = require('lodash/keys');
39
39
  var ShowMore = require('react-show-more');
40
40
  var _first = require('lodash/first');
41
- var object = require('lodash/object');
42
41
  var ReactDOM = require('react-dom');
42
+ var object = require('lodash/object');
43
43
  var _difference = require('lodash/difference');
44
44
  var _concat = require('lodash/concat');
45
45
  var number = require('lodash/number');
@@ -2984,7 +2984,7 @@ var apiConfig = {
2984
2984
  baseURL: invenioConfig.APP.REST_ENDPOINTS_BASE_URL,
2985
2985
  withCredentials: true,
2986
2986
  xsrfCookieName: 'csrftoken',
2987
- xsrfHeaderName: 'HTTP_X_CSRFTOKEN'
2987
+ xsrfHeaderName: 'X_CSRFTOKEN'
2988
2988
  };
2989
2989
  var http = axios__default["default"].create(apiConfig);
2990
2990
  var HTTP_STATUS_CODES_WITH_ERROR_PAGE = [404, 429, 500];
@@ -5865,9 +5865,9 @@ var QueryBuilder$5 = /*#__PURE__*/function () {
5865
5865
  }
5866
5866
 
5867
5867
  if (moi === 'SERIAL') {
5868
- this.withSeriesQuery.push("relations.serial.pid_value:".concat(prepareSumQuery(seriesPid)));
5868
+ this.withSeriesQuery.push("relations.serial.pid_value:\"".concat(seriesPid, "\""));
5869
5869
  } else {
5870
- this.withSeriesQuery.push("relations.multipart_monograph.pid_value:".concat(prepareSumQuery(seriesPid)));
5870
+ this.withSeriesQuery.push("relations.multipart_monograph.pid_value:\"".concat(seriesPid, "\""));
5871
5871
  }
5872
5872
 
5873
5873
  return this;
@@ -6351,11 +6351,17 @@ var QueryBuilder$4 = /*#__PURE__*/function () {
6351
6351
  return this;
6352
6352
  }
6353
6353
  }, {
6354
- key: "sortByRequestStartDate",
6355
- value: function sortByRequestStartDate() {
6354
+ key: "sortByRequestStartDateDesc",
6355
+ value: function sortByRequestStartDateDesc() {
6356
6356
  this.sortBy = "&sort=-request_start_date";
6357
6357
  return this;
6358
6358
  }
6359
+ }, {
6360
+ key: "sortByRequestStartDateAsc",
6361
+ value: function sortByRequestStartDateAsc() {
6362
+ this.sortBy = "&sort=request_start_date";
6363
+ return this;
6364
+ }
6359
6365
  }, {
6360
6366
  key: "qs",
6361
6367
  value: function qs() {
@@ -7937,12 +7943,18 @@ var isAPIError = function isAPIError(error) {
7937
7943
  };
7938
7944
 
7939
7945
  var shouldShowErrorPage = function shouldShowErrorPage(error) {
7940
- if (!isAPIError(error)) {
7941
- return true;
7942
- }
7946
+ var _error$response;
7947
+
7948
+ if (isAPIError(error)) {
7949
+ // do not display the error in a full page, show the error only in the specific component (probably a notification).
7950
+ return false;
7951
+ } // when the exception is handled, we don't want to display a full page error (probably a notification).
7952
+
7943
7953
 
7944
- return error.response.status !== 400;
7954
+ var handledException = (error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.status) === 400;
7955
+ return handledException ? false : true;
7945
7956
  };
7957
+
7946
7958
  var Error$1 = /*#__PURE__*/function (_Component) {
7947
7959
  _inherits(Error, _Component);
7948
7960
 
@@ -8592,12 +8604,14 @@ var REMOVE = 'notifications/REMOVE';
8592
8604
  var CLEAR_ALL = 'notifications/CLEAR_ALL';
8593
8605
  var sendErrorNotification = function sendErrorNotification(error) {
8594
8606
  return function (dispatch) {
8595
- if (!shouldShowErrorPage(error)) {
8607
+ if (isAPIError(error)) {
8596
8608
  var errorData = error.response.data;
8597
8609
  var errorModule = errorData.error_module,
8598
8610
  message = errorData.message;
8599
8611
  var title = errorModule ? "".concat(errorModule) : 'Something went wrong';
8600
8612
  dispatch(addNotification(title, message, 'error'));
8613
+ } else {
8614
+ dispatch(addNotification('Something went wrong', error.message, 'error'));
8601
8615
  }
8602
8616
  };
8603
8617
  };
@@ -8726,7 +8740,7 @@ var mapStateToProps$1D = function mapStateToProps(state) {
8726
8740
  };
8727
8741
  };
8728
8742
 
8729
- var mapDispatchToProps$1k = function mapDispatchToProps(dispatch) {
8743
+ var mapDispatchToProps$1l = function mapDispatchToProps(dispatch) {
8730
8744
  return {
8731
8745
  sendErrorNotification: function sendErrorNotification(title, content) {
8732
8746
  return dispatch(addNotification(title, content, 'error'));
@@ -8734,7 +8748,7 @@ var mapDispatchToProps$1k = function mapDispatchToProps(dispatch) {
8734
8748
  };
8735
8749
  };
8736
8750
 
8737
- var AuthenticationGuard = reactRedux.connect(mapStateToProps$1D, mapDispatchToProps$1k)(AuthenticationGuard$1);
8751
+ var AuthenticationGuard = reactRedux.connect(mapStateToProps$1D, mapDispatchToProps$1l)(AuthenticationGuard$1);
8738
8752
 
8739
8753
  var _excluded$x = ["autoDismiss"];
8740
8754
  var IlsMessage = /*#__PURE__*/function (_Component) {
@@ -8885,7 +8899,7 @@ var mapStateToProps$1C = function mapStateToProps(state) {
8885
8899
  };
8886
8900
  };
8887
8901
 
8888
- var mapDispatchToProps$1j = function mapDispatchToProps(dispatch) {
8902
+ var mapDispatchToProps$1k = function mapDispatchToProps(dispatch) {
8889
8903
  return {
8890
8904
  removeNotification: function removeNotification(notificationId) {
8891
8905
  return dispatch({
@@ -8896,7 +8910,7 @@ var mapDispatchToProps$1j = function mapDispatchToProps(dispatch) {
8896
8910
  };
8897
8911
  };
8898
8912
 
8899
- var Notifications = reactRedux.connect(mapStateToProps$1C, mapDispatchToProps$1j)(Notifications$1);
8913
+ var Notifications = reactRedux.connect(mapStateToProps$1C, mapDispatchToProps$1k)(Notifications$1);
8900
8914
 
8901
8915
  function _arrayLikeToArray(arr, len) {
8902
8916
  if (len == null || len > arr.length) len = arr.length;
@@ -9296,7 +9310,7 @@ BaseForm$1.defaultProps = {
9296
9310
  buttons: null
9297
9311
  };
9298
9312
 
9299
- var mapDispatchToProps$1i = function mapDispatchToProps(dispatch) {
9313
+ var mapDispatchToProps$1j = function mapDispatchToProps(dispatch) {
9300
9314
  return {
9301
9315
  sendSuccessNotification: function sendSuccessNotification$1(title, content) {
9302
9316
  return dispatch(sendSuccessNotification(title, content));
@@ -9304,7 +9318,7 @@ var mapDispatchToProps$1i = function mapDispatchToProps(dispatch) {
9304
9318
  };
9305
9319
  };
9306
9320
 
9307
- var BaseForm = reactRedux.connect(null, mapDispatchToProps$1i)(BaseForm$1);
9321
+ var BaseForm = reactRedux.connect(null, mapDispatchToProps$1j)(BaseForm$1);
9308
9322
 
9309
9323
  var YearPicker = /*#__PURE__*/function (_Component) {
9310
9324
  _inherits(YearPicker, _Component);
@@ -10339,7 +10353,7 @@ var mapStateToProps$1B = function mapStateToProps(state) {
10339
10353
  };
10340
10354
  };
10341
10355
 
10342
- var mapDispatchToProps$1h = function mapDispatchToProps(dispatch) {
10356
+ var mapDispatchToProps$1i = function mapDispatchToProps(dispatch) {
10343
10357
  return {
10344
10358
  sendSuccessNotification: function sendSuccessNotification$1(title, content) {
10345
10359
  return dispatch(sendSuccessNotification(title, content));
@@ -10347,7 +10361,7 @@ var mapDispatchToProps$1h = function mapDispatchToProps(dispatch) {
10347
10361
  };
10348
10362
  };
10349
10363
 
10350
- var DocumentRequestForm = reactRedux.connect(mapStateToProps$1B, mapDispatchToProps$1h)(DocumentRequestFormComponent);
10364
+ var DocumentRequestForm = reactRedux.connect(mapStateToProps$1B, mapDispatchToProps$1i)(DocumentRequestFormComponent);
10351
10365
 
10352
10366
  var DynamicResponsive = createCommonjsModule(function (module, exports) {
10353
10367
 
@@ -14198,7 +14212,7 @@ LoginWithLocalAccountLayout.defaultProps = {
14198
14212
  };
14199
14213
  var LoginWithLocalAccountComponent = Overridable__default["default"].component('LoginWithLocalAccount', LoginWithLocalAccount$1);
14200
14214
 
14201
- var mapDispatchToProps$1g = function mapDispatchToProps(dispatch) {
14215
+ var mapDispatchToProps$1h = function mapDispatchToProps(dispatch) {
14202
14216
  return {
14203
14217
  fetchUserProfile: function fetchUserProfile$1() {
14204
14218
  return dispatch(fetchUserProfile());
@@ -14206,7 +14220,7 @@ var mapDispatchToProps$1g = function mapDispatchToProps(dispatch) {
14206
14220
  };
14207
14221
  };
14208
14222
 
14209
- var LoginWithLocalAccount = reactRedux.connect(null, mapDispatchToProps$1g)(LoginWithLocalAccountComponent);
14223
+ var LoginWithLocalAccount = reactRedux.connect(null, mapDispatchToProps$1h)(LoginWithLocalAccountComponent);
14210
14224
 
14211
14225
  var _excluded$i = ["nextUrl", "url", "hasError", "errorMessage"];
14212
14226
 
@@ -14582,7 +14596,7 @@ var mapStateToProps$1A = function mapStateToProps(state) {
14582
14596
  };
14583
14597
  };
14584
14598
 
14585
- var mapDispatchToProps$1f = function mapDispatchToProps(dispatch) {
14599
+ var mapDispatchToProps$1g = function mapDispatchToProps(dispatch) {
14586
14600
  return {
14587
14601
  fetchUserProfile: function fetchUserProfile$1() {
14588
14602
  return dispatch(fetchUserProfile());
@@ -14590,7 +14604,7 @@ var mapDispatchToProps$1f = function mapDispatchToProps(dispatch) {
14590
14604
  };
14591
14605
  };
14592
14606
 
14593
- var Login = reactRedux.connect(mapStateToProps$1A, mapDispatchToProps$1f)(LoginComponent);
14607
+ var Login = reactRedux.connect(mapStateToProps$1A, mapDispatchToProps$1g)(LoginComponent);
14594
14608
 
14595
14609
  var ConfirmEmailLayout = function ConfirmEmailLayout(_ref) {
14596
14610
  var isConfirmed = _ref.isConfirmed,
@@ -14697,7 +14711,7 @@ var mapStateToProps$1z = function mapStateToProps(state) {
14697
14711
  };
14698
14712
  };
14699
14713
 
14700
- var mapDispatchToProps$1e = function mapDispatchToProps(dispatch) {
14714
+ var mapDispatchToProps$1f = function mapDispatchToProps(dispatch) {
14701
14715
  return {
14702
14716
  sendErrorNotification: function sendErrorNotification(title, content) {
14703
14717
  return dispatch(addNotification(title, content, 'error'));
@@ -14711,7 +14725,7 @@ var mapDispatchToProps$1e = function mapDispatchToProps(dispatch) {
14711
14725
  };
14712
14726
  };
14713
14727
 
14714
- var ConfirmEmail = reactRedux.connect(mapStateToProps$1z, mapDispatchToProps$1e)(ConfirmEmailComponent);
14728
+ var ConfirmEmail = reactRedux.connect(mapStateToProps$1z, mapDispatchToProps$1f)(ConfirmEmailComponent);
14715
14729
 
14716
14730
  var HttpError = /*#__PURE__*/function (_Component) {
14717
14731
  _inherits(HttpError, _Component);
@@ -15132,7 +15146,7 @@ var mapStateToProps$1y = function mapStateToProps(state) {
15132
15146
  };
15133
15147
  };
15134
15148
 
15135
- var mapDispatchToProps$1d = function mapDispatchToProps(dispatch) {
15149
+ var mapDispatchToProps$1e = function mapDispatchToProps(dispatch) {
15136
15150
  return {
15137
15151
  sendErrorNotification: function sendErrorNotification(title, content) {
15138
15152
  return dispatch(addNotification(title, content, 'error'));
@@ -15143,7 +15157,7 @@ var mapDispatchToProps$1d = function mapDispatchToProps(dispatch) {
15143
15157
  };
15144
15158
  };
15145
15159
 
15146
- var Sidebar = reactRedux.connect(mapStateToProps$1y, mapDispatchToProps$1d)(SidebarComponent);
15160
+ var Sidebar = reactRedux.connect(mapStateToProps$1y, mapDispatchToProps$1e)(SidebarComponent);
15147
15161
 
15148
15162
  var FETCH_BANNER_EVERY_SECS = 60 * 5; // 5 minutes
15149
15163
 
@@ -15298,7 +15312,7 @@ var mapStateToProps$1x = function mapStateToProps(state) {
15298
15312
  };
15299
15313
  };
15300
15314
 
15301
- var mapDispatchToProps$1c = function mapDispatchToProps(dispatch) {
15315
+ var mapDispatchToProps$1d = function mapDispatchToProps(dispatch) {
15302
15316
  return {
15303
15317
  fetchBanner: function fetchBanner$1() {
15304
15318
  return dispatch(fetchBanner());
@@ -15309,7 +15323,7 @@ var mapDispatchToProps$1c = function mapDispatchToProps(dispatch) {
15309
15323
  };
15310
15324
  };
15311
15325
 
15312
- var Banner = reactRedux.connect(mapStateToProps$1x, mapDispatchToProps$1c)(BannerComponent);
15326
+ var Banner = reactRedux.connect(mapStateToProps$1x, mapDispatchToProps$1d)(BannerComponent);
15313
15327
 
15314
15328
  var IS_LOADING$H = 'fetchOrderDetails/IS_LOADING';
15315
15329
  var SUCCESS$H = 'fetchOrderDetails/SUCCESS';
@@ -16426,7 +16440,7 @@ var mapStateToProps$1w = function mapStateToProps(state) {
16426
16440
  };
16427
16441
  };
16428
16442
 
16429
- var mapDispatchToProps$1b = function mapDispatchToProps(dispatch) {
16443
+ var mapDispatchToProps$1c = function mapDispatchToProps(dispatch) {
16430
16444
  return {
16431
16445
  fetchOrderDetails: function fetchOrderDetails$1(orderPid) {
16432
16446
  return dispatch(fetchOrderDetails(orderPid));
@@ -16434,7 +16448,7 @@ var mapDispatchToProps$1b = function mapDispatchToProps(dispatch) {
16434
16448
  };
16435
16449
  };
16436
16450
 
16437
- var OrderDetails = reactRedux.connect(mapStateToProps$1w, mapDispatchToProps$1b)(OrderDetails$1);
16451
+ var OrderDetails = reactRedux.connect(mapStateToProps$1w, mapDispatchToProps$1c)(OrderDetails$1);
16438
16452
 
16439
16453
  /**
16440
16454
  * Generic React JSONSchema Form widget to search and select hits
@@ -18333,6 +18347,20 @@ var RJSFVocabulary = /*#__PURE__*/function (_Component) {
18333
18347
 
18334
18348
  _this = _super.call(this, props);
18335
18349
 
18350
+ _this.validateValue = function (value, options, isLoading) {
18351
+ var noOptionSelected = !value;
18352
+ if (noOptionSelected) return true;
18353
+ if (!options.length || isLoading) return;
18354
+
18355
+ var foundValue = function foundValue(value) {
18356
+ return options.find(function (option) {
18357
+ return option.value === value;
18358
+ });
18359
+ };
18360
+
18361
+ return !!foundValue(value);
18362
+ };
18363
+
18336
18364
  _this.serializer = function (hit) {
18337
18365
  return {
18338
18366
  key: hit.metadata.key,
@@ -18453,12 +18481,17 @@ var RJSFVocabulary = /*#__PURE__*/function (_Component) {
18453
18481
  isLoading = _this$state.isLoading,
18454
18482
  value = _this$state.value,
18455
18483
  error = _this$state.error;
18484
+ var valueIsValid = this.validateValue(value, options, isLoading);
18485
+ var invalidValueError = {
18486
+ content: ' Invalid option was selected',
18487
+ pointing: 'above'
18488
+ };
18456
18489
  return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Form.Select, {
18457
18490
  fluid: true,
18458
18491
  selection: true,
18459
18492
  options: options,
18460
18493
  label: label,
18461
- value: value,
18494
+ value: valueIsValid ? value : undefined,
18462
18495
  clearable: true,
18463
18496
  required: required,
18464
18497
  autoFocus: autofocus,
@@ -18466,7 +18499,8 @@ var RJSFVocabulary = /*#__PURE__*/function (_Component) {
18466
18499
  onChange: this.handleChange,
18467
18500
  disabled: isLoading || readonly,
18468
18501
  loading: isLoading,
18469
- noResultsMessage: error ? error : 'No results found'
18502
+ noResultsMessage: error ? error : 'No results found',
18503
+ error: !valueIsValid && invalidValueError
18470
18504
  });
18471
18505
  }
18472
18506
  }]);
@@ -18646,6 +18680,30 @@ var RJSForm$1 = /*#__PURE__*/function (_Component) {
18646
18680
 
18647
18681
  _this = _super.call(this, props);
18648
18682
 
18683
+ _this.ignoreEnterEvent = function (inputElements) {
18684
+ /* For unknown reasons empty fields are spawned when pressing
18685
+ the 'enter' key inside a RJSF input element so we have to manually prevent it*/
18686
+ var _iterator = _createForOfIteratorHelper(inputElements),
18687
+ _step;
18688
+
18689
+ try {
18690
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
18691
+ var input = _step.value;
18692
+ var isRJSFInput = input.id.includes('root');
18693
+
18694
+ if (isRJSFInput) {
18695
+ input.onkeydown = function (event) {
18696
+ return event.key === 'Enter' ? event.preventDefault() : null;
18697
+ };
18698
+ }
18699
+ }
18700
+ } catch (err) {
18701
+ _iterator.e(err);
18702
+ } finally {
18703
+ _iterator.f();
18704
+ }
18705
+ };
18706
+
18649
18707
  _this.onSubmit = /*#__PURE__*/function () {
18650
18708
  var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(_ref, _) {
18651
18709
  var formData, _this$props, sendSuccessNotification, submitAction, successCallback, successMessage, response;
@@ -18706,6 +18764,12 @@ var RJSForm$1 = /*#__PURE__*/function (_Component) {
18706
18764
  }
18707
18765
 
18708
18766
  _createClass(RJSForm, [{
18767
+ key: "componentDidMount",
18768
+ value: function componentDidMount() {
18769
+ var inputs = document.getElementsByTagName('input');
18770
+ this.ignoreEnterEvent(inputs);
18771
+ }
18772
+ }, {
18709
18773
  key: "getGenericError",
18710
18774
  value: function getGenericError(message) {
18711
18775
  return {
@@ -18728,12 +18792,12 @@ var RJSForm$1 = /*#__PURE__*/function (_Component) {
18728
18792
  extraErrors = this.getGenericError(message);
18729
18793
  } else {
18730
18794
  // prepare errors for the form
18731
- var _iterator = _createForOfIteratorHelper(errors),
18732
- _step;
18795
+ var _iterator2 = _createForOfIteratorHelper(errors),
18796
+ _step2;
18733
18797
 
18734
18798
  try {
18735
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
18736
- var fieldError = _step.value;
18799
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
18800
+ var fieldError = _step2.value;
18737
18801
 
18738
18802
  // if the field is empty, the error was thrown by the backend
18739
18803
  // after validating via Marshmallow loaders
@@ -18748,9 +18812,9 @@ var RJSForm$1 = /*#__PURE__*/function (_Component) {
18748
18812
  };
18749
18813
  }
18750
18814
  } catch (err) {
18751
- _iterator.e(err);
18815
+ _iterator2.e(err);
18752
18816
  } finally {
18753
- _iterator.f();
18817
+ _iterator2.f();
18754
18818
  }
18755
18819
  }
18756
18820
 
@@ -18837,7 +18901,7 @@ RJSForm$1.defaultProps = {
18837
18901
  successCallback: null
18838
18902
  };
18839
18903
 
18840
- var mapDispatchToProps$1a = function mapDispatchToProps(dispatch) {
18904
+ var mapDispatchToProps$1b = function mapDispatchToProps(dispatch) {
18841
18905
  return {
18842
18906
  sendSuccessNotification: function sendSuccessNotification$1(title, content) {
18843
18907
  return dispatch(sendSuccessNotification(title, content));
@@ -18845,7 +18909,7 @@ var mapDispatchToProps$1a = function mapDispatchToProps(dispatch) {
18845
18909
  };
18846
18910
  };
18847
18911
 
18848
- var RJSForm = reactRedux.connect(null, mapDispatchToProps$1a)(RJSForm$1);
18912
+ var RJSForm = reactRedux.connect(null, mapDispatchToProps$1b)(RJSForm$1);
18849
18913
 
18850
18914
  var schema$9 = function schema() {
18851
18915
  var _schema = {
@@ -20361,7 +20425,7 @@ var checkin = function checkin(barcode, onSuccess) {
20361
20425
  type: LOAN_HAS_ERROR,
20362
20426
  payload: _context.t0
20363
20427
  });
20364
- dispatch(sendErrorNotification('Error'));
20428
+ dispatch(sendErrorNotification(_context.t0));
20365
20429
 
20366
20430
  case 14:
20367
20431
  case "end":
@@ -20444,7 +20508,7 @@ var clearResults$2 = function clearResults() {
20444
20508
  };
20445
20509
  };
20446
20510
 
20447
- var mapDispatchToProps$19 = function mapDispatchToProps(dispatch) {
20511
+ var mapDispatchToProps$1a = function mapDispatchToProps(dispatch) {
20448
20512
  return {
20449
20513
  checkin: function checkin$1(barcode, onSuccess) {
20450
20514
  return dispatch(checkin(barcode, onSuccess));
@@ -20458,7 +20522,7 @@ var mapStateToProps$1v = function mapStateToProps(state) {
20458
20522
  };
20459
20523
  };
20460
20524
 
20461
- var ItemsSearch$2 = reactRedux.connect(mapStateToProps$1v, mapDispatchToProps$19)(ItemsSearch$3);
20525
+ var ItemsSearch$2 = reactRedux.connect(mapStateToProps$1v, mapDispatchToProps$1a)(ItemsSearch$3);
20462
20526
 
20463
20527
  var ItemCirculation$2 = /*#__PURE__*/function (_Component) {
20464
20528
  _inherits(ItemCirculation, _Component);
@@ -20671,7 +20735,7 @@ CheckedInItems$1.defaultProps = {
20671
20735
  items: []
20672
20736
  };
20673
20737
 
20674
- var mapDispatchToProps$18 = function mapDispatchToProps(dispatch) {
20738
+ var mapDispatchToProps$19 = function mapDispatchToProps(dispatch) {
20675
20739
  return {
20676
20740
  clearResults: function clearResults() {
20677
20741
  return dispatch(clearResults$2());
@@ -20685,7 +20749,7 @@ var mapStateToProps$1u = function mapStateToProps(state) {
20685
20749
  };
20686
20750
  };
20687
20751
 
20688
- var CheckedInItems = reactRedux.connect(mapStateToProps$1u, mapDispatchToProps$18)(CheckedInItems$1);
20752
+ var CheckedInItems = reactRedux.connect(mapStateToProps$1u, mapDispatchToProps$19)(CheckedInItems$1);
20689
20753
 
20690
20754
  var CheckIn = /*#__PURE__*/function (_Component) {
20691
20755
  _inherits(CheckIn, _Component);
@@ -20910,7 +20974,7 @@ var checkOutSearch = function checkOutSearch(term) {
20910
20974
  type: SEARCH_HAS_ERROR,
20911
20975
  payload: _context3.t0
20912
20976
  });
20913
- dispatch(sendErrorNotification('Error'));
20977
+ dispatch(sendErrorNotification(_context3.t0));
20914
20978
 
20915
20979
  case 21:
20916
20980
  case "end":
@@ -20926,7 +20990,7 @@ var checkOutSearch = function checkOutSearch(term) {
20926
20990
  }();
20927
20991
  };
20928
20992
 
20929
- var mapDispatchToProps$17 = function mapDispatchToProps(dispatch) {
20993
+ var mapDispatchToProps$18 = function mapDispatchToProps(dispatch) {
20930
20994
  return {
20931
20995
  checkOutSearch: function checkOutSearch$1(term) {
20932
20996
  return dispatch(checkOutSearch(term));
@@ -20943,7 +21007,7 @@ var mapStateToProps$1t = function mapStateToProps(state) {
20943
21007
  };
20944
21008
  };
20945
21009
 
20946
- var CheckOutSearch = reactRedux.connect(mapStateToProps$1t, mapDispatchToProps$17)(CheckOutSearch$1);
21010
+ var CheckOutSearch = reactRedux.connect(mapStateToProps$1t, mapDispatchToProps$18)(CheckOutSearch$1);
20947
21011
 
20948
21012
  var ItemList = function ItemList(_ref) {
20949
21013
  var items = _ref.items;
@@ -21328,7 +21392,7 @@ CheckOutResults$1.defaultProps = {
21328
21392
  isLoading: false
21329
21393
  };
21330
21394
 
21331
- var mapDispatchToProps$16 = function mapDispatchToProps(dispatch) {
21395
+ var mapDispatchToProps$17 = function mapDispatchToProps(dispatch) {
21332
21396
  return {
21333
21397
  clearResults: function clearResults() {
21334
21398
  return dispatch(clearResults$1());
@@ -21345,7 +21409,7 @@ var mapStateToProps$1s = function mapStateToProps(state) {
21345
21409
  };
21346
21410
  };
21347
21411
 
21348
- var CheckOutResults = reactRedux.connect(mapStateToProps$1s, mapDispatchToProps$16)(CheckOutResults$1);
21412
+ var CheckOutResults = reactRedux.connect(mapStateToProps$1s, mapDispatchToProps$17)(CheckOutResults$1);
21349
21413
 
21350
21414
  var CheckOut = /*#__PURE__*/function (_Component) {
21351
21415
  _inherits(CheckOut, _Component);
@@ -22906,7 +22970,7 @@ var mapStateToProps$1r = function mapStateToProps(state) {
22906
22970
  };
22907
22971
  };
22908
22972
 
22909
- var mapDispatchToProps$15 = function mapDispatchToProps(dispatch) {
22973
+ var mapDispatchToProps$16 = function mapDispatchToProps(dispatch) {
22910
22974
  return {
22911
22975
  fetchReferences: function fetchReferences$1(promiseArray) {
22912
22976
  return dispatch(fetchReferences(promiseArray));
@@ -22914,7 +22978,7 @@ var mapDispatchToProps$15 = function mapDispatchToProps(dispatch) {
22914
22978
  };
22915
22979
  };
22916
22980
 
22917
- var DeleteRecordModal = reactRedux.connect(mapStateToProps$1r, mapDispatchToProps$15)(DeleteRecordModal$1);
22981
+ var DeleteRecordModal = reactRedux.connect(mapStateToProps$1r, mapDispatchToProps$16)(DeleteRecordModal$1);
22918
22982
 
22919
22983
  function formatPidTypeToName(pidType) {
22920
22984
  switch (pidType) {
@@ -23138,7 +23202,7 @@ var DocumentDeleteModal$1 = /*#__PURE__*/function (_Component) {
23138
23202
  return DocumentDeleteModal;
23139
23203
  }(React.Component);
23140
23204
 
23141
- var mapDispatchToProps$14 = function mapDispatchToProps(dispatch) {
23205
+ var mapDispatchToProps$15 = function mapDispatchToProps(dispatch) {
23142
23206
  return {
23143
23207
  deleteDocument: function deleteDocument$1(documentPid) {
23144
23208
  return dispatch(deleteDocument(documentPid));
@@ -23146,7 +23210,7 @@ var mapDispatchToProps$14 = function mapDispatchToProps(dispatch) {
23146
23210
  };
23147
23211
  };
23148
23212
 
23149
- var DocumentDeleteModal = reactRedux.connect(null, mapDispatchToProps$14)(DocumentDeleteModal$1);
23213
+ var DocumentDeleteModal = reactRedux.connect(null, mapDispatchToProps$15)(DocumentDeleteModal$1);
23150
23214
 
23151
23215
  var DocumentActionMenu$1 = /*#__PURE__*/function (_Component) {
23152
23216
  _inherits(DocumentActionMenu, _Component);
@@ -23292,7 +23356,7 @@ var mapStateToProps$1q = function mapStateToProps(state) {
23292
23356
  };
23293
23357
  };
23294
23358
 
23295
- var mapDispatchToProps$13 = function mapDispatchToProps(dispatch) {
23359
+ var mapDispatchToProps$14 = function mapDispatchToProps(dispatch) {
23296
23360
  return {
23297
23361
  deleteDocument: function deleteDocument$1(documentPid) {
23298
23362
  return dispatch(deleteDocument(documentPid));
@@ -23304,77 +23368,7 @@ var mapDispatchToProps$13 = function mapDispatchToProps(dispatch) {
23304
23368
  };
23305
23369
  };
23306
23370
 
23307
- var DocumentActionMenu = reactRedux.connect(mapStateToProps$1q, mapDispatchToProps$13)(DocumentActionMenu$1);
23308
-
23309
- var DocumentExtras = /*#__PURE__*/function (_Component) {
23310
- _inherits(DocumentExtras, _Component);
23311
-
23312
- var _super = _createSuper(DocumentExtras);
23313
-
23314
- function DocumentExtras() {
23315
- var _this;
23316
-
23317
- _classCallCheck(this, DocumentExtras);
23318
-
23319
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
23320
- args[_key] = arguments[_key];
23321
- }
23322
-
23323
- _this = _super.call.apply(_super, [this].concat(args));
23324
-
23325
- _this.prepareAlternativeTitle = function (element) {
23326
- var rows = [];
23327
- rows.push({
23328
- name: 'Alternative title',
23329
- value: /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List, {
23330
- bulleted: true
23331
- }, element.map(function (entry) {
23332
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, {
23333
- key: entry.value
23334
- }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Content, null, entry.value));
23335
- }))
23336
- });
23337
- return rows;
23338
- };
23339
-
23340
- _this.prepareAlternativeAbstracts = function (element) {
23341
- return [{
23342
- name: 'Abstract',
23343
- value: element
23344
- }];
23345
- };
23346
-
23347
- return _this;
23348
- }
23349
-
23350
- _createClass(DocumentExtras, [{
23351
- key: "render",
23352
- value: function render() {
23353
- var _this2 = this;
23354
-
23355
- var metadata = this.props.metadata;
23356
-
23357
- if (!_isEmpty__default["default"](metadata.alternative_titles) || !_isEmpty__default["default"](metadata.alternative_abstracts)) {
23358
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, !_isEmpty__default["default"](metadata.alternative_titles) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Header, {
23359
- as: "h3"
23360
- }, "Alternative titles"), /*#__PURE__*/React__default["default"].createElement(MetadataTable, {
23361
- rows: this.prepareAlternativeTitle(metadata.alternative_titles)
23362
- })), !_isEmpty__default["default"](metadata.alternative_abstracts) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, null), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Header, {
23363
- as: "h3"
23364
- }, "Publication info"), metadata.alternative_abstracts.map(function (element) {
23365
- return /*#__PURE__*/React__default["default"].createElement(MetadataTable, {
23366
- key: element,
23367
- rows: _this2.prepareAlternativeAbstracts(element)
23368
- });
23369
- })));
23370
- } else {
23371
- return 'No additional information.';
23372
- }
23373
- }
23374
- }]);
23375
-
23376
- return DocumentExtras;
23377
- }(React.Component);
23371
+ var DocumentActionMenu = reactRedux.connect(mapStateToProps$1q, mapDispatchToProps$14)(DocumentActionMenu$1);
23378
23372
 
23379
23373
  var LiteratureMetadataExtensions = function LiteratureMetadataExtensions(_ref) {
23380
23374
  var metadataExtensions = _ref.metadataExtensions,
@@ -24192,13 +24186,6 @@ var DocumentMetadata$3 = /*#__PURE__*/function (_Component) {
24192
24186
  document: document
24193
24187
  }));
24194
24188
  }
24195
- }, {
24196
- menuItem: 'Other',
24197
- render: function render() {
24198
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Tab.Pane, null, /*#__PURE__*/React__default["default"].createElement(DocumentExtras, {
24199
- metadata: document.metadata
24200
- }));
24201
- }
24202
24189
  }, {
24203
24190
  menuItem: 'System',
24204
24191
  render: function render() {
@@ -24258,7 +24245,7 @@ var mapStateToProps$1p = function mapStateToProps(state) {
24258
24245
  };
24259
24246
  };
24260
24247
 
24261
- var mapDispatchToProps$12 = function mapDispatchToProps(dispatch) {
24248
+ var mapDispatchToProps$13 = function mapDispatchToProps(dispatch) {
24262
24249
  return {
24263
24250
  fetchDocumentDetails: function fetchDocumentDetails$1(documentPid) {
24264
24251
  return dispatch(fetchDocumentDetails(documentPid));
@@ -24266,7 +24253,7 @@ var mapDispatchToProps$12 = function mapDispatchToProps(dispatch) {
24266
24253
  };
24267
24254
  };
24268
24255
 
24269
- var DocumentMetadata$2 = reactRedux.connect(mapStateToProps$1p, mapDispatchToProps$12)(DocumentMetadata$3);
24256
+ var DocumentMetadata$2 = reactRedux.connect(mapStateToProps$1p, mapDispatchToProps$13)(DocumentMetadata$3);
24270
24257
 
24271
24258
  var DocumentSummary$1 = /*#__PURE__*/function (_Component) {
24272
24259
  _inherits(DocumentSummary, _Component);
@@ -24582,7 +24569,7 @@ var mapStateToProps$1n = function mapStateToProps(state) {
24582
24569
  };
24583
24570
  };
24584
24571
 
24585
- var mapDispatchToProps$11 = function mapDispatchToProps(dispatch) {
24572
+ var mapDispatchToProps$12 = function mapDispatchToProps(dispatch) {
24586
24573
  return {
24587
24574
  fetchDocumentEItems: function fetchDocumentEItems$1(documentPid) {
24588
24575
  return dispatch(fetchDocumentEItems(documentPid));
@@ -24590,7 +24577,7 @@ var mapDispatchToProps$11 = function mapDispatchToProps(dispatch) {
24590
24577
  };
24591
24578
  };
24592
24579
 
24593
- var DocumentEItems$1 = reactRedux.connect(mapStateToProps$1n, mapDispatchToProps$11)(DocumentEItems$2);
24580
+ var DocumentEItems$1 = reactRedux.connect(mapStateToProps$1n, mapDispatchToProps$12)(DocumentEItems$2);
24594
24581
 
24595
24582
  var IS_LOADING$D = 'fetchDocumentItems/IS_LOADING';
24596
24583
  var SUCCESS$D = 'fetchDocumentItems/SUCCESS';
@@ -24772,7 +24759,7 @@ var mapStateToProps$1m = function mapStateToProps(state) {
24772
24759
  };
24773
24760
  };
24774
24761
 
24775
- var mapDispatchToProps$10 = function mapDispatchToProps(dispatch) {
24762
+ var mapDispatchToProps$11 = function mapDispatchToProps(dispatch) {
24776
24763
  return {
24777
24764
  fetchDocumentItems: function fetchDocumentItems$1(documentPid) {
24778
24765
  return dispatch(fetchDocumentItems(documentPid));
@@ -24780,7 +24767,7 @@ var mapDispatchToProps$10 = function mapDispatchToProps(dispatch) {
24780
24767
  };
24781
24768
  };
24782
24769
 
24783
- var DocumentItems$2 = reactRedux.connect(mapStateToProps$1m, mapDispatchToProps$10)(DocumentItems$3);
24770
+ var DocumentItems$2 = reactRedux.connect(mapStateToProps$1m, mapDispatchToProps$11)(DocumentItems$3);
24784
24771
 
24785
24772
  var IS_LOADING$C = 'fetchPendingLoansOnDocument/IS_LOADING';
24786
24773
  var SUCCESS$C = 'fetchPendingLoansOnDocument/SUCCESS';
@@ -24798,7 +24785,7 @@ var fetchPendingLoans = function fetchPendingLoans(documentPid) {
24798
24785
  });
24799
24786
  _context.prev = 1;
24800
24787
  _context.next = 4;
24801
- return loanApi.list(loanApi.query().withDocPid(documentPid).withState(invenioConfig.CIRCULATION.loanRequestStates).qs());
24788
+ return loanApi.list(loanApi.query().withDocPid(documentPid).withState(invenioConfig.CIRCULATION.loanRequestStates).sortByRequestStartDateAsc().qs());
24802
24789
 
24803
24790
  case 4:
24804
24791
  response = _context.sent;
@@ -24942,7 +24929,7 @@ var mapStateToProps$1l = function mapStateToProps(state) {
24942
24929
  };
24943
24930
  };
24944
24931
 
24945
- var mapDispatchToProps$$ = function mapDispatchToProps(dispatch) {
24932
+ var mapDispatchToProps$10 = function mapDispatchToProps(dispatch) {
24946
24933
  return {
24947
24934
  fetchPendingLoans: function fetchPendingLoans$1(documentPid) {
24948
24935
  return dispatch(fetchPendingLoans(documentPid));
@@ -24950,7 +24937,7 @@ var mapDispatchToProps$$ = function mapDispatchToProps(dispatch) {
24950
24937
  };
24951
24938
  };
24952
24939
 
24953
- var DocumentPendingLoans = reactRedux.connect(mapStateToProps$1l, mapDispatchToProps$$)(DocumentPendingLoans$1);
24940
+ var DocumentPendingLoans = reactRedux.connect(mapStateToProps$1l, mapDispatchToProps$10)(DocumentPendingLoans$1);
24954
24941
 
24955
24942
  var IS_LOADING$B = 'fetchDocumentStats/IS_LOADING';
24956
24943
  var SUCCESS$B = 'fetchDocumentStats/SUCCESS';
@@ -25179,7 +25166,7 @@ var mapStateToProps$1k = function mapStateToProps(state) {
25179
25166
  };
25180
25167
  };
25181
25168
 
25182
- var mapDispatchToProps$_ = function mapDispatchToProps(dispatch) {
25169
+ var mapDispatchToProps$$ = function mapDispatchToProps(dispatch) {
25183
25170
  return {
25184
25171
  fetchDocumentStats: function fetchDocumentStats$1(args) {
25185
25172
  return dispatch(fetchDocumentStats(args));
@@ -25187,7 +25174,7 @@ var mapDispatchToProps$_ = function mapDispatchToProps(dispatch) {
25187
25174
  };
25188
25175
  };
25189
25176
 
25190
- var DocumentStats$2 = reactRedux.connect(mapStateToProps$1k, mapDispatchToProps$_)(DocumentStats$3);
25177
+ var DocumentStats$2 = reactRedux.connect(mapStateToProps$1k, mapDispatchToProps$$)(DocumentStats$3);
25191
25178
 
25192
25179
  var _excluded$b = ["pidValue", "children"];
25193
25180
  var DocumentDetailsLink = /*#__PURE__*/function (_Component) {
@@ -25504,7 +25491,7 @@ RelationRemover$1.defaultProps = {
25504
25491
  trigger: null
25505
25492
  };
25506
25493
 
25507
- var mapDispatchToProps$Z = function mapDispatchToProps(dispatch) {
25494
+ var mapDispatchToProps$_ = function mapDispatchToProps(dispatch) {
25508
25495
  return {
25509
25496
  deleteRelation: function deleteRelation$1(referrer, related) {
25510
25497
  return dispatch(deleteRelation(referrer, related));
@@ -25512,7 +25499,7 @@ var mapDispatchToProps$Z = function mapDispatchToProps(dispatch) {
25512
25499
  };
25513
25500
  };
25514
25501
 
25515
- var RelationRemover = reactRedux.connect(null, mapDispatchToProps$Z)(RelationRemover$1);
25502
+ var RelationRemover = reactRedux.connect(null, mapDispatchToProps$_)(RelationRemover$1);
25516
25503
 
25517
25504
  var DocumentSelectListEntry = /*#__PURE__*/function (_Component) {
25518
25505
  _inherits(DocumentSelectListEntry, _Component);
@@ -25754,7 +25741,7 @@ var MultipleSelections$1 = /*#__PURE__*/function (_Component) {
25754
25741
  return MultipleSelections;
25755
25742
  }(React.Component);
25756
25743
 
25757
- var mapDispatchToProps$Y = function mapDispatchToProps(dispatch) {
25744
+ var mapDispatchToProps$Z = function mapDispatchToProps(dispatch) {
25758
25745
  return {
25759
25746
  removeSelection: function removeSelection$1(removePid) {
25760
25747
  return dispatch(removeSelection(removePid));
@@ -25768,7 +25755,7 @@ var mapStateToProps$1j = function mapStateToProps(state) {
25768
25755
  };
25769
25756
  };
25770
25757
 
25771
- var MultipleSelections = reactRedux.connect(mapStateToProps$1j, mapDispatchToProps$Y)(MultipleSelections$1);
25758
+ var MultipleSelections = reactRedux.connect(mapStateToProps$1j, mapDispatchToProps$Z)(MultipleSelections$1);
25772
25759
 
25773
25760
  var RelationModal$1 = /*#__PURE__*/function (_Component) {
25774
25761
  _inherits(RelationModal, _Component);
@@ -25899,7 +25886,7 @@ RelationModal$1.defaultProps = {
25899
25886
  disabledContent: null
25900
25887
  };
25901
25888
 
25902
- var mapDispatchToProps$X = function mapDispatchToProps(dispatch) {
25889
+ var mapDispatchToProps$Y = function mapDispatchToProps(dispatch) {
25903
25890
  return {
25904
25891
  createRelations: function createRelations$1(relationType, selections, extraRelationField, referrerRecord) {
25905
25892
  return dispatch(createRelations(relationType, selections, extraRelationField, referrerRecord));
@@ -25916,7 +25903,7 @@ var mapStateToProps$1i = function mapStateToProps(state) {
25916
25903
  };
25917
25904
  };
25918
25905
 
25919
- var RelationModal = reactRedux.connect(mapStateToProps$1i, mapDispatchToProps$X)(RelationModal$1);
25906
+ var RelationModal = reactRedux.connect(mapStateToProps$1i, mapDispatchToProps$Y)(RelationModal$1);
25920
25907
 
25921
25908
  var RelationSelector$1 = /*#__PURE__*/function (_Component) {
25922
25909
  _inherits(RelationSelector, _Component);
@@ -26031,7 +26018,7 @@ var mapStateToProps$1h = function mapStateToProps(state) {
26031
26018
  };
26032
26019
  };
26033
26020
 
26034
- var mapDispatchToProps$W = function mapDispatchToProps(dispatch) {
26021
+ var mapDispatchToProps$X = function mapDispatchToProps(dispatch) {
26035
26022
  return {
26036
26023
  selectOption: function selectOption$1(option) {
26037
26024
  return dispatch(selectOption(option));
@@ -26045,7 +26032,7 @@ var mapDispatchToProps$W = function mapDispatchToProps(dispatch) {
26045
26032
  };
26046
26033
  };
26047
26034
 
26048
- var RelationSelector = reactRedux.connect(mapStateToProps$1h, mapDispatchToProps$W)(RelationSelector$1);
26035
+ var RelationSelector = reactRedux.connect(mapStateToProps$1h, mapDispatchToProps$X)(RelationSelector$1);
26049
26036
 
26050
26037
  var SeriesCard = /*#__PURE__*/function (_Component) {
26051
26038
  _inherits(SeriesCard, _Component);
@@ -26588,7 +26575,7 @@ var SingleSelection$1 = /*#__PURE__*/function (_Component) {
26588
26575
  return SingleSelection;
26589
26576
  }(React.Component);
26590
26577
 
26591
- var mapDispatchToProps$V = function mapDispatchToProps(dispatch) {
26578
+ var mapDispatchToProps$W = function mapDispatchToProps(dispatch) {
26592
26579
  return {
26593
26580
  removeSelection: function removeSelection$1(removePid) {
26594
26581
  return dispatch(removeSelection(removePid));
@@ -26602,7 +26589,7 @@ var mapStateToProps$1d = function mapStateToProps(state) {
26602
26589
  };
26603
26590
  };
26604
26591
 
26605
- var SingleSelection = reactRedux.connect(mapStateToProps$1d, mapDispatchToProps$V)(SingleSelection$1);
26592
+ var SingleSelection = reactRedux.connect(mapStateToProps$1d, mapDispatchToProps$W)(SingleSelection$1);
26606
26593
 
26607
26594
  var RelationOtherModal$4 = /*#__PURE__*/function (_Component) {
26608
26595
  _inherits(RelationOtherModal, _Component);
@@ -28084,7 +28071,7 @@ var mapStateToProps$12 = function mapStateToProps(state) {
28084
28071
  };
28085
28072
  };
28086
28073
 
28087
- var mapDispatchToProps$U = function mapDispatchToProps(dispatch) {
28074
+ var mapDispatchToProps$V = function mapDispatchToProps(dispatch) {
28088
28075
  return {
28089
28076
  fetchDocumentDetails: function fetchDocumentDetails$1(documentPid) {
28090
28077
  return dispatch(fetchDocumentDetails(documentPid));
@@ -28092,7 +28079,7 @@ var mapDispatchToProps$U = function mapDispatchToProps(dispatch) {
28092
28079
  };
28093
28080
  };
28094
28081
 
28095
- var DocumentDetails$2 = reactRedux.connect(mapStateToProps$12, mapDispatchToProps$U)(DocumentDetails$3);
28082
+ var DocumentDetails$2 = reactRedux.connect(mapStateToProps$12, mapDispatchToProps$V)(DocumentDetails$3);
28096
28083
 
28097
28084
  var getSchemaFieldProps = function getSchemaFieldProps(fieldConfig) {
28098
28085
  var schemaProps = {};
@@ -30406,7 +30393,7 @@ var DocumentRequestActions$1 = /*#__PURE__*/function (_Component) {
30406
30393
  }(React.Component);
30407
30394
  DocumentRequestActions$1.defaultProps = {};
30408
30395
 
30409
- var mapDispatchToProps$T = function mapDispatchToProps(dispatch) {
30396
+ var mapDispatchToProps$U = function mapDispatchToProps(dispatch) {
30410
30397
  return {
30411
30398
  declineRequest: function declineRequest$1(pid, data) {
30412
30399
  return dispatch(declineRequest(pid, data));
@@ -30420,7 +30407,7 @@ var mapDispatchToProps$T = function mapDispatchToProps(dispatch) {
30420
30407
  };
30421
30408
  };
30422
30409
 
30423
- var DocumentRequestActions = reactRedux.connect(null, mapDispatchToProps$T)(DocumentRequestActions$1);
30410
+ var DocumentRequestActions = reactRedux.connect(null, mapDispatchToProps$U)(DocumentRequestActions$1);
30424
30411
 
30425
30412
  var DocumentRequestHeader = /*#__PURE__*/function (_Component) {
30426
30413
  _inherits(DocumentRequestHeader, _Component);
@@ -30772,7 +30759,7 @@ var AcceptStepPanel$1 = /*#__PURE__*/function (_Component) {
30772
30759
  return AcceptStepPanel;
30773
30760
  }(React.Component);
30774
30761
 
30775
- var mapDispatchToProps$S = function mapDispatchToProps(dispatch) {
30762
+ var mapDispatchToProps$T = function mapDispatchToProps(dispatch) {
30776
30763
  return {
30777
30764
  acceptRequest: function acceptRequest$1(documentRequestPid) {
30778
30765
  return dispatch(acceptRequest(documentRequestPid));
@@ -30780,7 +30767,7 @@ var mapDispatchToProps$S = function mapDispatchToProps(dispatch) {
30780
30767
  };
30781
30768
  };
30782
30769
 
30783
- var AcceptStepPanel = reactRedux.connect(null, mapDispatchToProps$S)(AcceptStepPanel$1);
30770
+ var AcceptStepPanel = reactRedux.connect(null, mapDispatchToProps$T)(AcceptStepPanel$1);
30784
30771
 
30785
30772
  /**
30786
30773
  * @callback customizedValueFunction
@@ -30914,7 +30901,7 @@ var ChooseDocumentStepPanel$1 = /*#__PURE__*/function (_Component) {
30914
30901
  return ChooseDocumentStepPanel;
30915
30902
  }(React.Component);
30916
30903
 
30917
- var mapDispatchToProps$R = function mapDispatchToProps(dispatch) {
30904
+ var mapDispatchToProps$S = function mapDispatchToProps(dispatch) {
30918
30905
  return {
30919
30906
  addDocument: function addDocument$1(pid, key) {
30920
30907
  return dispatch(addDocument(pid, key));
@@ -30922,7 +30909,7 @@ var mapDispatchToProps$R = function mapDispatchToProps(dispatch) {
30922
30909
  };
30923
30910
  };
30924
30911
 
30925
- var ChooseDocumentStepPanel = reactRedux.connect(null, mapDispatchToProps$R)(ChooseDocumentStepPanel$1);
30912
+ var ChooseDocumentStepPanel = reactRedux.connect(null, mapDispatchToProps$S)(ChooseDocumentStepPanel$1);
30926
30913
 
30927
30914
  var AcqProvider = /*#__PURE__*/function (_Component) {
30928
30915
  _inherits(AcqProvider, _Component);
@@ -31118,7 +31105,7 @@ var ChooseProviderStepPanel$1 = /*#__PURE__*/function (_Component3) {
31118
31105
  return ChooseProviderStepPanel;
31119
31106
  }(React.Component);
31120
31107
 
31121
- var mapDispatchToProps$Q = function mapDispatchToProps(dispatch) {
31108
+ var mapDispatchToProps$R = function mapDispatchToProps(dispatch) {
31122
31109
  return {
31123
31110
  addProvider: function addProvider$1(provDataPid, pid, pidType) {
31124
31111
  return dispatch(addProvider(provDataPid, pid, pidType));
@@ -31126,7 +31113,7 @@ var mapDispatchToProps$Q = function mapDispatchToProps(dispatch) {
31126
31113
  };
31127
31114
  };
31128
31115
 
31129
- var ChooseProviderStepPanel = reactRedux.connect(null, mapDispatchToProps$Q)(ChooseProviderStepPanel$1);
31116
+ var ChooseProviderStepPanel = reactRedux.connect(null, mapDispatchToProps$R)(ChooseProviderStepPanel$1);
31130
31117
 
31131
31118
  var DocumentRequestStepPanels = /*#__PURE__*/function (_Component) {
31132
31119
  _inherits(DocumentRequestStepPanels, _Component);
@@ -31244,8 +31231,8 @@ var DocumentRequestStepsHeader = /*#__PURE__*/function (_Component2) {
31244
31231
  step: 1,
31245
31232
  currentStep: currentStep,
31246
31233
  iconName: "truck",
31247
- title: "Select provider",
31248
- description: "Purchase or borrow from another library"
31234
+ title: "Select workflow",
31235
+ description: "Inter-library loan or acquisition order"
31249
31236
  }), /*#__PURE__*/React__default["default"].createElement(DocumentRequestStep, {
31250
31237
  step: 2,
31251
31238
  currentStep: currentStep,
@@ -31392,7 +31379,7 @@ var mapStateToProps$11 = function mapStateToProps(state) {
31392
31379
  };
31393
31380
  };
31394
31381
 
31395
- var mapDispatchToProps$P = function mapDispatchToProps(dispatch) {
31382
+ var mapDispatchToProps$Q = function mapDispatchToProps(dispatch) {
31396
31383
  return {
31397
31384
  fetchDocumentRequestDetails: function fetchDocumentRequestDetails$1(documentRequestPid) {
31398
31385
  return dispatch(fetchDocumentRequestDetails(documentRequestPid));
@@ -31400,7 +31387,7 @@ var mapDispatchToProps$P = function mapDispatchToProps(dispatch) {
31400
31387
  };
31401
31388
  };
31402
31389
 
31403
- var DocumentRequestDetails = reactRedux.connect(mapStateToProps$11, mapDispatchToProps$P)(DocumentRequestDetails$1);
31390
+ var DocumentRequestDetails = reactRedux.connect(mapStateToProps$11, mapDispatchToProps$Q)(DocumentRequestDetails$1);
31404
31391
 
31405
31392
  var schema$7 = function schema() {
31406
31393
  var _invenioConfig$DOCUME;
@@ -32448,7 +32435,7 @@ var mapStateToProps$10 = function mapStateToProps(state) {
32448
32435
  };
32449
32436
  };
32450
32437
 
32451
- var mapDispatchToProps$O = function mapDispatchToProps(dispatch) {
32438
+ var mapDispatchToProps$P = function mapDispatchToProps(dispatch) {
32452
32439
  return {
32453
32440
  sendErrorNotification: function sendErrorNotification(title, message) {
32454
32441
  return dispatch(addNotification(title, message, 'error'));
@@ -32462,7 +32449,7 @@ var mapDispatchToProps$O = function mapDispatchToProps(dispatch) {
32462
32449
  };
32463
32450
  };
32464
32451
 
32465
- var EItemFiles = reactRedux.connect(mapStateToProps$10, mapDispatchToProps$O)(EItemFiles$1);
32452
+ var EItemFiles = reactRedux.connect(mapStateToProps$10, mapDispatchToProps$P)(EItemFiles$1);
32466
32453
 
32467
32454
  var EItemHeader = /*#__PURE__*/function (_Component) {
32468
32455
  _inherits(EItemHeader, _Component);
@@ -32676,7 +32663,7 @@ var mapStateToProps$$ = function mapStateToProps(state) {
32676
32663
  };
32677
32664
  };
32678
32665
 
32679
- var mapDispatchToProps$N = function mapDispatchToProps(dispatch) {
32666
+ var mapDispatchToProps$O = function mapDispatchToProps(dispatch) {
32680
32667
  return {
32681
32668
  deleteEItem: function deleteEItem$1(eitemPid) {
32682
32669
  return dispatch(deleteEItem(eitemPid));
@@ -32684,7 +32671,7 @@ var mapDispatchToProps$N = function mapDispatchToProps(dispatch) {
32684
32671
  };
32685
32672
  };
32686
32673
 
32687
- var EItemMetadata = reactRedux.connect(mapStateToProps$$, mapDispatchToProps$N)(EItemMetadata$1);
32674
+ var EItemMetadata = reactRedux.connect(mapStateToProps$$, mapDispatchToProps$O)(EItemMetadata$1);
32688
32675
 
32689
32676
  var UploadButton$1 = /*#__PURE__*/function (_React$Component) {
32690
32677
  _inherits(UploadButton, _React$Component);
@@ -32786,7 +32773,7 @@ var mapStateToProps$_ = function mapStateToProps(state) {
32786
32773
  };
32787
32774
  };
32788
32775
 
32789
- var mapDispatchToProps$M = function mapDispatchToProps(dispatch) {
32776
+ var mapDispatchToProps$N = function mapDispatchToProps(dispatch) {
32790
32777
  return {
32791
32778
  sendErrorNotification: function sendErrorNotification(title, message) {
32792
32779
  return dispatch(addNotification(title, message, 'error'));
@@ -32797,7 +32784,7 @@ var mapDispatchToProps$M = function mapDispatchToProps(dispatch) {
32797
32784
  };
32798
32785
  };
32799
32786
 
32800
- var UploadButton = reactRedux.connect(mapStateToProps$_, mapDispatchToProps$M)(UploadButton$1);
32787
+ var UploadButton = reactRedux.connect(mapStateToProps$_, mapDispatchToProps$N)(UploadButton$1);
32801
32788
 
32802
32789
  var EItemActionMenu$1 = /*#__PURE__*/function (_Component) {
32803
32790
  _inherits(EItemActionMenu, _Component);
@@ -32876,7 +32863,7 @@ var mapStateToProps$Z = function mapStateToProps(state) {
32876
32863
  };
32877
32864
  };
32878
32865
 
32879
- var mapDispatchToProps$L = function mapDispatchToProps(dispatch) {
32866
+ var mapDispatchToProps$M = function mapDispatchToProps(dispatch) {
32880
32867
  return {
32881
32868
  deleteEItem: function deleteEItem$1(itemPid) {
32882
32869
  return dispatch(deleteEItem(itemPid));
@@ -32884,7 +32871,7 @@ var mapDispatchToProps$L = function mapDispatchToProps(dispatch) {
32884
32871
  };
32885
32872
  };
32886
32873
 
32887
- var EItemActionMenu = reactRedux.connect(mapStateToProps$Z, mapDispatchToProps$L)(EItemActionMenu$1);
32874
+ var EItemActionMenu = reactRedux.connect(mapStateToProps$Z, mapDispatchToProps$M)(EItemActionMenu$1);
32888
32875
 
32889
32876
  var EItemDetails$1 = /*#__PURE__*/function (_Component) {
32890
32877
  _inherits(EItemDetails, _Component);
@@ -32981,7 +32968,7 @@ var mapStateToProps$Y = function mapStateToProps(state) {
32981
32968
  };
32982
32969
  };
32983
32970
 
32984
- var mapDispatchToProps$K = function mapDispatchToProps(dispatch) {
32971
+ var mapDispatchToProps$L = function mapDispatchToProps(dispatch) {
32985
32972
  return {
32986
32973
  fetchEItemDetails: function fetchEItemDetails$1(eitemPid) {
32987
32974
  return dispatch(fetchEItemDetails(eitemPid));
@@ -32989,7 +32976,7 @@ var mapDispatchToProps$K = function mapDispatchToProps(dispatch) {
32989
32976
  };
32990
32977
  };
32991
32978
 
32992
- var EItemDetails = reactRedux.connect(mapStateToProps$Y, mapDispatchToProps$K)(EItemDetails$1);
32979
+ var EItemDetails = reactRedux.connect(mapStateToProps$Y, mapDispatchToProps$L)(EItemDetails$1);
32993
32980
 
32994
32981
  var schema$6 = function schema() {
32995
32982
  var _schema = {
@@ -35584,7 +35571,7 @@ var mapStateToProps$X = function mapStateToProps(state) {
35584
35571
  };
35585
35572
  };
35586
35573
 
35587
- var mapDispatchToProps$J = function mapDispatchToProps(dispatch) {
35574
+ var mapDispatchToProps$K = function mapDispatchToProps(dispatch) {
35588
35575
  return {
35589
35576
  borrowingRequestLoanExtensionAccept: function borrowingRequestLoanExtensionAccept$1(brwReqPid, loanEndDate) {
35590
35577
  return dispatch(borrowingRequestLoanExtensionAccept(brwReqPid, loanEndDate));
@@ -35595,7 +35582,7 @@ var mapDispatchToProps$J = function mapDispatchToProps(dispatch) {
35595
35582
  };
35596
35583
  };
35597
35584
 
35598
- var BorrowingRequestLoanExtension = reactRedux.connect(mapStateToProps$X, mapDispatchToProps$J)(BorrowingRequestLoanExtension$1);
35585
+ var BorrowingRequestLoanExtension = reactRedux.connect(mapStateToProps$X, mapDispatchToProps$K)(BorrowingRequestLoanExtension$1);
35599
35586
 
35600
35587
  var CreateLoanButton = /*#__PURE__*/function (_React$Component) {
35601
35588
  _inherits(CreateLoanButton, _React$Component);
@@ -35883,7 +35870,7 @@ var mapStateToProps$W = function mapStateToProps(state) {
35883
35870
  };
35884
35871
  };
35885
35872
 
35886
- var mapDispatchToProps$I = function mapDispatchToProps(dispatch) {
35873
+ var mapDispatchToProps$J = function mapDispatchToProps(dispatch) {
35887
35874
  return {
35888
35875
  borrowingRequestPatronLoanCreate: function borrowingRequestPatronLoanCreate$1(brwReqPid, loanStartDate, loanEndDate) {
35889
35876
  return dispatch(borrowingRequestPatronLoanCreate(brwReqPid, loanStartDate, loanEndDate));
@@ -35891,7 +35878,7 @@ var mapDispatchToProps$I = function mapDispatchToProps(dispatch) {
35891
35878
  };
35892
35879
  };
35893
35880
 
35894
- var BorrowingRequestPatronLoan = reactRedux.connect(mapStateToProps$W, mapDispatchToProps$I)(BorrowingRequestPatronLoan$1);
35881
+ var BorrowingRequestPatronLoan = reactRedux.connect(mapStateToProps$W, mapDispatchToProps$J)(BorrowingRequestPatronLoan$1);
35895
35882
 
35896
35883
  var Loan$1 = /*#__PURE__*/function (_React$Component) {
35897
35884
  _inherits(Loan, _React$Component);
@@ -36559,7 +36546,7 @@ var mapStateToProps$V = function mapStateToProps(state) {
36559
36546
  };
36560
36547
  };
36561
36548
 
36562
- var mapDispatchToProps$H = function mapDispatchToProps(dispatch) {
36549
+ var mapDispatchToProps$I = function mapDispatchToProps(dispatch) {
36563
36550
  return {
36564
36551
  fetchBorrowingRequestDetails: function fetchBorrowingRequestDetails$1(brwReqPid) {
36565
36552
  return dispatch(fetchBorrowingRequestDetails(brwReqPid));
@@ -36567,7 +36554,7 @@ var mapDispatchToProps$H = function mapDispatchToProps(dispatch) {
36567
36554
  };
36568
36555
  };
36569
36556
 
36570
- var BorrowingRequestDetails = reactRedux.connect(mapStateToProps$V, mapDispatchToProps$H)(BorrowingRequestDetails$1);
36557
+ var BorrowingRequestDetails = reactRedux.connect(mapStateToProps$V, mapDispatchToProps$I)(BorrowingRequestDetails$1);
36571
36558
 
36572
36559
  var schema$5 = function schema() {
36573
36560
  var _schema = {
@@ -37628,7 +37615,7 @@ var mapStateToProps$U = function mapStateToProps(state) {
37628
37615
  };
37629
37616
  };
37630
37617
 
37631
- var mapDispatchToProps$G = function mapDispatchToProps(dispatch) {
37618
+ var mapDispatchToProps$H = function mapDispatchToProps(dispatch) {
37632
37619
  return {
37633
37620
  deleteItem: function deleteItem$1(itemPid) {
37634
37621
  return dispatch(deleteItem(itemPid));
@@ -37640,7 +37627,7 @@ var mapDispatchToProps$G = function mapDispatchToProps(dispatch) {
37640
37627
  };
37641
37628
  };
37642
37629
 
37643
- var ItemActionMenu = reactRedux.connect(mapStateToProps$U, mapDispatchToProps$G)(ItemActionMenu$1);
37630
+ var ItemActionMenu = reactRedux.connect(mapStateToProps$U, mapDispatchToProps$H)(ItemActionMenu$1);
37644
37631
 
37645
37632
  var _excluded$9 = ["bcc", "body", "cc", "children", "email", "subject", "asButton"];
37646
37633
  var EmailLink = function EmailLink(_ref) {
@@ -38090,7 +38077,7 @@ var mapStateToProps$S = function mapStateToProps(state) {
38090
38077
  };
38091
38078
  };
38092
38079
 
38093
- var mapDispatchToProps$F = function mapDispatchToProps(dispatch) {
38080
+ var mapDispatchToProps$G = function mapDispatchToProps(dispatch) {
38094
38081
  return {
38095
38082
  fetchItemDetails: function fetchItemDetails$1(itemPid) {
38096
38083
  return dispatch(fetchItemDetails(itemPid));
@@ -38105,7 +38092,7 @@ var mapDispatchToProps$F = function mapDispatchToProps(dispatch) {
38105
38092
  };
38106
38093
  };
38107
38094
 
38108
- var ItemMetadata$1 = reactRedux.connect(mapStateToProps$S, mapDispatchToProps$F)(ItemMetadata$2);
38095
+ var ItemMetadata$1 = reactRedux.connect(mapStateToProps$S, mapDispatchToProps$G)(ItemMetadata$2);
38109
38096
 
38110
38097
  var IS_LOADING$s = 'fetchPastLoans/IS_LOADING';
38111
38098
  var SUCCESS$s = 'fetchPastLoans/SUCCESS';
@@ -38295,7 +38282,7 @@ var mapStateToProps$R = function mapStateToProps(state) {
38295
38282
  };
38296
38283
  };
38297
38284
 
38298
- var mapDispatchToProps$E = function mapDispatchToProps(dispatch) {
38285
+ var mapDispatchToProps$F = function mapDispatchToProps(dispatch) {
38299
38286
  return {
38300
38287
  fetchPastLoans: function fetchPastLoans$1(itemPid) {
38301
38288
  return dispatch(fetchPastLoans(itemPid));
@@ -38303,7 +38290,7 @@ var mapDispatchToProps$E = function mapDispatchToProps(dispatch) {
38303
38290
  };
38304
38291
  };
38305
38292
 
38306
- var ItemPastLoans = reactRedux.connect(mapStateToProps$R, mapDispatchToProps$E)(ItemPastLoans$1);
38293
+ var ItemPastLoans = reactRedux.connect(mapStateToProps$R, mapDispatchToProps$F)(ItemPastLoans$1);
38307
38294
 
38308
38295
  var ACTION_IS_LOADING = 'loanAction/IS_LOADING';
38309
38296
  var ACTION_SUCCESS = 'loanAction/SUCCESS';
@@ -38337,7 +38324,7 @@ var fetchLoanDetails = function fetchLoanDetails(loanPid) {
38337
38324
  }
38338
38325
 
38339
38326
  _context.next = 9;
38340
- return loanApi.list(loanApi.query().withDocPid(response.data.metadata.document_pid).withState(invenioConfig.CIRCULATION.loanRequestStates).sortByRequestStartDate().qs());
38327
+ return loanApi.list(loanApi.query().withDocPid(response.data.metadata.document_pid).withState(invenioConfig.CIRCULATION.loanRequestStates).sortByRequestStartDateAsc().qs());
38341
38328
 
38342
38329
  case 9:
38343
38330
  pendingLoansResponse = _context.sent;
@@ -38600,7 +38587,7 @@ var mapStateToProps$Q = function mapStateToProps(state) {
38600
38587
  };
38601
38588
  };
38602
38589
 
38603
- var mapDispatchToProps$D = function mapDispatchToProps(dispatch) {
38590
+ var mapDispatchToProps$E = function mapDispatchToProps(dispatch) {
38604
38591
  return {
38605
38592
  fetchPendingLoans: function fetchPendingLoans$1(documentPid) {
38606
38593
  return dispatch(fetchPendingLoans(documentPid));
@@ -38614,7 +38601,7 @@ var mapDispatchToProps$D = function mapDispatchToProps(dispatch) {
38614
38601
  };
38615
38602
  };
38616
38603
 
38617
- var ItemPendingLoans = reactRedux.connect(mapStateToProps$Q, mapDispatchToProps$D)(ItemPendingLoans$1);
38604
+ var ItemPendingLoans = reactRedux.connect(mapStateToProps$Q, mapDispatchToProps$E)(ItemPendingLoans$1);
38618
38605
 
38619
38606
  var ItemDetails$1 = /*#__PURE__*/function (_Component) {
38620
38607
  _inherits(ItemDetails, _Component);
@@ -38714,7 +38701,7 @@ var mapStateToProps$P = function mapStateToProps(state) {
38714
38701
  };
38715
38702
  };
38716
38703
 
38717
- var mapDispatchToProps$C = function mapDispatchToProps(dispatch) {
38704
+ var mapDispatchToProps$D = function mapDispatchToProps(dispatch) {
38718
38705
  return {
38719
38706
  fetchItemDetails: function fetchItemDetails$1(itemPid) {
38720
38707
  return dispatch(fetchItemDetails(itemPid));
@@ -38725,7 +38712,7 @@ var mapDispatchToProps$C = function mapDispatchToProps(dispatch) {
38725
38712
  };
38726
38713
  };
38727
38714
 
38728
- var ItemDetails = reactRedux.connect(mapStateToProps$P, mapDispatchToProps$C)(ItemDetails$1);
38715
+ var ItemDetails = reactRedux.connect(mapStateToProps$P, mapDispatchToProps$D)(ItemDetails$1);
38729
38716
 
38730
38717
  var schema$4 = function schema() {
38731
38718
  var _schema = {
@@ -40317,7 +40304,7 @@ var mapStateToProps$M = function mapStateToProps(state) {
40317
40304
  };
40318
40305
  };
40319
40306
 
40320
- var mapDispatchToProps$B = function mapDispatchToProps(dispatch) {
40307
+ var mapDispatchToProps$C = function mapDispatchToProps(dispatch) {
40321
40308
  return {
40322
40309
  fetchAvailableItems: function fetchAvailableItems$1(documentPid) {
40323
40310
  return dispatch(fetchAvailableItems(documentPid));
@@ -40336,7 +40323,7 @@ var mapDispatchToProps$B = function mapDispatchToProps(dispatch) {
40336
40323
  };
40337
40324
  };
40338
40325
 
40339
- var AvailableItems = reactRedux.connect(mapStateToProps$M, mapDispatchToProps$B)(AvailableItems$1);
40326
+ var AvailableItems = reactRedux.connect(mapStateToProps$M, mapDispatchToProps$C)(AvailableItems$1);
40340
40327
 
40341
40328
  var LoanUpdateDates$1 = /*#__PURE__*/function (_Component) {
40342
40329
  _inherits(LoanUpdateDates, _Component);
@@ -40594,7 +40581,7 @@ var clearError = function clearError() {
40594
40581
  };
40595
40582
  };
40596
40583
 
40597
- var mapDispatchToProps$A = function mapDispatchToProps(dispatch) {
40584
+ var mapDispatchToProps$B = function mapDispatchToProps(dispatch) {
40598
40585
  return {
40599
40586
  loanUpdateDates: function loanUpdateDates$1(loanPid, data) {
40600
40587
  return dispatch(loanUpdateDates(loanPid, data));
@@ -40614,7 +40601,7 @@ var mapStateToProps$L = function mapStateToProps(state) {
40614
40601
  };
40615
40602
  };
40616
40603
 
40617
- var LoanUpdateDates = reactRedux.connect(mapStateToProps$L, mapDispatchToProps$A)(LoanUpdateDates$1);
40604
+ var LoanUpdateDates = reactRedux.connect(mapStateToProps$L, mapDispatchToProps$B)(LoanUpdateDates$1);
40618
40605
 
40619
40606
  var IS_LOADING$p = 'overdueLoanSendNotificationModal/IS_LOADING';
40620
40607
  var SUCCESS$p = 'overdueLoanSendNotificationModal/SUCCESS';
@@ -40951,7 +40938,7 @@ var mapStateToProps$K = function mapStateToProps(state) {
40951
40938
  };
40952
40939
  };
40953
40940
 
40954
- var mapDispatchToProps$z = function mapDispatchToProps(dispatch) {
40941
+ var mapDispatchToProps$A = function mapDispatchToProps(dispatch) {
40955
40942
  return {
40956
40943
  sendOverdueLoansNotificationReminder: function sendOverdueLoansNotificationReminder$1(loanPid) {
40957
40944
  return dispatch(sendOverdueLoansNotificationReminder(loanPid));
@@ -40959,7 +40946,156 @@ var mapDispatchToProps$z = function mapDispatchToProps(dispatch) {
40959
40946
  };
40960
40947
  };
40961
40948
 
40962
- var OverdueLoanSendNotificationModal = reactRedux.connect(mapStateToProps$K, mapDispatchToProps$z)(OverdueLoanSendNotificationModal$1);
40949
+ var OverdueLoanSendNotificationModal = reactRedux.connect(mapStateToProps$K, mapDispatchToProps$A)(OverdueLoanSendNotificationModal$1);
40950
+
40951
+ var ExtendModal$1 = /*#__PURE__*/function (_Component) {
40952
+ _inherits(ExtendModal, _Component);
40953
+
40954
+ var _super = _createSuper(ExtendModal);
40955
+
40956
+ function ExtendModal(props) {
40957
+ var _this;
40958
+
40959
+ _classCallCheck(this, ExtendModal);
40960
+
40961
+ _this = _super.call(this, props);
40962
+ _this.fetchCirculation = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
40963
+ var _this$props, loanDetails, sendErrorNotification, document_pid, response, circulation;
40964
+
40965
+ return regenerator.wrap(function _callee$(_context) {
40966
+ while (1) {
40967
+ switch (_context.prev = _context.next) {
40968
+ case 0:
40969
+ _this$props = _this.props, loanDetails = _this$props.loanDetails, sendErrorNotification = _this$props.sendErrorNotification;
40970
+ document_pid = loanDetails.metadata.document_pid;
40971
+ _context.prev = 2;
40972
+ _this.cancellableCirculation = withCancel(documentApi.get(document_pid));
40973
+ _context.next = 6;
40974
+ return _this.cancellableCirculation.promise;
40975
+
40976
+ case 6:
40977
+ response = _context.sent;
40978
+ circulation = response.data.metadata.circulation;
40979
+
40980
+ _this.setState({
40981
+ overbooked: circulation.overbooked === true
40982
+ });
40983
+
40984
+ _context.next = 14;
40985
+ break;
40986
+
40987
+ case 11:
40988
+ _context.prev = 11;
40989
+ _context.t0 = _context["catch"](2);
40990
+
40991
+ if (_context.t0 !== 'UNMOUNTED') {
40992
+ sendErrorNotification('Something went wrong while checking if the literature is overbooked.', 'If the problem persists, please contact technical support.');
40993
+ }
40994
+
40995
+ case 14:
40996
+ case "end":
40997
+ return _context.stop();
40998
+ }
40999
+ }
41000
+ }, _callee, null, [[2, 11]]);
41001
+ }));
41002
+
41003
+ _this.extend = function () {
41004
+ var loanAction = _this.props.loanAction;
41005
+ loanAction();
41006
+
41007
+ _this.hide();
41008
+ };
41009
+
41010
+ _this.hide = function () {
41011
+ return _this.setState({
41012
+ open: false
41013
+ });
41014
+ };
41015
+
41016
+ _this.show = function () {
41017
+ return _this.setState({
41018
+ open: true
41019
+ });
41020
+ };
41021
+
41022
+ _this.state = {
41023
+ overbooked: false,
41024
+ open: false
41025
+ };
41026
+ return _this;
41027
+ }
41028
+
41029
+ _createClass(ExtendModal, [{
41030
+ key: "componentDidMount",
41031
+ value: function componentDidMount() {
41032
+ this.fetchCirculation();
41033
+ }
41034
+ }, {
41035
+ key: "componentWillUnmount",
41036
+ value: function componentWillUnmount() {
41037
+ this.cancellableCirculation && this.cancellableCirculation.cancel();
41038
+ }
41039
+ }, {
41040
+ key: "render",
41041
+ value: function render() {
41042
+ var _this$props2 = this.props,
41043
+ pid = _this$props2.pid,
41044
+ isLoading = _this$props2.isLoading;
41045
+ var _this$state = this.state,
41046
+ open = _this$state.open,
41047
+ overbooked = _this$state.overbooked;
41048
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, overbooked ? /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Modal, {
41049
+ size: "small",
41050
+ trigger: /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41051
+ primary: true,
41052
+ fluid: true,
41053
+ content: "Extend",
41054
+ onClick: this.show,
41055
+ loading: isLoading,
41056
+ disabled: isLoading
41057
+ }),
41058
+ open: open,
41059
+ onClose: this.hide
41060
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Header, {
41061
+ content: "Extend Loan #".concat(pid)
41062
+ }), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Modal.Content, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41063
+ width: 1
41064
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Icon, {
41065
+ name: "warning sign",
41066
+ color: "red",
41067
+ size: "large"
41068
+ })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41069
+ width: 15
41070
+ }, /*#__PURE__*/React__default["default"].createElement("p", null, "Are you sure you want to extend the loan #".concat(pid, "?\n This literature is overbooked."))))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Modal.Actions, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41071
+ secondary: true,
41072
+ onClick: this.hide
41073
+ }, "Cancel"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41074
+ primary: true,
41075
+ onClick: this.extend
41076
+ }, "Extend"))) : /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41077
+ size: "small",
41078
+ fluid: true,
41079
+ primary: true,
41080
+ onClick: this.extend,
41081
+ loading: isLoading,
41082
+ disabled: isLoading
41083
+ }, "Extend"));
41084
+ }
41085
+ }]);
41086
+
41087
+ return ExtendModal;
41088
+ }(React.Component);
41089
+
41090
+ var mapDispatchToProps$z = function mapDispatchToProps(dispatch) {
41091
+ return {
41092
+ sendErrorNotification: function sendErrorNotification(title, message) {
41093
+ return dispatch(addNotification(title, message, 'error'));
41094
+ }
41095
+ };
41096
+ };
41097
+
41098
+ var ExtendModal = reactRedux.connect(null, mapDispatchToProps$z)(ExtendModal$1);
40963
41099
 
40964
41100
  var CancelModal = /*#__PURE__*/function (_Component) {
40965
41101
  _inherits(CancelModal, _Component);
@@ -41045,7 +41181,6 @@ var CancelModal = /*#__PURE__*/function (_Component) {
41045
41181
  value = _this$state.value,
41046
41182
  showPopup = _this$state.showPopup;
41047
41183
  return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Modal, {
41048
- basic: true,
41049
41184
  size: "small",
41050
41185
  trigger: /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41051
41186
  primary: true,
@@ -41074,13 +41209,10 @@ var CancelModal = /*#__PURE__*/function (_Component) {
41074
41209
  position: "bottom left",
41075
41210
  open: showPopup
41076
41211
  })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Modal.Actions, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41077
- basic: true,
41078
- color: "black",
41079
- inverted: true,
41212
+ secondary: true,
41080
41213
  onClick: this.hide
41081
41214
  }, "Back"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41082
41215
  color: "red",
41083
- inverted: true,
41084
41216
  onClick: this.cancel
41085
41217
  }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Icon, {
41086
41218
  name: "remove"
@@ -41095,6 +41227,20 @@ CancelModal.defaultProps = {
41095
41227
  isLoading: false
41096
41228
  };
41097
41229
 
41230
+ var CancelLoanModal = function CancelLoanModal(_ref) {
41231
+ var pid = _ref.pid,
41232
+ isLoading = _ref.isLoading,
41233
+ cancelAction = _ref.cancelAction;
41234
+ return /*#__PURE__*/React__default["default"].createElement(CancelModal, {
41235
+ header: "Cancel Loan #".concat(pid),
41236
+ content: "You are about to cancel loan #".concat(pid, ".\n Please enter a reason for cancelling this loan."),
41237
+ cancelText: "Cancel Loan",
41238
+ buttonText: "Cancel",
41239
+ action: cancelAction,
41240
+ isLoading: isLoading
41241
+ });
41242
+ };
41243
+
41098
41244
  var LoanActions$1 = /*#__PURE__*/function (_Component) {
41099
41245
  _inherits(LoanActions, _Component);
41100
41246
 
@@ -41112,7 +41258,8 @@ var LoanActions$1 = /*#__PURE__*/function (_Component) {
41112
41258
  var actions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
41113
41259
  var _this$props = this.props,
41114
41260
  performLoanAction = _this$props.performLoanAction,
41115
- isLoading = _this$props.isLoading; // omit checkout because it must done in one of the available items
41261
+ isLoading = _this$props.isLoading,
41262
+ loanDetails = _this$props.loanDetails; // omit checkout because it must done in one of the available items
41116
41263
 
41117
41264
  if (!itemPid) {
41118
41265
  actions = object.omit(actions, 'checkout');
@@ -41132,13 +41279,15 @@ var LoanActions$1 = /*#__PURE__*/function (_Component) {
41132
41279
 
41133
41280
  return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, {
41134
41281
  key: action
41135
- }, action === 'cancel' ? /*#__PURE__*/React__default["default"].createElement(CancelModal, {
41136
- header: "Cancel Loan #".concat(pid),
41137
- content: "You are about to cancel loan #".concat(pid, ".\n Please enter a reason for cancelling this loan."),
41138
- cancelText: "Cancel Loan",
41139
- buttonText: capitalize__default["default"]('cancel'),
41140
- action: cancelAction,
41141
- isLoading: isLoading
41282
+ }, action === 'cancel' ? /*#__PURE__*/React__default["default"].createElement(CancelLoanModal, {
41283
+ pid: pid,
41284
+ isLoading: isLoading,
41285
+ cancelAction: cancelAction
41286
+ }) : action === 'extend' ? /*#__PURE__*/React__default["default"].createElement(ExtendModal, {
41287
+ pid: pid,
41288
+ isLoading: isLoading,
41289
+ loanAction: loanAction,
41290
+ loanDetails: loanDetails
41142
41291
  }) : /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
41143
41292
  size: "small",
41144
41293
  fluid: true,
@@ -41502,7 +41651,10 @@ var LoanSearch = /*#__PURE__*/function (_Component) {
41502
41651
  placeholder: "Search for loans"
41503
41652
  }, invenioConfig.APP.SEARCH_BAR_PROPS)), /*#__PURE__*/React__default["default"].createElement(QueryBuildHelper, {
41504
41653
  fields: helperFields
41505
- })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Row, {
41654
+ })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Container, {
41655
+ fluid: true,
41656
+ className: "bo-search-body"
41657
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Row, {
41506
41658
  columns: 2
41507
41659
  }, /*#__PURE__*/React__default["default"].createElement(reactSearchkit.ResultsLoader, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41508
41660
  width: 3,
@@ -41513,7 +41665,16 @@ var LoanSearch = /*#__PURE__*/function (_Component) {
41513
41665
  modelName: this.modelName
41514
41666
  }), /*#__PURE__*/React__default["default"].createElement(SearchDateRange, null)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41515
41667
  width: 13
41516
- }, /*#__PURE__*/React__default["default"].createElement(reactSearchkit.EmptyResults, {
41668
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid, {
41669
+ columns: 2
41670
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41671
+ width: 8
41672
+ }), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Grid.Column, {
41673
+ width: 8,
41674
+ textAlign: "right"
41675
+ }, /*#__PURE__*/React__default["default"].createElement(ExportReactSearchKitResults, {
41676
+ exportBaseUrl: loanApi.searchBaseURL
41677
+ }))), /*#__PURE__*/React__default["default"].createElement(reactSearchkit.EmptyResults, {
41517
41678
  extraContent: /*#__PURE__*/React__default["default"].createElement(NewButton, {
41518
41679
  text: "Add document",
41519
41680
  to: BackOfficeRoutes.documentCreate
@@ -41523,7 +41684,7 @@ var LoanSearch = /*#__PURE__*/function (_Component) {
41523
41684
  withLayoutSwitcher: false
41524
41685
  }), /*#__PURE__*/React__default["default"].createElement(reactSearchkit.ResultsList, {
41525
41686
  ListEntryElement: LoanListEntry
41526
- }), /*#__PURE__*/React__default["default"].createElement(SearchFooter, null)))))))));
41687
+ }), /*#__PURE__*/React__default["default"].createElement(SearchFooter, null))))))))));
41527
41688
  }
41528
41689
  }]);
41529
41690
 
@@ -43676,72 +43837,12 @@ var fetchPatronPendingLoans = function fetchPatronPendingLoans(patronPid) {
43676
43837
  }();
43677
43838
  };
43678
43839
 
43840
+ //separated into different file because of a circular dependency caused otherwise
43679
43841
  var IS_LOADING$i = 'itemsSearchBarcode/IS_LOADING';
43680
43842
  var SUCCESS$i = 'itemsSearchBarcode/SUCCESS';
43681
43843
  var HAS_ERROR$i = 'itemsSearchBarcode/HAS_ERROR';
43682
43844
  var QUERY_STRING_UPDATE = 'itemsSearchBarcode/QUERY_STRING_UPDATE';
43683
43845
  var CLEAR_SEARCH = 'itemsSearchBarcode/CLEAR_SEARCH';
43684
- var fetchItems = function fetchItems(barcode) {
43685
- return /*#__PURE__*/function () {
43686
- var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(dispatch) {
43687
- var response;
43688
- return regenerator.wrap(function _callee$(_context) {
43689
- while (1) {
43690
- switch (_context.prev = _context.next) {
43691
- case 0:
43692
- dispatch({
43693
- type: IS_LOADING$i
43694
- });
43695
- _context.prev = 1;
43696
- _context.next = 4;
43697
- return itemApi.list(itemApi.query().withBarcode(barcode).qs());
43698
-
43699
- case 4:
43700
- response = _context.sent;
43701
- dispatch({
43702
- type: SUCCESS$i,
43703
- payload: response.data
43704
- });
43705
- _context.next = 12;
43706
- break;
43707
-
43708
- case 8:
43709
- _context.prev = 8;
43710
- _context.t0 = _context["catch"](1);
43711
- dispatch({
43712
- type: HAS_ERROR$i,
43713
- payload: _context.t0
43714
- });
43715
- dispatch(sendErrorNotification(_context.t0));
43716
-
43717
- case 12:
43718
- case "end":
43719
- return _context.stop();
43720
- }
43721
- }
43722
- }, _callee, null, [[1, 8]]);
43723
- }));
43724
-
43725
- return function (_x) {
43726
- return _ref.apply(this, arguments);
43727
- };
43728
- }();
43729
- };
43730
- var updateQueryString = function updateQueryString(queryString) {
43731
- return function (dispatch) {
43732
- dispatch({
43733
- type: QUERY_STRING_UPDATE,
43734
- queryString: queryString
43735
- });
43736
- };
43737
- };
43738
- var clearResults = function clearResults() {
43739
- return function (dispatch) {
43740
- dispatch({
43741
- type: CLEAR_SEARCH
43742
- });
43743
- };
43744
- };
43745
43846
 
43746
43847
  var IS_LOADING$h = 'patronItemCheckout/IS_LOADING';
43747
43848
  var SUCCESS$h = 'patronItemCheckout/SUCCESS';
@@ -44048,83 +44149,82 @@ var ItemsSearch$1 = /*#__PURE__*/function (_Component) {
44048
44149
  clearResults();
44049
44150
  };
44050
44151
 
44051
- _this.executeSearch = function (queryString) {
44052
- var _this$props = _this.props,
44053
- propsQueryString = _this$props.queryString,
44054
- fetchItems = _this$props.fetchItems;
44055
- queryString = queryString || propsQueryString; // eslint-disable-next-line react/no-unused-state
44152
+ _this.executeSearch = /*#__PURE__*/function () {
44153
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(queryString, patronPid) {
44154
+ var _this$props, propsQueryString, fetchAndCheckoutIfOne;
44056
44155
 
44057
- _this.setState({
44058
- prevSearchQuery: queryString,
44059
- executedSearch: true
44060
- });
44156
+ return regenerator.wrap(function _callee$(_context) {
44157
+ while (1) {
44158
+ switch (_context.prev = _context.next) {
44159
+ case 0:
44160
+ _this$props = _this.props, propsQueryString = _this$props.queryString, fetchAndCheckoutIfOne = _this$props.fetchAndCheckoutIfOne;
44161
+ queryString = queryString || propsQueryString; // eslint-disable-next-line react/no-unused-state
44061
44162
 
44062
- fetchItems(queryString);
44063
- };
44163
+ _this.setState({
44164
+ prevSearchQuery: queryString,
44165
+ executedSearch: true
44166
+ }, function () {
44167
+ return fetchAndCheckoutIfOne(queryString, patronPid);
44168
+ });
44064
44169
 
44065
- _this.onPasteHandler = /*#__PURE__*/function () {
44066
- var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(event) {
44067
- var _this$props2, checkoutItem, patronDetails, prevSearchQuery, queryString, sameQueryString, hits, hasOneHit, documentPid, itemPid;
44170
+ case 3:
44171
+ case "end":
44172
+ return _context.stop();
44173
+ }
44174
+ }
44175
+ }, _callee);
44176
+ }));
44068
44177
 
44069
- return regenerator.wrap(function _callee$(_context) {
44178
+ return function (_x, _x2) {
44179
+ return _ref.apply(this, arguments);
44180
+ };
44181
+ }();
44182
+
44183
+ _this.onPasteHandler = /*#__PURE__*/function () {
44184
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(event) {
44185
+ var prevSearchQuery, patronDetails, queryString, sameQueryString;
44186
+ return regenerator.wrap(function _callee2$(_context2) {
44070
44187
  while (1) {
44071
- switch (_context.prev = _context.next) {
44188
+ switch (_context2.prev = _context2.next) {
44072
44189
  case 0:
44073
- _this$props2 = _this.props, checkoutItem = _this$props2.checkoutItem, patronDetails = _this$props2.patronDetails;
44074
44190
  prevSearchQuery = _this.state.prevSearchQuery;
44191
+ patronDetails = _this.props.patronDetails;
44075
44192
  queryString = event.clipboardData.getData('Text');
44076
44193
  sameQueryString = prevSearchQuery === queryString;
44077
44194
 
44078
44195
  if (!(queryString && !sameQueryString)) {
44079
- _context.next = 15;
44196
+ _context2.next = 8;
44080
44197
  break;
44081
44198
  }
44082
44199
 
44083
- _context.next = 7;
44084
- return _this.executeSearch(queryString);
44200
+ _context2.next = 7;
44201
+ return _this.executeSearch(queryString, patronDetails.user_pid);
44085
44202
 
44086
44203
  case 7:
44087
- hits = _this.props.items.hits;
44088
- hasOneHit = !_isEmpty__default["default"](hits) && hits.length === 1 && hits[0].metadata.status === 'CAN_CIRCULATE';
44089
-
44090
- if (!hasOneHit) {
44091
- _context.next = 14;
44092
- break;
44093
- }
44094
-
44095
- documentPid = hits[0].metadata.document.pid;
44096
- itemPid = {
44097
- type: recordToPidType(hits[0]),
44098
- value: hits[0].metadata.pid
44099
- };
44100
- _context.next = 14;
44101
- return checkoutItem(documentPid, itemPid, patronDetails.user_pid, true);
44102
-
44103
- case 14:
44104
44204
  // eslint-disable-next-line react/no-unused-state
44105
44205
  _this.setState({
44106
44206
  prevSearchQuery: '',
44107
44207
  executedSearch: true
44108
44208
  });
44109
44209
 
44110
- case 15:
44210
+ case 8:
44111
44211
  case "end":
44112
- return _context.stop();
44212
+ return _context2.stop();
44113
44213
  }
44114
44214
  }
44115
- }, _callee);
44215
+ }, _callee2);
44116
44216
  }));
44117
44217
 
44118
- return function (_x) {
44119
- return _ref.apply(this, arguments);
44218
+ return function (_x3) {
44219
+ return _ref2.apply(this, arguments);
44120
44220
  };
44121
44221
  }();
44122
44222
 
44123
44223
  _this.renderResultsList = function (results) {
44124
- var _this$props3 = _this.props,
44125
- patronDetails = _this$props3.patronDetails,
44126
- clearResults = _this$props3.clearResults,
44127
- isLoadingSearch = _this$props3.isLoadingSearch;
44224
+ var _this$props2 = _this.props,
44225
+ patronDetails = _this$props2.patronDetails,
44226
+ clearResults = _this$props2.clearResults,
44227
+ isLoadingSearch = _this$props2.isLoadingSearch;
44128
44228
  var executedSearch = _this.state.executedSearch;
44129
44229
  return /*#__PURE__*/React__default["default"].createElement(ItemsResultsList, {
44130
44230
  patronPid: patronDetails.user_pid,
@@ -44145,11 +44245,11 @@ var ItemsSearch$1 = /*#__PURE__*/function (_Component) {
44145
44245
  _createClass(ItemsSearch, [{
44146
44246
  key: "render",
44147
44247
  value: function render() {
44148
- var _this$props4 = this.props,
44149
- items = _this$props4.items,
44150
- isLoading = _this$props4.isLoading,
44151
- error = _this$props4.error,
44152
- queryString = _this$props4.queryString;
44248
+ var _this$props3 = this.props,
44249
+ items = _this$props3.items,
44250
+ isLoading = _this$props3.isLoading,
44251
+ error = _this$props3.error,
44252
+ queryString = _this$props3.queryString;
44153
44253
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Container, {
44154
44254
  className: "spaced"
44155
44255
  }, /*#__PURE__*/React__default["default"].createElement(SearchBarILS, {
@@ -44179,10 +44279,88 @@ ItemsSearch$1.defaultProps = {
44179
44279
  items: null
44180
44280
  };
44181
44281
 
44282
+ var fetchAndCheckoutIfOne = function fetchAndCheckoutIfOne(barcode, patronPid) {
44283
+ return /*#__PURE__*/function () {
44284
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(dispatch) {
44285
+ var response, ableToAutoCheckout, itemToCheckout, documentPid, itemPid;
44286
+ return regenerator.wrap(function _callee$(_context) {
44287
+ while (1) {
44288
+ switch (_context.prev = _context.next) {
44289
+ case 0:
44290
+ dispatch({
44291
+ type: IS_LOADING$i
44292
+ });
44293
+ _context.prev = 1;
44294
+ _context.next = 4;
44295
+ return itemApi.list(itemApi.query().withBarcode(barcode).qs());
44296
+
44297
+ case 4:
44298
+ response = _context.sent;
44299
+ dispatch({
44300
+ type: SUCCESS$i,
44301
+ payload: response.data
44302
+ });
44303
+ ableToAutoCheckout = patronPid && hitAvailableForCheckout(response.data.hits);
44304
+
44305
+ if (ableToAutoCheckout) {
44306
+ itemToCheckout = response.data.hits[0];
44307
+ documentPid = itemToCheckout.metadata.document.pid;
44308
+ itemPid = {
44309
+ type: recordToPidType(itemToCheckout),
44310
+ value: itemToCheckout.metadata.pid
44311
+ };
44312
+ dispatch(checkoutItem(documentPid, itemPid, patronPid, true));
44313
+ }
44314
+
44315
+ _context.next = 14;
44316
+ break;
44317
+
44318
+ case 10:
44319
+ _context.prev = 10;
44320
+ _context.t0 = _context["catch"](1);
44321
+ dispatch({
44322
+ type: HAS_ERROR$i,
44323
+ payload: _context.t0
44324
+ });
44325
+ dispatch(sendErrorNotification(_context.t0));
44326
+
44327
+ case 14:
44328
+ case "end":
44329
+ return _context.stop();
44330
+ }
44331
+ }
44332
+ }, _callee, null, [[1, 10]]);
44333
+ }));
44334
+
44335
+ return function (_x) {
44336
+ return _ref.apply(this, arguments);
44337
+ };
44338
+ }();
44339
+ };
44340
+ var updateQueryString = function updateQueryString(queryString) {
44341
+ return function (dispatch) {
44342
+ dispatch({
44343
+ type: QUERY_STRING_UPDATE,
44344
+ queryString: queryString
44345
+ });
44346
+ };
44347
+ };
44348
+ var clearResults = function clearResults() {
44349
+ return function (dispatch) {
44350
+ dispatch({
44351
+ type: CLEAR_SEARCH
44352
+ });
44353
+ };
44354
+ };
44355
+
44356
+ var hitAvailableForCheckout = function hitAvailableForCheckout(hits) {
44357
+ return !_isEmpty__default["default"](hits) && hits.length === 1 && hits[0].metadata.status === 'CAN_CIRCULATE';
44358
+ };
44359
+
44182
44360
  var mapDispatchToProps$p = function mapDispatchToProps(dispatch) {
44183
44361
  return {
44184
- fetchItems: function fetchItems$1(barcode) {
44185
- return dispatch(fetchItems(barcode));
44362
+ fetchAndCheckoutIfOne: function fetchAndCheckoutIfOne$1(barcode, patronPid) {
44363
+ return dispatch(fetchAndCheckoutIfOne(barcode, patronPid));
44186
44364
  },
44187
44365
  updateQueryString: function updateQueryString$1(qs) {
44188
44366
  return dispatch(updateQueryString(qs));
@@ -45148,7 +45326,7 @@ var PatronPastLoans$3 = /*#__PURE__*/function (_Component) {
45148
45326
  _this.seeAllButton = function () {
45149
45327
  var patronDetails = _this.props.patronDetails;
45150
45328
  var patronPid = patronDetails.user_pid;
45151
- var path = BackOfficeRoutes.loansListWithQuery(loanApi.query().withPatronPid(patronPid).withState(invenioConfig.CIRCULATION.loanRequestStates).qs());
45329
+ var path = BackOfficeRoutes.loansListWithQuery(loanApi.query().withPatronPid(patronPid).withState(invenioConfig.CIRCULATION.loanCompletedStates).qs());
45152
45330
  return /*#__PURE__*/React__default["default"].createElement(SeeAllButton, {
45153
45331
  to: path
45154
45332
  });
@@ -51508,24 +51686,26 @@ var mapStateToProps$e = function mapStateToProps(state) {
51508
51686
 
51509
51687
  var DocumentItems = reactRedux.connect(mapStateToProps$e, null)(DocumentItemsComponent);
51510
51688
 
51511
- var DocumentConference = /*#__PURE__*/function (_Component) {
51512
- _inherits(DocumentConference, _Component);
51689
+ var DocumentConferenceCmp = /*#__PURE__*/function (_Component) {
51690
+ _inherits(DocumentConferenceCmp, _Component);
51513
51691
 
51514
- var _super = _createSuper(DocumentConference);
51692
+ var _super = _createSuper(DocumentConferenceCmp);
51515
51693
 
51516
- function DocumentConference() {
51517
- var _this;
51518
-
51519
- _classCallCheck(this, DocumentConference);
51520
-
51521
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51522
- args[_key] = arguments[_key];
51523
- }
51694
+ function DocumentConferenceCmp() {
51695
+ _classCallCheck(this, DocumentConferenceCmp);
51524
51696
 
51525
- _this = _super.call.apply(_super, [this].concat(args));
51697
+ return _super.apply(this, arguments);
51698
+ }
51526
51699
 
51527
- _this.renderConferences = function (conference) {
51528
- return conference.map(function (conf) {
51700
+ _createClass(DocumentConferenceCmp, [{
51701
+ key: "render",
51702
+ value: function render() {
51703
+ var conference = this.props.conference;
51704
+ return /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
51705
+ id: "DocumentConference.layout"
51706
+ }, /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
51707
+ horizontal: true
51708
+ }, "Conference information"), _isEmpty__default["default"](conference) && 'No conference information.', conference.map(function (conf) {
51529
51709
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table, {
51530
51710
  definition: true,
51531
51711
  key: conf
@@ -51533,28 +51713,18 @@ var DocumentConference = /*#__PURE__*/function (_Component) {
51533
51713
  width: 4
51534
51714
  }, "Conference"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.title)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Acronym"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.acronym)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Dates"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.dates)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Identifiers"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.identifiers && conf.identifiers.map(function (identifier) {
51535
51715
  return '(' + identifier.scheme + ') ' + identifier.value;
51536
- }))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Place"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.place)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Series"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.series)))), /*#__PURE__*/React__default["default"].createElement("br", null));
51537
- });
51538
- };
51539
-
51540
- return _this;
51541
- }
51542
-
51543
- _createClass(DocumentConference, [{
51544
- key: "render",
51545
- value: function render() {
51546
- var conference = this.props.conference;
51547
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
51548
- horizontal: true
51549
- }, "Conference information"), _isEmpty__default["default"](conference) ? 'No conference information' : this.renderConferences(conference));
51716
+ }))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Place"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.place)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Series number"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, conf.series)))), /*#__PURE__*/React__default["default"].createElement("br", null));
51717
+ })));
51550
51718
  }
51551
51719
  }]);
51552
51720
 
51553
- return DocumentConference;
51721
+ return DocumentConferenceCmp;
51554
51722
  }(React.Component);
51555
- DocumentConference.defaultProps = {
51723
+
51724
+ DocumentConferenceCmp.defaultProps = {
51556
51725
  conference: []
51557
51726
  };
51727
+ var DocumentConference = Overridable__default["default"].component('DocumentConference', DocumentConferenceCmp);
51558
51728
 
51559
51729
  var DocumentContent = /*#__PURE__*/function (_Component) {
51560
51730
  _inherits(DocumentContent, _Component);
@@ -51562,14 +51732,31 @@ var DocumentContent = /*#__PURE__*/function (_Component) {
51562
51732
  var _super = _createSuper(DocumentContent);
51563
51733
 
51564
51734
  function DocumentContent() {
51735
+ var _this;
51736
+
51565
51737
  _classCallCheck(this, DocumentContent);
51566
51738
 
51567
- return _super.apply(this, arguments);
51739
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
51740
+ args[_key] = arguments[_key];
51741
+ }
51742
+
51743
+ _this = _super.call.apply(_super, [this].concat(args));
51744
+
51745
+ _this.prepareAlternativeAbstracts = function (element, index) {
51746
+ return [{
51747
+ name: index,
51748
+ value: element
51749
+ }];
51750
+ };
51751
+
51752
+ return _this;
51568
51753
  }
51569
51754
 
51570
51755
  _createClass(DocumentContent, [{
51571
51756
  key: "render",
51572
51757
  value: function render() {
51758
+ var _this2 = this;
51759
+
51573
51760
  var _this$props = this.props,
51574
51761
  metadata = _this$props.metadata,
51575
51762
  _this$props$metadata = _this$props.metadata,
@@ -51589,7 +51776,14 @@ var DocumentContent = /*#__PURE__*/function (_Component) {
51589
51776
  horizontal: true
51590
51777
  }, "Subject classification"), /*#__PURE__*/React__default["default"].createElement(DocumentSubjects, {
51591
51778
  metadata: metadata
51592
- }));
51779
+ }), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
51780
+ horizontal: true
51781
+ }, "Alternative abstracts"), !_isEmpty__default["default"](metadata.alternative_abstracts) ? metadata.alternative_abstracts.map(function (element, index) {
51782
+ return /*#__PURE__*/React__default["default"].createElement(MetadataTable, {
51783
+ key: element,
51784
+ rows: _this2.prepareAlternativeAbstracts(element, index + 1)
51785
+ });
51786
+ }) : 'No alternative abstracts');
51593
51787
  }
51594
51788
  }]);
51595
51789
 
@@ -51620,10 +51814,10 @@ var DocumentCopyrights = /*#__PURE__*/function (_Component) {
51620
51814
  return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, {
51621
51815
  key: entry.license.id
51622
51816
  }, /*#__PURE__*/React__default["default"].createElement("a", {
51623
- href: entry.url,
51817
+ href: entry.license.url,
51624
51818
  target: "_blank",
51625
51819
  rel: "noopener noreferrer"
51626
- }, entry.license.title), ' ', entry.material && "(".concat(entry.material, ")"), entry.license.maintainer && "maintained by ".concat(entry.license.maintainer));
51820
+ }, entry.license.title), ' ', entry.material && "(".concat(entry.material, ")"), ' ', entry.license.maintainer && "maintained by ".concat(entry.license.maintainer));
51627
51821
  }));
51628
51822
  };
51629
51823
 
@@ -51641,7 +51835,7 @@ var DocumentCopyrights = /*#__PURE__*/function (_Component) {
51641
51835
  key: entry.statement
51642
51836
  }, /*#__PURE__*/React__default["default"].createElement("a", {
51643
51837
  href: entry.url
51644
- }, entry.statement), " (", entry.material, ") held by", ' ', entry.holder);
51838
+ }, entry.statement), ' ', entry.material && "(".concat(entry.material, ")"), " held by ", entry.holder);
51645
51839
  }));
51646
51840
  }
51647
51841
  }, {
@@ -51978,6 +52172,16 @@ var DocumentInfo = /*#__PURE__*/function (_Component) {
51978
52172
 
51979
52173
  _this = _super.call.apply(_super, [this].concat(args));
51980
52174
 
52175
+ _this.renderLanguages = function () {
52176
+ var metadata = _this.props.metadata;
52177
+
52178
+ if (metadata.languages) {
52179
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Languages"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, metadata.languages.join(', ')));
52180
+ }
52181
+
52182
+ return null;
52183
+ };
52184
+
51981
52185
  _this.prepareImprintInfo = function () {
51982
52186
  var metadata = _this.props.metadata;
51983
52187
  return [{
@@ -52002,17 +52206,6 @@ var DocumentInfo = /*#__PURE__*/function (_Component) {
52002
52206
  }
52003
52207
 
52004
52208
  _createClass(DocumentInfo, [{
52005
- key: "renderLanguages",
52006
- value: function renderLanguages() {
52007
- var metadata = this.props.metadata;
52008
-
52009
- if (metadata.languages) {
52010
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Languages"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, metadata.languages.join(', ')));
52011
- }
52012
-
52013
- return null;
52014
- }
52015
- }, {
52016
52209
  key: "renderKeywords",
52017
52210
  value: function renderKeywords() {
52018
52211
  var metadata = this.props.metadata;
@@ -52033,6 +52226,16 @@ var DocumentInfo = /*#__PURE__*/function (_Component) {
52033
52226
  width: 4
52034
52227
  }, "Title"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, metadata.title)), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
52035
52228
  width: 4
52229
+ }, "Alternative titles"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List, {
52230
+ bulleted: true
52231
+ }, (metadata.alternative_titles || []).map(function (entry) {
52232
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, {
52233
+ key: entry.value
52234
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Content, {
52235
+ className: "alternative-title"
52236
+ }, entry.value));
52237
+ })))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
52238
+ width: 4
52036
52239
  }, "Authors"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, /*#__PURE__*/React__default["default"].createElement(DocumentAuthors$1, {
52037
52240
  authors: metadata.authors,
52038
52241
  hasOtherAuthors: metadata.other_authors,
@@ -52083,9 +52286,9 @@ var DocumentPublicationInfo = /*#__PURE__*/function (_Component) {
52083
52286
  }), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table, {
52084
52287
  definition: true,
52085
52288
  key: publication.journal_title
52086
- }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Body, null, !_isEmpty__default["default"](publication.journal_title) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
52289
+ }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Body, null, (publication === null || publication === void 0 ? void 0 : publication.journal_title) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, {
52087
52290
  width: 4
52088
- }, "Journal"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_title)), !_isEmpty__default["default"](publication.journal_issue) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Issue"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_issue)), !_isEmpty__default["default"](publication.journal_volume) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Volume"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_volume)), !_isEmpty__default["default"](publication.artid) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Article ID"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.artid)), !_isEmpty__default["default"](publication.pages) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Pages"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.pages)), !_isEmpty__default["default"](publication.year) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Publication year"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.year)), !_isEmpty__default["default"](publication.note) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Note"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.note)))));
52291
+ }, "Journal"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_title)), (publication === null || publication === void 0 ? void 0 : publication.journal_issue) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Issue"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_issue)), (publication === null || publication === void 0 ? void 0 : publication.journal_volume) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Volume"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.journal_volume)), (publication === null || publication === void 0 ? void 0 : publication.artid) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Article ID"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.artid)), (publication === null || publication === void 0 ? void 0 : publication.pages) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Pages"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.pages)), (publication === null || publication === void 0 ? void 0 : publication.year) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Publication year"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.year)), (publication === null || publication === void 0 ? void 0 : publication.note) && /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Row, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, "Note"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Table.Cell, null, publication.note)))));
52089
52292
  })));
52090
52293
  }
52091
52294
  }]);
@@ -52122,49 +52325,6 @@ var LiteratureRelations = /*#__PURE__*/function (_Component) {
52122
52325
  return relation.pid_type === 'docid' ? FrontSiteRoutes.documentDetailsFor(relation.pid_value) : FrontSiteRoutes.seriesDetailsFor(relation.pid_value);
52123
52326
  };
52124
52327
 
52125
- _this.renderMultiparts = function () {
52126
- var relations = _get__default["default"](_this.relations, 'multipart_monograph', []);
52127
-
52128
- if (!relations.length) return null;
52129
- var cmp = relations.map(function (rel) {
52130
- var volume = _get__default["default"](rel, 'volume');
52131
-
52132
- var text = volume ? "".concat(rel.record_metadata.title, " (vol: ").concat(volume, ")") : rel.record_metadata.title;
52133
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
52134
- key: rel.pid_value
52135
- }, "This is part of the monograph", ' ', /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
52136
- to: _this.getLinkTo(rel)
52137
- }, /*#__PURE__*/React__default["default"].createElement(LiteratureTitle$1, {
52138
- title: text
52139
- })));
52140
- });
52141
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, null, cmp);
52142
- };
52143
-
52144
- _this.renderSerials = function () {
52145
- var relations = _get__default["default"](_this.relations, 'serial', []);
52146
-
52147
- if (!relations.length) return null;
52148
- var items = relations.map(function (rel) {
52149
- var volume = _get__default["default"](rel, 'volume');
52150
-
52151
- var text = volume ? "".concat(rel.record_metadata.title, " (vol: ").concat(volume, ")") : rel.record_metadata.title;
52152
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
52153
- key: rel.pid_value
52154
- }, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
52155
- to: _this.getLinkTo(rel)
52156
- }, /*#__PURE__*/React__default["default"].createElement(LiteratureTitle$1, {
52157
- title: text
52158
- })));
52159
- });
52160
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, null, /*#__PURE__*/React__default["default"].createElement(SeparatedList, {
52161
- items: items,
52162
- prefix: "This is part of the series: ",
52163
- separator: ";",
52164
- className: "inline-list"
52165
- }));
52166
- };
52167
-
52168
52328
  _this.renderLanguages = function () {
52169
52329
  var relations = _get__default["default"](_this.relations, 'language', []);
52170
52330
 
@@ -52226,6 +52386,10 @@ var LiteratureRelations = /*#__PURE__*/function (_Component) {
52226
52386
  };
52227
52387
 
52228
52388
  _this.relations = props.relations;
52389
+ _this.prefixes = {
52390
+ serial: 'This is part of the periodical:',
52391
+ multipart_monograph: 'This is part of the monograph:'
52392
+ };
52229
52393
  return _this;
52230
52394
  }
52231
52395
 
@@ -52234,13 +52398,51 @@ var LiteratureRelations = /*#__PURE__*/function (_Component) {
52234
52398
  value: function render() {
52235
52399
  return !_isEmpty__default["default"](this.relations) ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
52236
52400
  horizontal: true
52237
- }, "Related"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List, null, this.renderMultiparts(), this.renderSerials(), this.renderLanguages(), this.renderEditions(), this.renderOther())) : null;
52401
+ }, "Related"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List, null, /*#__PURE__*/React__default["default"].createElement(LiteratureRelationsField, {
52402
+ relationsData: this.relations,
52403
+ property: "multipart_monograph",
52404
+ prefix: this.prefixes['multipart_monograph']
52405
+ }), /*#__PURE__*/React__default["default"].createElement(LiteratureRelationsField, {
52406
+ relationsData: this.relations,
52407
+ property: "serial",
52408
+ prefix: this.prefixes['serial']
52409
+ }), this.renderLanguages(), this.renderEditions(), this.renderOther())) : null;
52238
52410
  }
52239
52411
  }]);
52240
52412
 
52241
52413
  return LiteratureRelations;
52242
52414
  }(React.Component);
52243
52415
 
52416
+ var LiteratureRelationsField = function LiteratureRelationsField(_ref) {
52417
+ var relationsData = _ref.relationsData,
52418
+ property = _ref.property,
52419
+ prefix = _ref.prefix;
52420
+
52421
+ var relations = _get__default["default"](relationsData, property, []);
52422
+
52423
+ if (!relations.length) return null;
52424
+
52425
+ var getLinkTo = function getLinkTo(relation) {
52426
+ return relation.pid_type === 'docid' ? FrontSiteRoutes.documentDetailsFor(relation.pid_value) : FrontSiteRoutes.seriesDetailsFor(relation.pid_value);
52427
+ };
52428
+
52429
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, null, prefix, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List, {
52430
+ bulleted: true
52431
+ }, relations.map(function (rel) {
52432
+ var volume = _get__default["default"](rel, 'volume');
52433
+
52434
+ var text = volume ? "".concat(rel.record_metadata.title, " (vol: ").concat(volume, ")") : rel.record_metadata.title;
52435
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.List.Item, {
52436
+ bulleted: true,
52437
+ key: rel.pid_value
52438
+ }, /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
52439
+ to: getLinkTo(rel)
52440
+ }, /*#__PURE__*/React__default["default"].createElement(LiteratureTitle$1, {
52441
+ title: text
52442
+ })));
52443
+ })));
52444
+ };
52445
+
52244
52446
  var DocumentMetadataTabs$1 = /*#__PURE__*/function (_Component) {
52245
52447
  _inherits(DocumentMetadataTabs, _Component);
52246
52448
 
@@ -52276,9 +52478,11 @@ var DocumentMetadataTabs$1 = /*#__PURE__*/function (_Component) {
52276
52478
  }, {
52277
52479
  menuItem: 'Identifiers',
52278
52480
  render: function render() {
52279
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Tab.Pane, null, /*#__PURE__*/React__default["default"].createElement(Identifiers, {
52481
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Tab.Pane, null, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
52482
+ id: "DocumentMetadataTabs.Identifiers"
52483
+ }, /*#__PURE__*/React__default["default"].createElement(Identifiers, {
52280
52484
  identifiers: identifiers.concat(altIdentifiers)
52281
- }));
52485
+ })));
52282
52486
  }
52283
52487
  }, {
52284
52488
  menuItem: 'Content',
@@ -52288,7 +52492,7 @@ var DocumentMetadataTabs$1 = /*#__PURE__*/function (_Component) {
52288
52492
  }));
52289
52493
  }
52290
52494
  }, {
52291
- menuItem: 'Publications',
52495
+ menuItem: 'Published in',
52292
52496
  render: function render() {
52293
52497
  return /*#__PURE__*/React__default["default"].createElement(DocumentPublicationInfo, {
52294
52498
  publications: metadata.publication_info
@@ -52323,13 +52527,6 @@ var DocumentMetadataTabs$1 = /*#__PURE__*/function (_Component) {
52323
52527
  metadata: metadata
52324
52528
  }));
52325
52529
  }
52326
- }, {
52327
- menuItem: 'Other',
52328
- render: function render() {
52329
- return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Tab.Pane, null, /*#__PURE__*/React__default["default"].createElement(DocumentExtras, {
52330
- metadata: metadata
52331
- }));
52332
- }
52333
52530
  }];
52334
52531
  var _metadata$extensions = metadata.extensions,
52335
52532
  extensions = _metadata$extensions === void 0 ? {} : _metadata$extensions;
@@ -52473,9 +52670,11 @@ var DocumentMetadataAccordion = /*#__PURE__*/function (_Component) {
52473
52670
  name: "dropdown"
52474
52671
  }), "Identifiers"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Accordion.Content, {
52475
52672
  active: activeIndex === 'identifiers'
52673
+ }, /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
52674
+ id: "DocumentMetadataTabs.Identifiers"
52476
52675
  }, /*#__PURE__*/React__default["default"].createElement(Identifiers, {
52477
52676
  identifiers: identifiers.concat(altIdentifiers)
52478
- })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Accordion.Title, {
52677
+ }))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Accordion.Title, {
52479
52678
  active: activeIndex === 'content',
52480
52679
  index: "content",
52481
52680
  onClick: this.handleClick
@@ -52550,16 +52749,6 @@ var DocumentMetadataAccordion = /*#__PURE__*/function (_Component) {
52550
52749
  active: activeIndex === 'licenses'
52551
52750
  }, /*#__PURE__*/React__default["default"].createElement(DocumentCopyrights, {
52552
52751
  metadata: metadata
52553
- })), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Accordion.Title, {
52554
- active: activeIndex === 'other',
52555
- index: "other",
52556
- onClick: this.handleClick
52557
- }, /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Icon, {
52558
- name: "dropdown"
52559
- }), "Other"), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Accordion.Content, {
52560
- active: activeIndex === 'other'
52561
- }, /*#__PURE__*/React__default["default"].createElement(DocumentExtras, {
52562
- metadata: metadata
52563
52752
  })));
52564
52753
  }
52565
52754
  }]);
@@ -52679,9 +52868,12 @@ var DocumentEItems = /*#__PURE__*/function (_Component) {
52679
52868
  as: "h3"
52680
52869
  }, "Access online"), eitems.total > 0 ? /*#__PURE__*/React__default["default"].createElement(DocumentEItemUrls, {
52681
52870
  eitems: eitems
52682
- }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, "No e-resources currently available. ", /*#__PURE__*/React__default["default"].createElement("br", null), /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
52683
- to: this.onClickEItemRequestLink()
52684
- }, "Request the e-book.")), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
52871
+ }) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("p", null, "No e-resources currently available."), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Button, {
52872
+ as: reactRouterDom.Link,
52873
+ to: this.onClickEItemRequestLink(),
52874
+ className: "default-margin-top",
52875
+ fluid: true
52876
+ }, "Request the e-book")), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Divider, {
52685
52877
  horizontal: true
52686
52878
  }, "Or"));
52687
52879
  }
@@ -53300,9 +53492,9 @@ var DocumentPanelMobile = /*#__PURE__*/function (_Component) {
53300
53492
  }), /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
53301
53493
  id: "DocumentPanelMobile.AfterAuthors",
53302
53494
  metadata: doc.metadata
53303
- }), ((_doc$metadata$imprint = doc.metadata.imprint) === null || _doc$metadata$imprint === void 0 ? void 0 : _doc$metadata$imprint.publisher) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
53495
+ }), ((_doc$metadata$imprint = doc.metadata.imprint) === null || _doc$metadata$imprint === void 0 ? void 0 : _doc$metadata$imprint.publisher) && /*#__PURE__*/React__default["default"].createElement("div", {
53304
53496
  className: "default-margin-bottom"
53305
- }, "Published by ", /*#__PURE__*/React__default["default"].createElement("b", null, (_doc$metadata$imprint2 = doc.metadata.imprint) === null || _doc$metadata$imprint2 === void 0 ? void 0 : _doc$metadata$imprint2.publisher), ' ', doc.metadata.publication_year && /*#__PURE__*/React__default["default"].createElement("b", null, doc.metadata.publication_year)))), /*#__PURE__*/React__default["default"].createElement(ILSParagraphPlaceholder, {
53497
+ }, "Published by ", /*#__PURE__*/React__default["default"].createElement("b", null, (_doc$metadata$imprint2 = doc.metadata.imprint) === null || _doc$metadata$imprint2 === void 0 ? void 0 : _doc$metadata$imprint2.publisher), ' ', /*#__PURE__*/React__default["default"].createElement("b", null, doc.metadata.publication_year))), /*#__PURE__*/React__default["default"].createElement(ILSParagraphPlaceholder, {
53306
53498
  linesNumber: 1,
53307
53499
  isLoading: isLoading
53308
53500
  }, /*#__PURE__*/React__default["default"].createElement(LiteratureTags$1, {
@@ -53390,9 +53582,9 @@ var DocumentPanel = /*#__PURE__*/function (_Component) {
53390
53582
  }), /*#__PURE__*/React__default["default"].createElement(Overridable__default["default"], {
53391
53583
  id: "DocumentPanel.AfterAuthors",
53392
53584
  metadata: doc.metadata
53393
- }), ((_doc$metadata$imprint = doc.metadata.imprint) === null || _doc$metadata$imprint === void 0 ? void 0 : _doc$metadata$imprint.publisher) && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
53585
+ }), ((_doc$metadata$imprint = doc.metadata.imprint) === null || _doc$metadata$imprint === void 0 ? void 0 : _doc$metadata$imprint.publisher) && /*#__PURE__*/React__default["default"].createElement("div", {
53394
53586
  className: "default-margin-bottom"
53395
- }, "Published by", ' ', /*#__PURE__*/React__default["default"].createElement("b", null, (_doc$metadata$imprint2 = doc.metadata.imprint) === null || _doc$metadata$imprint2 === void 0 ? void 0 : _doc$metadata$imprint2.publisher), ' ', doc.metadata.publication_year && /*#__PURE__*/React__default["default"].createElement("b", null, doc.metadata.publication_year)))), /*#__PURE__*/React__default["default"].createElement(ILSParagraphPlaceholder, {
53587
+ }, "Published by ", /*#__PURE__*/React__default["default"].createElement("b", null, (_doc$metadata$imprint2 = doc.metadata.imprint) === null || _doc$metadata$imprint2 === void 0 ? void 0 : _doc$metadata$imprint2.publisher), ' ', /*#__PURE__*/React__default["default"].createElement("b", null, doc.metadata.publication_year))), /*#__PURE__*/React__default["default"].createElement(ILSParagraphPlaceholder, {
53396
53588
  linesNumber: 15,
53397
53589
  isLoading: isLoading
53398
53590
  }, /*#__PURE__*/React__default["default"].createElement(ShowMoreContent, {
@@ -53504,11 +53696,19 @@ var DocumentDetailsLayout = function DocumentDetailsLayout(_ref) {
53504
53696
  isLoading: isLoading
53505
53697
  }, /*#__PURE__*/React__default["default"].createElement(DocumentMetadata$1, {
53506
53698
  documentDetails: documentDetails
53507
- })))), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Container, {
53508
- textAlign: "center"
53509
- }, !_isEmpty__default["default"](documentDetails.metadata) && /*#__PURE__*/React__default["default"].createElement(DocumentStats, {
53510
- document: documentDetails
53511
- }))));
53699
+ })))), /*#__PURE__*/React__default["default"].createElement(AuthenticationGuard, {
53700
+ authorizedComponent: function authorizedComponent() {
53701
+ return /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Container, {
53702
+ textAlign: "center"
53703
+ }, !_isEmpty__default["default"](documentDetails.metadata) && /*#__PURE__*/React__default["default"].createElement(DocumentStats, {
53704
+ document: documentDetails
53705
+ }));
53706
+ },
53707
+ loginComponent: function loginComponent() {
53708
+ return null;
53709
+ },
53710
+ silent: true
53711
+ })));
53512
53712
  };
53513
53713
 
53514
53714
  DocumentDetailsLayout.defaultProps = {
@@ -55821,7 +56021,7 @@ var LoansListEntry$1 = /*#__PURE__*/function (_Component) {
55821
56021
  basic: true
55822
56022
  }, "Loaned on", /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Label.Detail, null, luxon.DateTime.fromISO(startDate).toLocaleString())), /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Label, {
55823
56023
  basic: true
55824
- }, "Return on", /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Label.Detail, null, luxon.DateTime.fromISO(endDate).toLocaleString())));
56024
+ }, "Return date", /*#__PURE__*/React__default["default"].createElement(semanticUiReact.Label.Detail, null, luxon.DateTime.fromISO(endDate).toLocaleString())));
55825
56025
  }
55826
56026
  };
55827
56027
 
@@ -60372,6 +60572,7 @@ exports.NotFound = NotFound;
60372
60572
  exports.Pagination = Pagination$1;
60373
60573
  exports.ResultsTable = ResultsTable;
60374
60574
  exports.ScrollingMenuItem = ScrollingMenuItem;
60575
+ exports.SeparatedList = SeparatedList;
60375
60576
  exports.add = add;
60376
60577
  exports.bannerApi = bannerApi;
60377
60578
  exports.borrowingRequestApi = borrowingRequestApi;