@hmcts/ccd-case-ui-toolkit 7.0.9 → 7.0.10-exui-1184-rc1

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.
@@ -55,6 +55,7 @@ import * as i2$2 from 'ngx-pagination';
55
55
  import { NgxPaginationModule, PaginatePipe } from 'ngx-pagination';
56
56
  import * as i10 from '@angular/material/legacy-tabs';
57
57
  import { MatLegacyTabsModule } from '@angular/material/legacy-tabs';
58
+ import { decompressFromUTF16, compressToUTF16 } from 'lz-string';
58
59
 
59
60
  function FooterComponent_div_2_Template(rf, ctx) {
60
61
  if (rf & 1) {
@@ -4528,6 +4529,7 @@ class Constants {
4528
4529
  }
4529
4530
  Constants.MANDATORY = 'MANDATORY';
4530
4531
  Constants.REGEX_WHITESPACES = '^[^ ]+(?:\\s+[^ ]+)*$';
4532
+ Constants.TASK_COMPLETION_ERROR = 'The associated task for this event failed to complete automatically. Please complete the task manually in the Tasks tab on the case';
4531
4533
  Constants.ɵfac = function Constants_Factory(t) { return new (t || Constants)(); };
4532
4534
  Constants.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: Constants, factory: Constants.ɵfac });
