@hmcts/ccd-case-ui-toolkit 6.18.4-EXUI-433-pass-all-fields-rc2 → 6.19.0-RetryCaseRetrievals.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2022,6 +2022,18 @@
2022
2022
  AbstractAppConfig.prototype.getLocationRefApiUrl = function () {
2023
2023
  return undefined;
2024
2024
  };
2025
+ AbstractAppConfig.prototype.getEnvironment = function () {
2026
+ var _a, _b, _c, _d;
2027
+ if ((_a = this.getActivityUrl()) === null || _a === void 0 ? void 0 : _a.includes('.aat.'))
2028
+ return 'aat';
2029
+ else if ((_b = this.getActivityUrl()) === null || _b === void 0 ? void 0 : _b.includes('.preview.'))
2030
+ return 'preview';
2031
+ else if ((_c = this.getActivityUrl()) === null || _c === void 0 ? void 0 : _c.includes('.demo.'))
2032
+ return 'demo';
2033
+ else if ((_d = this.getActivityUrl()) === null || _d === void 0 ? void 0 : _d.includes('.ithc.'))
2034
+ return 'ithc';
2035
+ return 'prod';
2036
+ };
2025
2037
  AbstractAppConfig.prototype.getCamRoleAssignmentsApiUrl = function () {
2026
2038
  return undefined;
2027
2039
  };
@@ -8624,8 +8636,82 @@
8624
8636
  }], null, null);
8625
8637
  })();
8626
8638
 
