@hmcts/ccd-case-ui-toolkit 7.2.12 → 7.2.13-2895-rc2

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.
@@ -8,10 +8,10 @@ import * as i1$1 from '@angular/router';
8
8
  import { RouterModule, NavigationStart, NavigationEnd } from '@angular/router';
9
9
  import * as i4 from '@angular/forms';
10
10
  import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormArray, FormGroup, FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
11
- import { BehaviorSubject, throwError, Subject, EMPTY, Observable, of, timer, forkJoin, fromEvent, Subscription, combineLatest } from 'rxjs';
11
+ import { BehaviorSubject, throwError, Subject, EMPTY, Observable, of, combineLatest, timer, forkJoin, fromEvent, Subscription } from 'rxjs';
12
12
  import * as i1$2 from '@angular/common/http';
13
13
  import { HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';
14
- import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, take, first, takeUntil, filter } from 'rxjs/operators';
14
+ import { distinctUntilChanged, catchError, map, publish, refCount, switchMap, debounceTime, take, delay, finalize, timeout, mergeMap, retryWhen, tap, delayWhen, publishReplay, first, takeUntil, filter } from 'rxjs/operators';
15
15
  import { polling } from 'rx-polling-hmcts';
16
16
  import { Type, Exclude, Expose, plainToClassFromExist, plainToClass } from 'class-transformer';
17
17
  import moment from 'moment';
@@ -661,7 +661,7 @@ class DateInputComponent {
661
661
  useExisting: forwardRef(() => DateInputComponent),
662
662
  multi: true
663
663
  }
664
- ])], decls: 22, vars: 36, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "number", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
664
+ ])], decls: 22, vars: 36, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
665
665
  const _r1 = i0.ɵɵgetCurrentView();
666
666
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "span", 8);
667
667
  i0.ɵɵtext(3);
@@ -729,7 +729,7 @@ class DateInputComponent {
729
729
  useExisting: forwardRef(() => DateInputComponent),
730
730
  multi: true
731
731
  }
732
- ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <span class=\"form-label\" [attr.id]=\"'day-label-'+dayId()\">{{'Day' | rpxTranslate}}</span>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'day-label-'+dayId()\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <span class=\"form-label\" [attr.id]=\"'month-label-'+ monthId()\">{{'Month' | rpxTranslate}}</span>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'month-label-'+ monthId()\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <span class=\"form-label\" [attr.id]=\"'year-label-'+ yearId()\">{{'Year' | rpxTranslate}}</span>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'year-label-'+ yearId()\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'hour-label-'+ hourId()\">{{'Hour' | rpxTranslate}}</span>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'hour-label-'+ hourId()\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'minute-label-'+ hourId()\">{{'Minute' | rpxTranslate}}</span>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'minute-label-'+ minuteId()\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'second-label-'+ secondId()\">{{'Second' | rpxTranslate}}</span>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"number\"\n [attr.aria-labelledby]=\"'second-label-'+ secondId()\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
732
+ ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <span class=\"form-label\" [attr.id]=\"'day-label-'+dayId()\">{{'Day' | rpxTranslate}}</span>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'day-label-'+dayId()\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <span class=\"form-label\" [attr.id]=\"'month-label-'+ monthId()\">{{'Month' | rpxTranslate}}</span>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'month-label-'+ monthId()\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <span class=\"form-label\" [attr.id]=\"'year-label-'+ yearId()\">{{'Year' | rpxTranslate}}</span>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'year-label-'+ yearId()\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'hour-label-'+ hourId()\">{{'Hour' | rpxTranslate}}</span>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'hour-label-'+ hourId()\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'minute-label-'+ hourId()\">{{'Minute' | rpxTranslate}}</span>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'minute-label-'+ minuteId()\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <span class=\"form-label\" [attr.id]=\"'second-label-'+ secondId()\">{{'Second' | rpxTranslate}}</span>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [attr.aria-labelledby]=\"'second-label-'+ secondId()\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
733
733
  }], null, { id: [{
734
734
  type: Input
735
735
  }], mandatory: [{
@@ -1281,6 +1281,7 @@ class CaseEditorConfig {
1281
1281
  hrs_url;
1282
1282
  document_management_secure_enabled;
1283
1283
  documentSecureModeCaseTypeExclusions;
1284
+ mc_cdam_exclusion_list;
1284
1285
  login_url;
1285
1286
  oauth2_client_id;
1286
1287
  postcode_lookup_url;
@@ -7113,10 +7114,44 @@ class CaseNotifier {
7113
7114
  type: Injectable
7114
7115
  }], () => [{ type: CasesService }], null); })();
7115
7116
 