4533
4535
  (function () {
@@ -4963,7 +4965,7 @@ class FieldsPurger {
4963
4965
  // Also need to allow for conditions specified using the "CONTAINS" keyword
4964
4966
  return showCondition.split(/!=|=|CONTAINS/)[0];
4965
4967
  }
4966
- resetField(form, field) {
4968
+ resetField(form, field, calledFromResetPage = false) {
4967
4969
  /**
4968
4970
  * If the hidden field's value is to be retained, do nothing (except if it is a Complex type or collection of
4969
4971
  * Complex types). This is a change to the previous behaviour (which used to clear the field value but remove it
@@ -5026,6 +5028,11 @@ class FieldsPurger {
5026
5028
  }
5027
5029
  }
5028
5030
  }
5031
+ else if (calledFromResetPage) {
5032
+ // Delete the field from formGroup
5033
+ const dataGroup = form.get('data');
5034
+ dataGroup.removeControl(field.id);
5035
+ }
5029
5036
  else {
5030
5037
  // Delete the field value
5031
5038
  this.deleteFieldValue(form.get('data'), field);
@@ -5034,7 +5041,7 @@ class FieldsPurger {
5034
5041
  resetPage(form, wizardPage) {
5035
5042
  wizardPage.wizard_page_fields.forEach(wpf => {
5036
5043
  const caseField = this.findCaseFieldByWizardPageFieldId(wizardPage, wpf);
5037
- this.resetField(form, caseField);
5044
+ this.resetField(form, caseField, true);
5038
5045
  });
5039
5046
  }
5040
5047
  getType(elem) {
@@ -8953,7 +8960,7 @@ ValidPageListCaseFieldsService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({
8953
8960
  })();
8954
8961
 
8955
8962
  class CaseEditComponent {
8956
- constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService) {
8963
+ constructor(fb, caseNotifier, router, route, fieldsUtils, fieldsPurger, registrarService, wizardFactory, sessionStorageService, windowsService, formValueService, formErrorService, loadingService, validPageListCaseFieldsService, workAllocationService, alertService) {
8957
8964
  this.fb = fb;
8958
8965
  this.caseNotifier = caseNotifier;
8959
8966
  this.router = router;
@@ -8969,6 +8976,7 @@ class CaseEditComponent {
8969
8976
  this.loadingService = loadingService;
8970
8977
  this.validPageListCaseFieldsService = validPageListCaseFieldsService;
8971
8978
  this.workAllocationService = workAllocationService;
8979
+ this.alertService = alertService;
8972
8980
  this.cancelled = new EventEmitter();
8973
8981
  this.submitted = new EventEmitter();
8974
8982
  this.isEventCompletionChecksRequired = false;
@@ -9257,6 +9265,7 @@ class CaseEditComponent {
9257
9265
  const loadingSpinnerToken = this.loadingService.register();
9258
9266
  // keep the initial event response to finalise process after task completion
9259
9267
  let eventResponse;
9268
+ this.sessionStorageService.setItem('taskCompletionError', 'false');
9260
9269
  submit(caseEventData).pipe(switchMap((response) => {
9261
9270
  eventResponse = response;
9262
9271
  return this.postCompleteTaskIfRequired();
@@ -9278,10 +9287,13 @@ class CaseEditComponent {
9278
9287
  this.isSubmitting = false;
9279
9288
  }
9280
9289
  else {
9290
+ this.sessionStorageService.setItem('taskCompletionError', 'true');
9281
9291
  // task assignment/completion error - handled within workallocation service
9282
9292
  // could set task to be deleted (or completed later)?
9283
- // note: think error messages only shown if user is caseworker - might reqauire changing
9284
9293
  this.finishEventCompletionLogic(eventResponse);
9294
+ // below allows error to be shown on navigation to confirmation page
9295
+ this.alertService.setPreserveAlerts(true);
9296
+ this.alertService.error({ phrase: Constants.TASK_COMPLETION_ERROR });
9285
9297
  }
9286
9298
  });
9287
9299
  }
@@ -9337,7 +9349,7 @@ class CaseEditComponent {
9337
9349
  }
9338
9350
  CaseEditComponent.ORIGIN_QUERY_PARAM = 'origin';
9339
9351
  CaseEditComponent.ALERT_MESSAGE = 'Page is being refreshed so you will be redirected to the first page of this event.';
9340
- CaseEditComponent.ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i3.FormBuilder), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(FieldsPurger), i0.ɵɵdirectiveInject(ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(WizardFactoryService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(WorkAllocationService)); };
9352
+ CaseEditComponent.ɵfac = function CaseEditComponent_Factory(t) { return new (t || CaseEditComponent)(i0.ɵɵdirectiveInject(i3.FormBuilder), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(FieldsUtils), i0.ɵɵdirectiveInject(FieldsPurger), i0.ɵɵdirectiveInject(ConditionalShowRegistrarService), i0.ɵɵdirectiveInject(WizardFactoryService), i0.ɵɵdirectiveInject(SessionStorageService), i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(FormValueService), i0.ɵɵdirectiveInject(FormErrorService), i0.ɵɵdirectiveInject(LoadingService), i0.ɵɵdirectiveInject(ValidPageListCaseFieldsService), i0.ɵɵdirectiveInject(WorkAllocationService), i0.ɵɵdirectiveInject(AlertService)); };
9341
9353
  CaseEditComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditComponent, selectors: [["ccd-case-edit"]], inputs: { eventTrigger: "eventTrigger", submit: "submit", validate: "validate", saveDraft: "saveDraft", caseDetails: "caseDetails" }, outputs: { cancelled: "cancelled", submitted: "submitted" }, features: [i0.ɵɵProvidersFeature([GreyBarService])], decls: 1, vars: 0, template: function CaseEditComponent_Template(rf, ctx) {
9342
9354
  if (rf & 1) {
9343
9355
  i0.ɵɵelement(0, "router-outlet");
@@ -9347,7 +9359,7 @@ CaseEditComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEditC
9347
9359
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEditComponent, [{
9348
9360
  type: Component,
9349
9361
  args: [{ selector: 'ccd-case-edit', providers: [GreyBarService], template: "<router-outlet></router-outlet>\n", styles: ["#fieldset-case-data{margin-bottom:30px}#fieldset-case-data th{width:1%;white-space:nowrap;vertical-align:top}.compound-field td{padding:0}#confirmation-header{width:630px;background-color:#17958b;border:solid 1px #979797;color:#fff;text-align:center}#confirmation-body{width:630px;background-color:#fff}.valign-top{vertical-align:top}.summary-fields{margin-bottom:30px}.summary-fields tbody tr th,.summary-fields tbody tr td{border-bottom:0px}a.disabled{pointer-events:none;cursor:default}.case-field-label{width:45%}.case-field-content{width:50%}.no-bottom-border{border-bottom:none}.case-field-change{width:5%}\n"] }]
9350
- }], function () { return [{ type: i3.FormBuilder }, { type: CaseNotifier }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: FieldsUtils }, { type: FieldsPurger }, { type: ConditionalShowRegistrarService }, { type: WizardFactoryService }, { type: SessionStorageService }, { type: WindowService }, { type: FormValueService }, { type: FormErrorService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: WorkAllocationService }]; }, { eventTrigger: [{
9362
+ }], function () { return [{ type: i3.FormBuilder }, { type: CaseNotifier }, { type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: FieldsUtils }, { type: FieldsPurger }, { type: ConditionalShowRegistrarService }, { type: WizardFactoryService }, { type: SessionStorageService }, { type: WindowService }, { type: FormValueService }, { type: FormErrorService }, { type: LoadingService }, { type: ValidPageListCaseFieldsService }, { type: WorkAllocationService }, { type: AlertService }]; }, { eventTrigger: [{
9351
9363
  type: Input
9352
9364
  }], submit: [{
9353
9365
  type: Input
@@ -21926,7 +21938,7 @@ function WriteYesNoFieldComponent_div_7_Template(rf, ctx) {
21926
21938
  i0.ɵɵadvance(1);
21927
21939
  i0.ɵɵproperty("for", ctx_r3.createElementId(value_r4));
21928
21940
  i0.ɵɵadvance(1);
21929
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4));
21941
+ i0.ɵɵtextInterpolate(ctx_r3.caseField.label ? i0.ɵɵpipeBind3(4, 8, ctx_r3.caseField.label, null, value_r4) : value_r4);
21930
21942
  }
21931
21943
  }
21932
21944
  const _c1$a = function (a0) { return { "form-group-error": a0 }; };
@@ -21969,7 +21981,7 @@ WriteYesNoFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Wr
21969
21981
  (function () {
21970
21982
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteYesNoFieldComponent, [{
21971
21983
  type: Component,
21972
- args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n \t <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label | rpxTranslate : null : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\n" }]
21984
+ args: [{ selector: 'ccd-write-yes-no-field', template: "<div [id]=\"id()\" class=\"form-group bottom-30\" [ngClass]=\"{'form-group-error': !yesNoControl.valid && (yesNoControl.dirty || yesNoControl.touched)}\">\n\t<fieldset class=\"inline\">\n <legend>\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </legend>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"yesNoControl.errors && (yesNoControl.dirty || yesNoControl.touched)\">\n {{yesNoControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <div [id]=\"createElementId('radio')\">\n \t <div class=\"multiple-choice\" *ngFor=\"let value of yesNoValues\" [ngClass]=\"{selected: yesNoControl.value === value}\">\n \t <input class=\"form-control\" [id]=\"createElementId(value)\" [attr.name]=\"id()\" [name]=\"id()\" type=\"radio\" [formControl]=\"yesNoControl\" [value]=\"value\">\n <label class=\"form-label\" [for]=\"createElementId(value)\">{{caseField.label ? (caseField.label | rpxTranslate:null:value) : value}}</label>\n \t </div>\n </div>\n\t</fieldset>\n</div>\n" }]
21973
21985
  }], function () { return [{ type: YesNoService }]; }, null);
21974
21986
  })();
21975
21987
 
@@ -32628,7 +32640,7 @@ function CaseEventTriggerComponent_div_0_Template(rf, ctx) {
32628
32640
  }
32629
32641
  }
32630
32642
  class CaseEventTriggerComponent {
32631
- constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService) {
32643
+ constructor(ngZone, casesService, caseNotifier, router, alertService, route, caseReferencePipe, activityPollingService, sessionStorageService) {
32632
32644
  this.ngZone = ngZone;
32633
32645
  this.casesService = casesService;
32634
32646
  this.caseNotifier = caseNotifier;
@@ -32637,6 +32649,7 @@ class CaseEventTriggerComponent {
32637
32649
  this.route = route;
32638
32650
  this.caseReferencePipe = caseReferencePipe;
32639
32651
  this.activityPollingService = activityPollingService;
32652
+ this.sessionStorageService = sessionStorageService;
32640
32653
  this.BANNER = DisplayMode.BANNER;
32641
32654
  }
32642
32655
  ngOnInit() {
@@ -32686,21 +32699,30 @@ class CaseEventTriggerComponent {
32686
32699
  }
32687
32700
  submitted(event) {
32688
32701
  const eventStatus = event['status'];
32702
+ const taskCompletionFailed = this.sessionStorageService.getItem('taskCompletionError') === 'true';
32689
32703
  this.router
32690
32704
  .navigate([this.parentUrl])
32691
32705
  .then(() => {
32692
32706
  const caseReference = this.caseReferencePipe.transform(this.caseDetails.case_id.toString());
32693
32707
  const replacements = { CASEREFERENCE: caseReference, NAME: this.eventTrigger.name };
32694
- if (EventStatusService.isIncomplete(eventStatus)) {
32708
+ this.alertService.setPreserveAlerts(true);
32709
+ if (taskCompletionFailed) {
32710
+ // if task still present in session storage, we know that the task has not been correctly completed
32711
+ this.alertService.warning({
32712
+ phrase: CaseEventTriggerComponent.EVENT_COMPLETION_MESSAGE + '. ' + Constants.TASK_COMPLETION_ERROR,
32713
+ replacements
32714
+ });
32715
+ this.sessionStorageService.removeItem('taskCompletionError');
32716
+ }
32717
+ else if (EventStatusService.isIncomplete(eventStatus)) {
32695
32718
  this.alertService.warning({
32696
- phrase: `Case #%CASEREFERENCE% has been updated with event: %NAME%
32697
- but the callback service cannot be completed`,
32719
+ phrase: CaseEventTriggerComponent.EVENT_COMPLETION_MESSAGE + CaseEventTriggerComponent.CALLBACK_FAILED_MESSAGE,
32698
32720
  replacements
32699
32721
  });
32700
32722
  }
32701
32723
  else {
32702
32724
  this.alertService.success({
32703
- phrase: 'Case #%CASEREFERENCE% has been updated with event: %NAME%',
32725
+ phrase: CaseEventTriggerComponent.EVENT_COMPLETION_MESSAGE,
32704
32726
  replacements,
32705
32727
  preserve: true
32706
32728
  });
@@ -32719,7 +32741,9 @@ class CaseEventTriggerComponent {
32719
32741
  return !!(this.eventTrigger && this.caseDetails);
32720
32742
  }
32721
32743
  }
32722
- CaseEventTriggerComponent.ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(ActivityPollingService)); };
32744
+ CaseEventTriggerComponent.EVENT_COMPLETION_MESSAGE = `Case #%CASEREFERENCE% has been updated with event: %NAME%`;
32745
+ CaseEventTriggerComponent.CALLBACK_FAILED_MESSAGE = ' but the callback service cannot be completed';
32746
+ CaseEventTriggerComponent.ɵfac = function CaseEventTriggerComponent_Factory(t) { return new (t || CaseEventTriggerComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(CasesService), i0.ɵɵdirectiveInject(CaseNotifier), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(CaseReferencePipe), i0.ɵɵdirectiveInject(ActivityPollingService), i0.ɵɵdirectiveInject(SessionStorageService)); };
32723
32747
  CaseEventTriggerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CaseEventTriggerComponent, selectors: [["ccd-case-event-trigger"]], decls: 1, vars: 1, consts: [["class", "screen-990", 4, "ngIf"], [1, "screen-990"], [3, "caseId", "displayMode"], [3, "caseDetails", "submit", "validate", "eventTrigger", "cancelled", "submitted"]], template: function CaseEventTriggerComponent_Template(rf, ctx) {
32724
32748
  if (rf & 1) {
32725
32749
  i0.ɵɵtemplate(0, CaseEventTriggerComponent_div_0_Template, 3, 6, "div", 0);
@@ -32732,7 +32756,7 @@ CaseEventTriggerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: C
32732
32756
  (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseEventTriggerComponent, [{
32733
32757
  type: Component,
32734
32758
  args: [{ selector: 'ccd-case-event-trigger', template: "<div *ngIf=\"isDataLoaded()\" class=\"screen-990\">\n <ccd-activity [caseId]=\"caseDetails.case_id\" [displayMode]=\"BANNER\"></ccd-activity>\n <ccd-case-edit [caseDetails]=\"caseDetails\"\n [submit]=\"submit()\"\n [validate]=\"validate()\"\n [eventTrigger]=\"eventTrigger\"\n (cancelled)=\"cancel()\"\n (submitted)=\"submitted($event)\"></ccd-case-edit>\n</div>\n" }]
32735
- }], function () { return [{ type: i0.NgZone }, { type: CasesService }, { type: CaseNotifier }, { type: i1$1.Router }, { type: AlertService }, { type: i1$1.ActivatedRoute }, { type: CaseReferencePipe }, { type: ActivityPollingService }]; }, null);
32759
+ }], function () { return [{ type: i0.NgZone }, { type: CasesService }, { type: CaseNotifier }, { type: i1$1.Router }, { type: AlertService }, { type: i1$1.ActivatedRoute }, { type: CaseReferencePipe }, { type: ActivityPollingService }, { type: SessionStorageService }]; }, null);
32736
32760
  })();
32737
32761
 
32738
32762
  function CaseViewComponent_div_0_Template(rf, ctx) {
@@ -36884,8 +36908,18 @@ class SearchFiltersComponent {
36884
36908
  if (this.jurisdictions.length === 1 || jurisdiction) {
36885
36909
  this.selected.jurisdiction = this.jurisdictions[0];
36886
36910
  if (jurisdiction) {
36887
- const localStorageJurisdiction = JSON.parse(jurisdiction);
36888
- this.selected.jurisdiction = this.jurisdictions.filter(j => j.id === localStorageJurisdiction.id)[0];
36911
+ try {
36912
+ console.log('jurisdiction retrieved from local storage len = ' + jurisdiction.length);
36913
+ const localStorageJurisdiction = JSON.parse(decompressFromUTF16(jurisdiction));
36914
+ if (localStorageJurisdiction) {
36915
+ this.selected.jurisdiction = this.jurisdictions
36916
+ .filter(j => j.id === localStorageJurisdiction.id)[0];
36917
+ }
36918
+ }
36919
+ catch (e) {
36920
+ console.log("Failed to retrieve jurisdiction from local storage");
36921
+ this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
36922
+ }
36889
36923
  }
36890
36924
  this.onJurisdictionIdChange();
36891
36925
  }
@@ -36910,6 +36944,7 @@ class SearchFiltersComponent {
36910
36944
  this.onReset.emit();
36911
36945
  }
36912
36946
  apply() {
36947
+ console.log("Search filters apply");
36913
36948
  this.selected.formGroup = this.formGroup;
36914
36949
  this.selected.page = 1;
36915
36950
  this.selected.metadataFields = this.getMetadataFields();
@@ -36923,7 +36958,15 @@ class SearchFiltersComponent {
36923
36958
  populateValuesInLocalStorage() {
36924
36959
  this.windowService.setLocalStorage(FORM_GROUP_VALUE_LOC_STORAGE, JSON.stringify(this.selected.formGroup.value));
36925
36960
  this.windowService.setLocalStorage(META_FIELDS_LOC_STORAGE, JSON.stringify(this.selected.metadataFields));
36926
- this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, JSON.stringify(this.selected.jurisdiction));
36961
+ try {
36962
+ const compJurisd = compressToUTF16(JSON.stringify(this.selected.jurisdiction));
36963
+ this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, compJurisd);
36964
+ console.log('jurisdiction compressed into local storage, length = ' + compJurisd.length);
36965
+ }
36966
+ catch (e) {
36967
+ console.log('Could not store jurisdiction in local storage');
36968
+ this.windowService.setLocalStorage(JURISDICTION_LOC_STORAGE, null);
36969
+ }
36927
36970
  if (this.selected.caseType) {
36928
36971
  this.windowService.setLocalStorage(CASE_TYPE_LOC_STORAGE, JSON.stringify(this.selected.caseType));
36929
36972
  }