8639
+ var RxjsUtils = /** @class */ (function () {
8640
+ function RxjsUtils() {
8641
+ this.artificialDelayOn = true;
8642
+ this.artificialDelayPeriod = Math.random() > 0.5 ? 60 : 3;
8643
+ }
8644
+ RxjsUtils.prototype.switchArtificialDelays = function (status) {
8645
+ this.artificialDelayOn = status;
8646
+ this.artificialDelayPeriod = Math.random() > 0.5 ? 60 : 2;
8647
+ };
8648
+ RxjsUtils.prototype.switchOnArtificialDelays = function () {
8649
+ this.switchArtificialDelays(true);
8650
+ };
8651
+ RxjsUtils.prototype.switchOffArtificialDelays = function () {
8652
+ this.switchArtificialDelays(false);
8653
+ };
8654
+ RxjsUtils.prototype.getArtificialDelayTime = function () {
8655
+ return this.artificialDelayOn ? this.artificialDelayPeriod : 0;
8656
+ };
8657
+ RxjsUtils.prototype.pipeTimeoutMechanismOn = function (in$, environment, timeoutPeriods) {
8658
+ this.switchOnArtificialDelays();
8659
+ var out$ = in$;
8660
+ if (environment === 'aat') {
8661
+ out$ = this.pipeArtificialDelayOn(out$);
8662
+ }
8663
+ out$ = this.pipeTimeOutControlOn(out$, timeoutPeriods);
8664
+ out$ = this.pipeRetryMechanismOn(out$);
8665
+ return out$;
8666
+ };
8667
+ RxjsUtils.prototype.pipeTimeOutControlOn = function (in$, timeoutPeriods) {
8668
+ var timeOutAfterSeconds = timeoutPeriods[0];
8669
+ var out$ = in$.pipe(operators.timeout(timeOutAfterSeconds * 1000));
8670
+ return out$;
8671
+ };
8672
+ RxjsUtils.prototype.pipeRetryMechanismOn = function (in$) {
8673
+ var _this = this;
8674
+ var retryStrategy = function (errors) {
8675
+ return errors.pipe(operators.mergeMap(function (error, i) {
8676
+ console.error("Mapping error " + (error === null || error === void 0 ? void 0 : error.name) + ", " + i);
8677
+ console.error(error);
8678
+ if ((error === null || error === void 0 ? void 0 : error.name) === 'TimeoutError' && i === 0) {
8679
+ _this.switchOffArtificialDelays();
8680
+ console.info('Will retry, after a timeout error.');
8681
+ }
8682
+ else {
8683
+ console.error('Will NOT retry.');
8684
+ rxjs.throwError(error);
8685
+ }
8686
+ return rxjs.timer(0);
8687
+ }), operators.finalize(function () { return console.log('We are done!'); }));
8688
+ };
8689
+ var out$ = in$.pipe(operators.retryWhen(retryStrategy));
8690
+ return out$;
8691
+ };
8692
+ RxjsUtils.prototype.pipeArtificialDelayOn = function (in$) {
8693
+ var _this = this;
8694
+ var out$ = in$.pipe(operators.tap(function () {
8695
+ console.log("Artificially delaying for " + _this.getArtificialDelayTime() + " seconds..");
8696
+ }));
8697
+ out$ = out$.pipe(operators.delayWhen(function () { return rxjs.timer(_this.getArtificialDelayTime() * 1000); }));
8698
+ out$ = out$.pipe(operators.tap(function () {
8699
+ console.log("Artificially delayed for " + _this.getArtificialDelayTime() + " seconds..");
8700
+ }));
8701
+ return out$;
8702
+ };
8703
+ return RxjsUtils;
8704
+ }());
8705
+ RxjsUtils.ɵfac = function RxjsUtils_Factory(t) { return new (t || RxjsUtils)(); };
8706
+ RxjsUtils.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: RxjsUtils, factory: RxjsUtils.ɵfac });
8707
+ (function () {
8708
+ (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(RxjsUtils, [{
8709
+ type: i0.Injectable
8710
+ }], null, null);
8711
+ })();
8712
+
8627
8713
  var CasesService = /** @class */ (function () {
8628
- function CasesService(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, loadingService, sessionStorageService) {
8714
+ function CasesService(http, appConfig, orderService, errorService, wizardPageFieldToCaseFieldMapper, loadingService, sessionStorageService, rxjsUtils) {
8629
8715
  this.http = http;
8630
8716
  this.appConfig = appConfig;
8631
8717
  this.orderService = orderService;
@@ -8633,6 +8719,7 @@
8633
8719
  this.wizardPageFieldToCaseFieldMapper = wizardPageFieldToCaseFieldMapper;
8634
8720
  this.loadingService = loadingService;
8635
8721
  this.sessionStorageService = sessionStorageService;
8722
+ this.rxjsUtils = rxjsUtils;
8636
8723
  this.get = this.getCaseView;
8637
8724
  }
8638
8725
  CasesService.updateChallengedAccessRequestAttributes = function (httpClient, caseId, attributesToUpdate) {
@@ -8666,14 +8753,21 @@
8666
8753
  .set('Accept', CasesService.V2_MEDIATYPE_CASE_VIEW)
8667
8754
  .set('Content-Type', 'application/json');
8668
8755
  var loadingToken = this.loadingService.register();
8669
- return this.http
8670
- .get(url, { headers: headers, observe: 'body' })
8671
- .pipe(operators.catchError(function (error) {
8672
- console.error('Error while getting case view with getCaseViewV2!');
8756
+ var http$ = this.http.get(url, { headers: headers, observe: 'body' });
8757
+ this.rxjsUtils.pipeTimeoutMechanismOn(http$, this.appConfig.getEnvironment(), this.appConfig.getCaseRetrievalTimeouts());
8758
+ http$ = this.pipeErrorProcessor(http$);
8759
+ http$ = http$.pipe(operators.finalize(function () { return _this.finalizeGetCaseViewWith(caseId, loadingToken); }));
8760
+ return http$;
8761
+ };
8762
+ CasesService.prototype.pipeErrorProcessor = function (in$) {
8763
+ var _this = this;
8764
+ var out$$ = in$.pipe(operators.catchError(function (error) {
8765
+ console.error("Error while getting case view with getCaseViewV2! Error type: '" + typeof error + ", Error name: '" + (error === null || error === void 0 ? void 0 : error.name) + "'");
8673
8766
  console.error(error);
8674
8767
  _this.errorService.setError(error);
8675
8768
  return rxjs.throwError(error);
8676
- }), operators.finalize(function () { return _this.finalizeGetCaseViewWith(caseId, loadingToken); }));
8769
+ }));
8770
+ return out$$;
8677
8771
  };
8678
8772
  CasesService.prototype.syncWait = function (seconds) {
8679
8773
  var end = Date.now() + seconds * 1000;
@@ -8871,12 +8965,12 @@
8871
8965
  CasesService.V2_MEDIATYPE_CREATE_EVENT = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-event.v2+json;charset=UTF-8';
8872
8966
  CasesService.V2_MEDIATYPE_CREATE_CASE = 'application/vnd.uk.gov.hmcts.ccd-data-store-api.create-case.v2+json;charset=UTF-8';
8873
8967
  CasesService.PUI_CASE_MANAGER = 'pui-case-manager';
8874
- CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0__namespace.ɵɵinject(HttpService), i0__namespace.ɵɵinject(AbstractAppConfig), i0__namespace.ɵɵinject(OrderService), i0__namespace.ɵɵinject(HttpErrorService), i0__namespace.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0__namespace.ɵɵinject(LoadingService), i0__namespace.ɵɵinject(SessionStorageService)); };
8968
+ CasesService.ɵfac = function CasesService_Factory(t) { return new (t || CasesService)(i0__namespace.ɵɵinject(HttpService), i0__namespace.ɵɵinject(AbstractAppConfig), i0__namespace.ɵɵinject(OrderService), i0__namespace.ɵɵinject(HttpErrorService), i0__namespace.ɵɵinject(WizardPageFieldToCaseFieldMapper), i0__namespace.ɵɵinject(LoadingService), i0__namespace.ɵɵinject(SessionStorageService), i0__namespace.ɵɵinject(RxjsUtils)); };
8875
8969
  CasesService.ɵprov = i0__namespace.ɵɵdefineInjectable({ token: CasesService, factory: CasesService.ɵfac });
8876
8970
  (function () {
8877
8971
  (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CasesService, [{
8878
8972
  type: i0.Injectable
8879
- }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: LoadingService }, { type: SessionStorageService }]; }, null);
8973
+ }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }, { type: OrderService }, { type: HttpErrorService }, { type: WizardPageFieldToCaseFieldMapper }, { type: LoadingService }, { type: SessionStorageService }, { type: RxjsUtils }]; }, null);
8880
8974
  })();