7117
+ class JurisdictionService {
7118
+ httpService;
7119
+ // We retain the Subject observable because subscribing code couldn't happen a null value
7120
+ selectedJurisdictionSource = new Subject();
7121
+ _selectedJurisdictionBS = new BehaviorSubject(null);
7122
+ selectedJurisdiction;
7123
+ constructor(httpService) {
7124
+ this.httpService = httpService;
7125
+ this.selectedJurisdiction = this.selectedJurisdictionSource.asObservable();
7126
+ }
7127
+ getJurisdictions() {
7128
+ return this.httpService.get('/aggregated/caseworkers/:uid/jurisdictions?access=read');
7129
+ }
7130
+ announceSelectedJurisdiction(jurisdiction) {
7131
+ this.selectedJurisdictionSource.next(jurisdiction);
7132
+ this._selectedJurisdictionBS.next(jurisdiction);
7133
+ }
7134
+ getSelectedJurisdiction() {
7135
+ return this._selectedJurisdictionBS;
7136
+ }
7137
+ searchJudicialUsers(searchTerm, serviceId) {
7138
+ return this.httpService.post('api/prd/judicial/getJudicialUsersSearch', { searchString: searchTerm, serviceCode: serviceId });
7139
+ }
7140
+ searchJudicialUsersByPersonalCodes(personalCodes) {
7141
+ return this.httpService.post('api/prd/judicial/searchJudicialUserByPersonalCodes', { personal_code: personalCodes });
7142
+ }
7143
+ static ɵfac = function JurisdictionService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JurisdictionService)(i0.ɵɵinject(HttpService)); };
7144
+ static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: JurisdictionService, factory: JurisdictionService.ɵfac });
7145
+ }
7146
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JurisdictionService, [{
7147
+ type: Injectable
7148
+ }], () => [{ type: HttpService }], null); })();
7149
+
7116
7150
  class DocumentManagementService {
7117
7151
  http;
7118
7152
  appConfig;
7119
7153
  caseNotifierService;
7154
+ jurisdictionService;
7120
7155
  static PDF = 'pdf';
7121
7156
  static IMAGE = 'image';
7122
7157
  static WORD = 'word';
@@ -7131,10 +7166,33 @@ class DocumentManagementService {
7131
7166
  static wordList = ['DOC', 'DOCX', 'doc', 'docx'];
7132
7167
  static excelList = ['XLS', 'XLSX', 'xls', 'xlsx'];
7133
7168
  static powerpointList = ['PPT', 'PPTX', 'ppt', 'pptx'];
7134
- constructor(http, appConfig, caseNotifierService) {
7169
+ caseTypeId = '';
7170
+ constructor(http, appConfig, caseNotifierService, jurisdictionService) {
7135
7171
  this.http = http;
7136
7172
  this.appConfig = appConfig;
7137
7173
  this.caseNotifierService = caseNotifierService;
7174
+ this.jurisdictionService = jurisdictionService;
7175
+ combineLatest([
7176
+ this.caseNotifierService.caseView.pipe(take(1)),
7177
+ this.jurisdictionService.getSelectedJurisdiction()
7178
+ ]).subscribe(([caseDetails, jurisdiction]) => {
7179
+ if (caseDetails) {
7180
+ this.caseTypeId = caseDetails?.case_type?.id;
7181
+ }
7182
+ if (jurisdiction) {
7183
+ if (jurisdiction.currentCaseType) {
7184
+ this.caseTypeId = jurisdiction.currentCaseType.id;
7185
+ }
7186
+ }
7187
+ //if the user refreshes on the case creation page the above logic will not work, we can get the caseTypeId from the URL
7188
+ if (!this.caseTypeId) {
7189
+ const url = window.location.pathname;
7190
+ if (url.indexOf('/case-create/') > -1) {
7191
+ const parts = url.split('/');
7192
+ this.caseTypeId = parts[parts.indexOf('case-create') + 2];
7193
+ }
7194
+ }
7195
+ });
7138
7196
  }
7139
7197
  uploadFile(formData) {
7140
7198
  const url = this.getDocStoreUrl();
@@ -7212,22 +7270,34 @@ class DocumentManagementService {
7212
7270
  return documentBinaryUrl.replace(remoteDocumentManagementPattern, this.getDocStoreUrl());
7213
7271
  }
7214
7272
  getDocStoreUrl() {
7215
- let docStoreUrl = '';
7216
- this.caseNotifierService.caseView.subscribe((caseDetails) => {
7217
- const caseType = caseDetails?.case_type?.id;
7218
- const documentSecureModeCaseTypeExclusions = this.appConfig.getDocumentSecureModeCaseTypeExclusions()?.split(',');
7219
- const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(caseType);
7220
- const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7221
- docStoreUrl = (documentSecureModeEnabled && !isDocumentOnExclusionList) ? this.appConfig.getDocumentManagementUrlV2() : this.appConfig.getDocumentManagementUrl();
7222
- }).unsubscribe();
7223
- return docStoreUrl;
7224
- }
7225
- static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier)); };
7273
+ if (this.isDocumentSecureModeEnabled()) {
7274
+ return this.appConfig.getDocumentManagementUrlV2();
7275
+ }
7276
+ return this.appConfig.getDocumentManagementUrl();
7277
+ }
7278
+ // return false == document should not use CDAM
7279
+ // return true == document should use CDAM
7280
+ isDocumentSecureModeEnabled() {
7281
+ const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7282
+ const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7283
+ const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7284
+ // if the documentSecureModeEnabled is false, return false
7285
+ if (!documentSecureModeEnabled) {
7286
+ return false;
7287
+ }
7288
+ // if the documentSecureModeEnabled is true, and the case is not in the exclusion list, return true
7289
+ if (documentSecureModeEnabled && !isDocumentOnExclusionList) {
7290
+ return true;
7291
+ }
7292
+ // if documentSecureModeEnabled is true, and case is in the exclusion list, return false
7293
+ return false;
7294
+ }
7295
+ static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier), i0.ɵɵinject(JurisdictionService)); };
7226
7296
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
7227
7297
  }
7228
7298
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DocumentManagementService, [{
7229
7299
  type: Injectable
7230
- }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }], null); })();
7300
+ }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }, { type: JurisdictionService }], null); })();
7231
7301
 
7232
7302
  class ErrorNotifierService {
7233
7303
  errorSource = new BehaviorSubject(null);
@@ -7419,39 +7489,6 @@ class MultipageComponentStateService {
7419
7489
  }]
7420
7490
  }], null, null); })();
7421
7491
 
7422
- class JurisdictionService {
7423
- httpService;
7424
- // We retain the Subject observable because subscribing code couldn't happen a null value
7425
- selectedJurisdictionSource = new Subject();
7426
- _selectedJurisdictionBS = new BehaviorSubject(null);
7427
- selectedJurisdiction;
7428
- constructor(httpService) {
7429
- this.httpService = httpService;
7430
- this.selectedJurisdiction = this.selectedJurisdictionSource.asObservable();
7431
- }
7432
- getJurisdictions() {
7433
- return this.httpService.get('/aggregated/caseworkers/:uid/jurisdictions?access=read');
7434
- }
7435
- announceSelectedJurisdiction(jurisdiction) {
7436
- this.selectedJurisdictionSource.next(jurisdiction);
7437
- this._selectedJurisdictionBS.next(jurisdiction);
7438
- }
7439
- getSelectedJurisdiction() {
7440
- return this._selectedJurisdictionBS;
7441
- }
7442
- searchJudicialUsers(searchTerm, serviceId) {
7443
- return this.httpService.post('api/prd/judicial/getJudicialUsersSearch', { searchString: searchTerm, serviceCode: serviceId });
7444
- }
7445
- searchJudicialUsersByPersonalCodes(personalCodes) {
7446
- return this.httpService.post('api/prd/judicial/searchJudicialUserByPersonalCodes', { personal_code: personalCodes });
7447
- }
7448
- static ɵfac = function JurisdictionService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || JurisdictionService)(i0.ɵɵinject(HttpService)); };
7449
- static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: JurisdictionService, factory: JurisdictionService.ɵfac });
7450
- }
7451
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JurisdictionService, [{
7452
- type: Injectable
7453
- }], () => [{ type: HttpService }], null); })();
7454
-
7455
7492
  class BannersService {
7456
7493
  httpService;
7457
7494
  appConfig;
@@ -15111,9 +15148,11 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15111
15148
  jurisdictionSubs;
15112
15149
  uploadedDocument;
15113
15150
  dialogConfig;
15114
- secureModeOn;
15115
15151
  jurisdictionId;
15116
15152
  caseTypeId;
15153
+ caseTypeExclusions;
15154
+ // Should the file upload use CDAM
15155
+ fileSecureModeOn = false;
15117
15156
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
15118
15157
  super();
15119
15158
  this.appConfig = appConfig;
@@ -15124,22 +15163,44 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15124
15163
  this.jurisdictionService = jurisdictionService;
15125
15164
  }
15126
15165
  ngOnInit() {
15127
- this.secureModeOn = this.appConfig.getDocumentSecureMode();
15128
- if (this.secureModeOn) {
15129
- this.subscribeToCaseDetails();
15130
- }
15131
- this.dialogConfig = initDialog();
15132
- // EUI-3403. The field was not being registered when there was no value and the field
15133
- // itself was not mandatory, which meant that show_conditions would not be evaluated.
15134
- // I've cleaned up the logic and it's now always registered.
15135
- let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15136
- document = this.secureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15137
- if (this.isAMandatoryComponent()) {
15138
- this.createDocumentFormWithValidator(document);
15139
- }
15140
- else {
15141
- this.createDocumentForm(document);
15142
- }
15166
+ // Wait for both observables to emit at least once
15167
+ this.caseNotifierSubscription = combineLatest([
15168
+ this.caseNotifier.caseView.pipe(take(1)),
15169
+ this.jurisdictionService.getSelectedJurisdiction()
15170
+ ]).subscribe(([caseDetails, jurisdiction]) => {
15171
+ if (caseDetails) {
15172
+ this.caseTypeId = caseDetails?.case_type?.id;
15173
+ this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15174
+ }
15175
+ if (jurisdiction) {
15176
+ this.jurisdictionId = jurisdiction.id;
15177
+ if (jurisdiction.currentCaseType) {
15178
+ this.caseTypeId = jurisdiction.currentCaseType.id;
15179
+ }
15180
+ }
15181
+ //if we havent set the value of caseTypeId yet, we can check if its in the url. e.g. case-creation
15182
+ if (!this.caseTypeId) {
15183
+ const url = window.location.pathname;
15184
+ if (url.indexOf('/case-create/') > -1) {
15185
+ const parts = url.split('/');
15186
+ this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15187
+ this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15188
+ }
15189
+ }
15190
+ // use the documentManagement service to check if the document upload should use CDAM
15191
+ if (this.documentManagement.isDocumentSecureModeEnabled()) {
15192
+ this.fileSecureModeOn = true;
15193
+ }
15194
+ this.dialogConfig = initDialog();
15195
+ let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15196
+ document = this.fileSecureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15197
+ if (this.isAMandatoryComponent()) {
15198
+ this.createDocumentFormWithValidator(document);
15199
+ }
15200
+ else {
15201
+ this.createDocumentForm(document);
15202
+ }
15203
+ });
15143
15204
  }
15144
15205
  ngOnDestroy() {
15145
15206
  if (this.fileUploadSubscription) {
@@ -15252,29 +15313,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15252
15313
  this.triggerReplace();
15253
15314
  });
15254
15315
  }