8881
8975
 
8882
8976
  var EventTriggerService = /** @class */ (function () {
@@ -26311,7 +26405,7 @@
26311
26405
  var checkConditionalShowAgainst = values;
26312
26406
  var formGroupAvailable = false;
26313
26407
  if (formGroup) {
26314
- checkConditionalShowAgainst = formGroup.value ? formGroup.value : formGroup;
26408
+ checkConditionalShowAgainst = formGroup.value;
26315
26409
  formGroupAvailable = true;
26316
26410
  }
26317
26411
  return fields
@@ -27317,7 +27411,7 @@
27317
27411
  var page_r13 = i0__namespace.ɵɵnextContext().$implicit;
27318
27412
  var ctx_r14 = i0__namespace.ɵɵnextContext(3);
27319
27413
  i0__namespace.ɵɵadvance(1);
27320
- i0__namespace.ɵɵproperty("ngForOf", i0__namespace.ɵɵpipeBind1(2, 1, i0__namespace.ɵɵpipeBindV(3, 3, i0__namespace.ɵɵpureFunction2(12, _c0$f, i0__namespace.ɵɵpipeBind2(4, 9, page_r13, ctx_r14.editForm), ctx_r14.allFieldsValues))));
27414
+ i0__namespace.ɵɵproperty("ngForOf", i0__namespace.ɵɵpipeBind1(2, 1, i0__namespace.ɵɵpipeBindV(3, 3, i0__namespace.ɵɵpureFunction2(12, _c0$f, i0__namespace.ɵɵpipeBind2(4, 9, page_r13, ctx_r14.editForm), ctx_r14.editForm.controls["data"]))));
27321
27415
  }
27322
27416
  }
27323
27417
  function CaseEditSubmitComponent_div_0_ng_container_11_ng_container_7_Template(rf, ctx) {
@@ -27585,7 +27679,6 @@
27585
27679
  this.caseEdit.isLinkedCasesSubmission =
27586
27680
  this.eventTrigger.case_fields.some(function (caseField) { return FieldsUtils.isCaseFieldOfType(caseField, ['ComponentLauncher']); });
27587
27681
  this.pageTitle = this.caseEdit.isCaseFlagSubmission ? 'Review flag details' : 'Check your answers';
27588
- this.allFieldsValues = this.editForm.getRawValue().data;
27589
27682
  };
27590
27683
  CaseEditSubmitComponent.prototype.ngOnDestroy = function () {
27591
27684
  /* istanbul ignore else */