15255
- // Depending on the context, we can get the case type and jurisdiction from different sources
15256
- // If we are running an event, the caseNotifier will have the current case
15257
- // If we are creating a case, the case doesn't exist yet, so the caseNotifier can't help
15258
- // Instead we can use the eventTrigger to get the case type, and the jurisdiction service to
15259
- // get the currently selected jurisdiction
15260
- subscribeToCaseDetails() {
15261
- this.caseNotifierSubscription = this.caseNotifier.caseView.subscribe({
15262
- next: (caseDetails) => {
15263
- this.caseTypeId = caseDetails?.case_type.id;
15264
- this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15265
- }
15266
- });
15267
- this.jurisdictionSubs = this.jurisdictionService.getSelectedJurisdiction().subscribe({
15268
- next: (jurisdiction) => {
15269
- if (jurisdiction) {
15270
- this.jurisdictionId = jurisdiction.id;
15271
- if (jurisdiction.currentCaseType) {
15272
- this.caseTypeId = jurisdiction.currentCaseType.id;
15273
- }
15274
- }
15275
- }
15276
- });
15277
- }
15278
15316
  isAMandatoryComponent() {
15279
15317
  return this.caseField.display_context && this.caseField.display_context === Constants.MANDATORY;
15280
15318
  }
@@ -15292,7 +15330,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15292
15330
  let validation = !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_URL).valid &&
15293
15331
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_BINARY_URL).valid &&
15294
15332
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_FILENAME).valid;
15295
- if (this.secureModeOn) {
15333
+ if (this.fileSecureModeOn) {
15296
15334
  validation = validation && !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).valid;
15297
15335
  }
15298
15336
  return validation;
@@ -15320,7 +15358,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15320
15358
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15321
15359
  };
15322
15360
  }
15323
- documentFormGroup = this.secureModeOn ? {
15361
+ documentFormGroup = this.fileSecureModeOn ? {
15324
15362
  ...documentFormGroup,
15325
15363
  ...{ document_hash: new FormControl(document.document_hash) }
15326
15364
  } : documentFormGroup;
@@ -15338,7 +15376,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15338
15376
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15339
15377
  };
15340
15378
  }
15341
- documentFormGroup = this.secureModeOn ? {
15379
+ documentFormGroup = this.fileSecureModeOn ? {
15342
15380
  ...documentFormGroup,
15343
15381
  ...{ document_hash: new FormControl(document.document_hash) }
15344
15382
  } : documentFormGroup;
@@ -15386,15 +15424,15 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15386
15424
  }
15387
15425
  handleDocumentUploadResult(result) {
15388
15426
  if (!this.uploadedDocument) {
15389
- if (this.secureModeOn) {
15427
+ if (this.fileSecureModeOn) {
15390
15428
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null, document_hash: null });
15391
15429
  }
15392
15430
  else {
15393
15431
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null });
15394
15432
  }
15395
15433
  }
15396
- const document = this.secureModeOn ? result.documents[0] : result._embedded.documents[0];
15397
- if (this.secureModeOn) {
15434
+ const document = this.fileSecureModeOn ? result.documents[0] : result._embedded.documents[0];
15435
+ if (this.fileSecureModeOn) {
15398
15436
  this.updateDocumentForm(document._links.self.href, document._links.binary.href, document.originalDocumentName, document.hashToken);
15399
15437
  }
15400
15438
  else {
@@ -15407,7 +15445,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15407
15445
  this.caseField.value.document_binary_url = document._links.binary.href;
15408
15446
  this.caseField.value.document_filename = document.originalDocumentName;
15409
15447
  this.caseField.value.document_url = document._links.self.href;
15410
- if (this.secureModeOn) {
15448
+ if (this.fileSecureModeOn) {
15411
15449
  this.caseField.value.document_hash = document.hashToken;
15412
15450
  }
15413
15451
  }
@@ -15483,7 +15521,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15483
15521
  type: ViewChild,
15484
15522
  args: ['fileInput', { static: false }]
15485
15523
  }] }); })();
15486
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 23 }); })();
15524
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 24 }); })();
15487
15525
 
15488
15526
  class DynamicListPipe {
15489
15527
  static EMPTY = '';
@@ -19588,7 +19626,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19588
19626
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
19589
19627
  }
19590
19628
  static ɵfac = /*@__PURE__*/ (() => { let ɵWriteNumberFieldComponent_BaseFactory; return function WriteNumberFieldComponent_Factory(__ngFactoryType__) { return (ɵWriteNumberFieldComponent_BaseFactory || (ɵWriteNumberFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteNumberFieldComponent)))(__ngFactoryType__ || WriteNumberFieldComponent); }; })();
19591
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "number", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19629
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", "inputmode", "numeric", "pattern", "[0-9]*", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
19592
19630
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
19593
19631
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
19594
19632
  i0.ɵɵelementEnd();
@@ -19607,11 +19645,11 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19607
19645
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
19608
19646
  i0.ɵɵadvance();
19609
19647
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1$f, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
19610
- } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NumberValueAccessor, i4.NgControlStatus, i4.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19648
+ } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.PatternValidator, i4.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19611
19649
  }
19612
19650
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
19613
19651
  type: Component,
19614
- args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"number\" [formControl]=\"numberControl\">\n</div>\n" }]
19652
+ args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"text\" inputmode=\"numeric\" pattern=\"[0-9]*\" [formControl]=\"numberControl\">\n</div>\n" }]
19615
19653
  }], null, null); })();
19616
19654
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
19617
19655
 
@@ -32668,8 +32706,8 @@ class CaseListModule {
32668
32706
  NgxPaginationModule,
32669
32707
  PaginationModule, i1.RpxTranslationModule], exports: [CaseListComponent] }); })();
32670
32708
 
32671
- function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32672
- i0.ɵɵelementStart(0, "option", 11);
32709
+ function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32710
+ i0.ɵɵelementStart(0, "option", 14);
32673
32711
  i0.ɵɵtext(1);
32674
32712
  i0.ɵɵpipe(2, "rpxTranslate");
32675
32713
  i0.ɵɵelementEnd();
@@ -32678,8 +32716,8 @@ function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32678
32716
  i0.ɵɵadvance();
32679
32717
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32680
32718
  } }
32681
- function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32682
- i0.ɵɵelementStart(0, "option", 11);
32719
+ function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32720
+ i0.ɵɵelementStart(0, "option", 14);
32683
32721
  i0.ɵɵtext(1);
32684
32722
  i0.ɵɵpipe(2, "rpxTranslate");
32685
32723
  i0.ɵɵelementEnd();
@@ -32689,8 +32727,8 @@ function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32689
32727
  i0.ɵɵadvance();
32690
32728
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r1.name));
32691
32729
  } }
32692
- function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32693
- i0.ɵɵelementStart(0, "option", 11);
32730
+ function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32731
+ i0.ɵɵelementStart(0, "option", 14);
32694
32732
  i0.ɵɵtext(1);
32695
32733
  i0.ɵɵpipe(2, "rpxTranslate");
32696
32734
  i0.ɵɵelementEnd();
@@ -32699,8 +32737,8 @@ function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32699
32737
  i0.ɵɵadvance();
32700
32738
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32701
32739
  } }
32702
- function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32703
- i0.ɵɵelementStart(0, "option", 11);
32740
+ function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32741
+ i0.ɵɵelementStart(0, "option", 14);
32704
32742
  i0.ɵɵtext(1);
32705
32743
  i0.ɵɵpipe(2, "rpxTranslate");
32706
32744
  i0.ɵɵelementEnd();
@@ -32710,8 +32748,8 @@ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32710
32748
  i0.ɵɵadvance();
32711
32749
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r2.name));
32712
32750
  } }
32713
- function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32714
- i0.ɵɵelementStart(0, "option", 11);
32751
+ function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32752
+ i0.ɵɵelementStart(0, "option", 14);
32715
32753
  i0.ɵɵtext(1);
32716
32754
  i0.ɵɵpipe(2, "rpxTranslate");
32717
32755
  i0.ɵɵelementEnd();
@@ -32721,10 +32759,10 @@ function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32721
32759
  i0.ɵɵadvance();
32722
32760
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r3.name));
32723
32761
  } }
32724
- function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
32762
+ function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if (rf & 1) {
32725
32763
  const _r4 = i0.ɵɵgetCurrentView();
32726
- i0.ɵɵelementStart(0, "div", 2)(1, "ccd-field-write", 18);
32727
- i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_27_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.apply(null)); });
32764
+ i0.ɵɵelementStart(0, "div", 5)(1, "ccd-field-write", 20);
32765
+ i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_39_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r4 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r4.apply(null)); });
32728
32766
  i0.ɵɵelementEnd()();
32729
32767
  } if (rf & 2) {
32730
32768
  const workbasketInput_r6 = ctx.$implicit;
@@ -32732,10 +32770,10 @@ function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if
32732
32770
  i0.ɵɵadvance();
32733
32771
  i0.ɵɵproperty("caseField", workbasketInput_r6.field)("formGroup", ctx_r4.formGroup)("isExpanded", true)("isInSearchBlock", true);
32734
32772
  } }
32735
- function WorkbasketFiltersComponent_ng_container_27_Template(rf, ctx) { if (rf & 1) {
32736
- i0.ɵɵelementContainerStart(0, 15);
32737
- i0.ɵɵelementStart(1, "div", 16);
32738
- i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_27_div_2_Template, 2, 4, "div", 17);
32773
+ function WorkbasketFiltersComponent_ng_container_39_Template(rf, ctx) { if (rf & 1) {
32774
+ i0.ɵɵelementContainerStart(0, 17);
32775
+ i0.ɵɵelementStart(1, "div", 18);
32776
+ i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_39_div_2_Template, 2, 4, "div", 19);
32739
32777
  i0.ɵɵelementEnd();
32740
32778
  i0.ɵɵelementContainerEnd();
32741
32779
  } if (rf & 2) {
@@ -32778,6 +32816,9 @@ class WorkbasketFiltersComponent {
32778
32816
  this.alertService = alertService;
32779
32817
  this.windowService = windowService;
32780
32818
  }
32819
+ scrollToTop() {
32820
+ window.scrollTo({ top: 0, behavior: 'smooth' });
32821
+ }
32781
32822
  getDefaultJurisdiction() {
32782
32823
  if (!this.jurisdictions || this.jurisdictions.length === 0) {
32783
32824
  return null;
@@ -33069,62 +33110,79 @@ class WorkbasketFiltersComponent {
33069
33110
  }
33070
33111
  }
33071
33112
  static ɵfac = function WorkbasketFiltersComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(WorkbasketInputFilterService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(JurisdictionService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(WindowService)); };
33072
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 39, vars: 46, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel", "disabled"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "ngModel", "disabled"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "click", "disabled", "title"], ["type", "button", 1, "button", "button-secondary", 3, "click", "title"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "keyup.enter", "caseField", "formGroup", "isExpanded", "isInSearchBlock"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
33073
- i0.ɵɵelementStart(0, "h2", 0);
33074
- i0.ɵɵtext(1);
33075
- i0.ɵɵpipe(2, "rpxTranslate");
33113
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 45, vars: 55, consts: [["id", "filters", 1, "global-display"], [1, "form-group", "flex"], ["aria-label", "Filters", 1, "heading-h2"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "click", "disabled", "title"], ["type", "button", 1, "button", "button-secondary", 3, "click", "title"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "change", "ngModel", "disabled"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModelChange", "ngModel", "disabled"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", 3, "click", "title"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "keyup.enter", "caseField", "formGroup", "isExpanded", "isInSearchBlock"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
33114
+ i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "fieldset", 2);
33115
+ i0.ɵɵtext(3);
33116
+ i0.ɵɵpipe(4, "rpxTranslate");
33076
33117
  i0.ɵɵelementEnd();
33077
- i0.ɵɵelementStart(3, "form", 1)(4, "div", 2)(5, "label", 3);
33078
- i0.ɵɵtext(6);
33118
+ i0.ɵɵelementStart(5, "button", 3);
33119
+ i0.ɵɵpipe(6, "rpxTranslate");
33079
33120
  i0.ɵɵpipe(7, "rpxTranslate");
33121
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_5_listener() { return ctx.apply(true); });
33122
+ i0.ɵɵtext(8);
33123
+ i0.ɵɵpipe(9, "rpxTranslate");
33080
33124
  i0.ɵɵelementEnd();
33081
- i0.ɵɵelementStart(8, "select", 4);
33082
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33083
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
33084
- i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 3, 4, "option", 5)(10, WorkbasketFiltersComponent_option_10_Template, 3, 4, "option", 6);
33125
+ i0.ɵɵtext(10, "\u00A0\u00A0\u00A0 ");
33126
+ i0.ɵɵelementStart(11, "button", 4);
33127
+ i0.ɵɵpipe(12, "rpxTranslate");
33128
+ i0.ɵɵpipe(13, "rpxTranslate");
33129
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_11_listener() { return ctx.reset(); });
33130
+ i0.ɵɵtext(14);
33131
+ i0.ɵɵpipe(15, "rpxTranslate");
33085
33132
  i0.ɵɵelementEnd()();
33086
- i0.ɵɵelementStart(11, "div", 2)(12, "label", 7);
33087
- i0.ɵɵtext(13);
33088
- i0.ɵɵpipe(14, "rpxTranslate");
33133
+ i0.ɵɵelementStart(16, "div", 5)(17, "label", 6);
33134
+ i0.ɵɵtext(18);
33135
+ i0.ɵɵpipe(19, "rpxTranslate");
33089
33136
  i0.ɵɵelementEnd();
33090
- i0.ɵɵelementStart(15, "select", 8);
33091
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33092
- i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
33093
- i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 3, 4, "option", 5)(17, WorkbasketFiltersComponent_option_17_Template, 3, 4, "option", 6);
33137
+ i0.ɵɵelementStart(20, "select", 7);
33138
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_20_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33139
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_20_listener() { return ctx.onJurisdictionIdChange(); });
33140
+ i0.ɵɵtemplate(21, WorkbasketFiltersComponent_option_21_Template, 3, 4, "option", 8)(22, WorkbasketFiltersComponent_option_22_Template, 3, 4, "option", 9);
33094
33141
  i0.ɵɵelementEnd()();
33095
- i0.ɵɵelementStart(18, "div", 2)(19, "label", 9);
33096
- i0.ɵɵtext(20);
33097
- i0.ɵɵpipe(21, "rpxTranslate");
33098
- i0.ɵɵelementEnd();
33099
- i0.ɵɵelementStart(22, "select", 10);
33100
- i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33101
- i0.ɵɵelementStart(23, "option", 11);
33102
- i0.ɵɵtext(24);
33103
- i0.ɵɵpipe(25, "rpxTranslate");
33142
+ i0.ɵɵelementStart(23, "div", 5)(24, "label", 10);
33143
+ i0.ɵɵtext(25);
33144
+ i0.ɵɵpipe(26, "rpxTranslate");
33104
33145
  i0.ɵɵelementEnd();
33105
- i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
33146
+ i0.ɵɵelementStart(27, "select", 11);
33147
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_27_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33148
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_27_listener() { return ctx.onCaseTypeIdChange(); });
33149
+ i0.ɵɵtemplate(28, WorkbasketFiltersComponent_option_28_Template, 3, 4, "option", 8)(29, WorkbasketFiltersComponent_option_29_Template, 3, 4, "option", 9);
33106
33150
  i0.ɵɵelementEnd()();
33107
- i0.ɵɵtemplate(27, WorkbasketFiltersComponent_ng_container_27_Template, 3, 3, "ng-container", 12);
33108
- i0.ɵɵelementStart(28, "button", 13);
33109
- i0.ɵɵpipe(29, "rpxTranslate");
33110
- i0.ɵɵpipe(30, "rpxTranslate");
33111
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_28_listener() { return ctx.apply(true); });
33112
- i0.ɵɵtext(31);
33113
- i0.ɵɵpipe(32, "rpxTranslate");
33151
+ i0.ɵɵelementStart(30, "div", 5)(31, "label", 12);
33152
+ i0.ɵɵtext(32);
33153
+ i0.ɵɵpipe(33, "rpxTranslate");
33114
33154
  i0.ɵɵelementEnd();
33115
- i0.ɵɵtext(33, " \u00A0\u00A0\u00A0 ");
33116
- i0.ɵɵelementStart(34, "button", 14);
33117
- i0.ɵɵpipe(35, "rpxTranslate");
33118
- i0.ɵɵpipe(36, "rpxTranslate");
33119
- i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_34_listener() { return ctx.reset(); });
33120
- i0.ɵɵtext(37);
33121
- i0.ɵɵpipe(38, "rpxTranslate");
33155
+ i0.ɵɵelementStart(34, "select", 13);
33156
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_34_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33157
+ i0.ɵɵelementStart(35, "option", 14);
33158
+ i0.ɵɵtext(36);
33159
+ i0.ɵɵpipe(37, "rpxTranslate");
33160
+ i0.ɵɵelementEnd();
33161
+ i0.ɵɵtemplate(38, WorkbasketFiltersComponent_option_38_Template, 3, 4, "option", 9);
33162
+ i0.ɵɵelementEnd()();
33163
+ i0.ɵɵtemplate(39, WorkbasketFiltersComponent_ng_container_39_Template, 3, 3, "ng-container", 15);
33164
+ i0.ɵɵelementStart(40, "button", 16);
33165
+ i0.ɵɵpipe(41, "rpxTranslate");
33166
+ i0.ɵɵpipe(42, "rpxTranslate");
33167
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_40_listener() { return ctx.scrollToTop(); });
33168
+ i0.ɵɵtext(43);
33169
+ i0.ɵɵpipe(44, "rpxTranslate");
33122
33170
  i0.ɵɵelementEnd()();
33123
33171
  } if (rf & 2) {
33124
- i0.ɵɵadvance();
33125
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 24, "Filters"));
33126
- i0.ɵɵadvance(5);
33127
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 26, "Jurisdiction"));
33172
+ i0.ɵɵadvance(3);
33173
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "Filters"));
33174
+ i0.ɵɵadvance(2);
33175
+ i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(6, 29, "Apply filter"));
33176
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(7, 31, "Apply filter"));
33177
+ i0.ɵɵadvance(3);
33178
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 33, "Apply"), " ");
33179
+ i0.ɵɵadvance(3);
33180
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(12, 35, "Reset filter"));
33181
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(13, 37, "Reset filter"));
33182
+ i0.ɵɵadvance(3);
33183
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 39, "Reset"), " ");
33184
+ i0.ɵɵadvance(4);
33185
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 41, "Jurisdiction"));
33128
33186
  i0.ɵɵadvance(2);
33129
33187
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.jurisdiction);
33130
33188
  i0.ɵɵadvance();
@@ -33132,7 +33190,7 @@ class WorkbasketFiltersComponent {
33132
33190
  i0.ɵɵadvance();
33133
33191
  i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
33134
33192
  i0.ɵɵadvance(3);
33135
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
33193
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 43, "Case type"));
33136
33194
  i0.ɵɵadvance(2);
33137
33195
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseType);
33138
33196
  i0.ɵɵproperty("disabled", ctx.isCaseTypesDropdownDisabled());
@@ -33141,33 +33199,28 @@ class WorkbasketFiltersComponent {
33141
33199
  i0.ɵɵadvance();
33142
33200
  i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
33143
33201
  i0.ɵɵadvance(3);
33144
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
33202
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "State"));
33145
33203
  i0.ɵɵadvance(2);
33146
33204
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseState);
33147
33205
  i0.ɵɵproperty("disabled", ctx.isCaseStatesDropdownDisabled());
33148
33206
  i0.ɵɵadvance();
33149
33207
  i0.ɵɵproperty("ngValue", null);
33150
33208
  i0.ɵɵadvance();
33151
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
33209
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(37, 47, "Any"));
33152
33210
  i0.ɵɵadvance(2);
33153
33211
  i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
33154
33212
  i0.ɵɵadvance();
33155
33213
  i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
33156
33214
  i0.ɵɵadvance();
33157
- i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(29, 34, "Apply filter"));
33158
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(30, 36, "Apply filter"));
33159
- i0.ɵɵadvance(3);
33160
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 38, "Apply"), " ");
33161
- i0.ɵɵadvance(3);
33162
- i0.ɵɵproperty("title", i0.ɵɵpipeBind1(35, 40, "Reset filter"));
33163
- i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(36, 42, "Reset filter"));
33215
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(41, 49, "Back to top"));
33216
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(42, 51, "Back to top"));
33164
33217
  i0.ɵɵadvance(3);
33165
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 44, "Reset"), " ");
33166
- } }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
33218
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(44, 53, "Back to top"), " ");
33219
+ } }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.form-group.flex[_ngcontent-%COMP%]{display:flex}.form-group.flex[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:1rem .25rem .25rem;height:2rem}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
33167
33220
  }
33168
33221
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
33169
33222
  type: Component,
33170
- args: [{ selector: 'ccd-workbasket-filters', template: "<h2 class=\"heading-h2\" aria-label=\"Filters\">{{'Filters' | rpxTranslate }}</h2>\n\n<form class=\"global-display\">\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-jurisdiction\">{{'Jurisdiction' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-jurisdiction\"\n name=\"jurisdiction\" [(ngModel)]=\"selected.jurisdiction\" aria-controls=\"search-result\"\n (change)=\"onJurisdictionIdChange()\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let j of jurisdictions\" [ngValue]=\"j\">{{j.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-type\">{{'Case type' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-type\"\n name=\"case-type\" [(ngModel)]=\"selected.caseType\" [disabled]=\"isCaseTypesDropdownDisabled()\"\n (change)=\"onCaseTypeIdChange()\" aria-controls=\"search-result\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let ct of selectedJurisdictionCaseTypes\" [ngValue]=\"ct\">{{ct.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-state\">{{'State' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-state\"\n name=\"state\" [(ngModel)]=\"selected.caseState\" [disabled]=\"isCaseStatesDropdownDisabled()\"\n aria-controls=\"search-result\">\n <option [ngValue]=\"null\">{{'Any' | rpxTranslate}}</option>\n <option *ngFor=\"let cs of selectedCaseTypeStates\" [ngValue]=\"cs\">{{cs.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <ng-container ccdConditionalShowForm *ngIf=\"isSearchableAndWorkbasketInputsReady()\" [formGroup]=\"formGroup\" [contextFields]=\"caseFields\">\n <div id=\"dynamicFilters\">\n <div class=\"form-group\" *ngFor=\"let workbasketInput of workbasketInputs\">\n <ccd-field-write [caseField]=\"workbasketInput.field\" [formGroup]=\"formGroup\" [isExpanded]=\"true\" [isInSearchBlock]=\"true\" (keyup.enter)=\"apply(null)\">\n </ccd-field-write>\n </div>\n </div>\n </ng-container>\n\n <button type=\"button\" class=\"button workbasket-filters-apply\" (click)=\"apply(true)\" [disabled]=\"isApplyButtonDisabled()\"\n [title]=\"'Apply filter' | rpxTranslate\" [attr.aria-label]=\"'Apply filter' | rpxTranslate\">\n {{'Apply' | rpxTranslate}}\n </button> &nbsp;&nbsp;&nbsp;\n <button type=\"button\" (click)=\"reset()\" class=\"button button-secondary\"\n [title]=\"'Reset filter' | rpxTranslate\" [attr.aria-label]=\"'Reset filter' | rpxTranslate\">\n {{'Reset' | rpxTranslate}}\n </button>\n</form>\n", styles: ["div select{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div select{font-size:12pt;line-height:1.3333333333}}.form-group{margin-bottom:7px}.ccd-dropdown{width:100%}span.heading-medium{margin-top:0}\n"] }]
33223
+ args: [{ selector: 'ccd-workbasket-filters', template: "<form id=\"filters\" class=\"global-display\">\n <div class=\"form-group flex\">\n <fieldset class=\"heading-h2\" aria-label=\"Filters\">{{'Filters' | rpxTranslate }}</fieldset>\n <button type=\"button\" class=\"button workbasket-filters-apply\" (click)=\"apply(true)\" [disabled]=\"isApplyButtonDisabled()\"\n [title]=\"'Apply filter' | rpxTranslate\" [attr.aria-label]=\"'Apply filter' | rpxTranslate\">\n {{'Apply' | rpxTranslate}}\n </button>&nbsp;&nbsp;&nbsp;\n <button type=\"button\" (click)=\"reset()\" class=\"button button-secondary\"\n [title]=\"'Reset filter' | rpxTranslate\" [attr.aria-label]=\"'Reset filter' | rpxTranslate\">\n {{'Reset' | rpxTranslate}}\n </button>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-jurisdiction\">{{'Jurisdiction' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-jurisdiction\"\n name=\"jurisdiction\" [(ngModel)]=\"selected.jurisdiction\" aria-controls=\"search-result\"\n (change)=\"onJurisdictionIdChange()\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let j of jurisdictions\" [ngValue]=\"j\">{{j.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-type\">{{'Case type' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-type\"\n name=\"case-type\" [(ngModel)]=\"selected.caseType\" [disabled]=\"isCaseTypesDropdownDisabled()\"\n (change)=\"onCaseTypeIdChange()\" aria-controls=\"search-result\">\n <option *ngIf=\"!workbasketDefaults\" [ngValue]=\"null\">{{'Select a value' | rpxTranslate}}</option>\n <option *ngFor=\"let ct of selectedJurisdictionCaseTypes\" [ngValue]=\"ct\">{{ct.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <div class=\"form-group\">\n <label class=\"form-label\" for=\"wb-case-state\">{{'State' | rpxTranslate}}</label>\n <select class=\"form-control form-control-3-4 ccd-dropdown\" id=\"wb-case-state\"\n name=\"state\" [(ngModel)]=\"selected.caseState\" [disabled]=\"isCaseStatesDropdownDisabled()\"\n aria-controls=\"search-result\">\n <option [ngValue]=\"null\">{{'Any' | rpxTranslate}}</option>\n <option *ngFor=\"let cs of selectedCaseTypeStates\" [ngValue]=\"cs\">{{cs.name | rpxTranslate}}</option>\n </select>\n </div>\n\n <ng-container ccdConditionalShowForm *ngIf=\"isSearchableAndWorkbasketInputsReady()\" [formGroup]=\"formGroup\" [contextFields]=\"caseFields\">\n <div id=\"dynamicFilters\">\n <div class=\"form-group\" *ngFor=\"let workbasketInput of workbasketInputs\">\n <ccd-field-write [caseField]=\"workbasketInput.field\" [formGroup]=\"formGroup\" [isExpanded]=\"true\" [isInSearchBlock]=\"true\" (keyup.enter)=\"apply(null)\">\n </ccd-field-write>\n </div>\n </div>\n </ng-container>\n\n <button type=\"button\" class=\"button\" (click)=\"scrollToTop()\"\n [title]=\"'Back to top' | rpxTranslate\" [attr.aria-label]=\"'Back to top' | rpxTranslate\">{{'Back to top' | rpxTranslate}}\n </button>\n</form>\n", styles: ["div select{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width: 641px){div select{font-size:12pt;line-height:1.3333333333}}.form-group{margin-bottom:7px}.form-group.flex{display:flex}.form-group.flex button{margin:1rem .25rem .25rem;height:2rem}.ccd-dropdown{width:100%}span.heading-medium{margin-top:0}\n"] }]
33171
33224
  }], () => [{ type: i1$1.ActivatedRoute }, { type: WorkbasketInputFilterService }, { type: OrderService }, { type: JurisdictionService }, { type: AlertService }, { type: WindowService }], { jurisdictions: [{
33172
33225
  type: Input
33173
33226
  }], defaults: [{