@hmcts/ccd-case-ui-toolkit 7.2.12 → 7.2.13-2895-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.
@@ -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,19 @@ 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
+ const documentSecureModeCaseTypeExclusions = this.appConfig.getCdamExclusionList()?.split(',');
7274
+ const isDocumentOnExclusionList = documentSecureModeCaseTypeExclusions?.includes(this.caseTypeId);
7275
+ const documentSecureModeEnabled = this.appConfig.getDocumentSecureMode();
7276
+ return (documentSecureModeEnabled && !isDocumentOnExclusionList)
7277
+ ? this.appConfig.getDocumentManagementUrlV2()
7278
+ : this.appConfig.getDocumentManagementUrl();
7279
+ }
7280
+ static ɵfac = function DocumentManagementService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DocumentManagementService)(i0.ɵɵinject(HttpService), i0.ɵɵinject(AbstractAppConfig), i0.ɵɵinject(CaseNotifier), i0.ɵɵinject(JurisdictionService)); };
7226
7281
  static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DocumentManagementService, factory: DocumentManagementService.ɵfac });
7227
7282
  }
7228
7283
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DocumentManagementService, [{
7229
7284
  type: Injectable
7230
- }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }], null); })();
7285
+ }], () => [{ type: HttpService }, { type: AbstractAppConfig }, { type: CaseNotifier }, { type: JurisdictionService }], null); })();
7231
7286
 
7232
7287
  class ErrorNotifierService {
7233
7288
  errorSource = new BehaviorSubject(null);
@@ -7419,39 +7474,6 @@ class MultipageComponentStateService {
7419
7474
  }]
7420
7475
  }], null, null); })();
7421
7476
 
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
7477
  class BannersService {
7456
7478
  httpService;
7457
7479
  appConfig;
@@ -15114,6 +15136,8 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15114
15136
  secureModeOn;
15115
15137
  jurisdictionId;
15116
15138
  caseTypeId;
15139
+ caseTypeExclusions;
15140
+ fileSecureModeOn = true;
15117
15141
  constructor(appConfig, caseNotifier, documentManagement, dialog, fileUploadStateService, jurisdictionService) {
15118
15142
  super();
15119
15143
  this.appConfig = appConfig;
@@ -15125,21 +15149,44 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15125
15149
  }
15126
15150
  ngOnInit() {
15127
15151
  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
- }
15152
+ this.caseTypeExclusions = this.appConfig.getCdamExclusionList();
15153
+ // Wait for both observables to emit at least once
15154
+ this.caseNotifierSubscription = combineLatest([
15155
+ this.caseNotifier.caseView.pipe(take(1)),
15156
+ this.jurisdictionService.getSelectedJurisdiction()
15157
+ ]).subscribe(([caseDetails, jurisdiction]) => {
15158
+ if (caseDetails) {
15159
+ this.caseTypeId = caseDetails?.case_type?.id;
15160
+ this.jurisdictionId = caseDetails?.case_type?.jurisdiction?.id;
15161
+ }
15162
+ if (jurisdiction) {
15163
+ this.jurisdictionId = jurisdiction.id;
15164
+ if (jurisdiction.currentCaseType) {
15165
+ this.caseTypeId = jurisdiction.currentCaseType.id;
15166
+ }
15167
+ }
15168
+ //if we havent set the value of caseTypeId yet, we can check if its in the url. e.g. case-creation
15169
+ if (!this.caseTypeId) {
15170
+ const url = window.location.pathname;
15171
+ if (url.indexOf('/case-create/') > -1) {
15172
+ const parts = url.split('/');
15173
+ this.jurisdictionId = parts[parts.indexOf('case-create') + 1];
15174
+ this.caseTypeId = parts[parts.indexOf('case-create') + 2];
15175
+ }
15176
+ }
15177
+ if (this.secureModeOn && this.caseTypeExclusions.split(',').includes(this.caseTypeId)) {
15178
+ this.fileSecureModeOn = false;
15179
+ }
15180
+ this.dialogConfig = initDialog();
15181
+ let document = this.caseField.value || { document_url: null, document_binary_url: null, document_filename: null };
15182
+ document = this.fileSecureModeOn && !document.document_hash ? { ...document, document_hash: null } : document;
15183
+ if (this.isAMandatoryComponent()) {
15184
+ this.createDocumentFormWithValidator(document);
15185
+ }
15186
+ else {
15187
+ this.createDocumentForm(document);
15188
+ }
15189
+ });
15143
15190
  }
15144
15191
  ngOnDestroy() {
15145
15192
  if (this.fileUploadSubscription) {
@@ -15252,29 +15299,6 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15252
15299
  this.triggerReplace();
15253
15300
  });
15254
15301
  }
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
15302
  isAMandatoryComponent() {
15279
15303
  return this.caseField.display_context && this.caseField.display_context === Constants.MANDATORY;
15280
15304
  }
@@ -15292,7 +15316,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15292
15316
  let validation = !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_URL).valid &&
15293
15317
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_BINARY_URL).valid &&
15294
15318
  !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_FILENAME).valid;
15295
- if (this.secureModeOn) {
15319
+ if (this.fileSecureModeOn) {
15296
15320
  validation = validation && !this.uploadedDocument.get(WriteDocumentFieldComponent.DOCUMENT_HASH).valid;
15297
15321
  }
15298
15322
  return validation;
@@ -15320,7 +15344,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15320
15344
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15321
15345
  };
15322
15346
  }
15323
- documentFormGroup = this.secureModeOn ? {
15347
+ documentFormGroup = this.fileSecureModeOn ? {
15324
15348
  ...documentFormGroup,
15325
15349
  ...{ document_hash: new FormControl(document.document_hash) }
15326
15350
  } : documentFormGroup;
@@ -15338,7 +15362,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15338
15362
  ...{ upload_timestamp: new FormControl(document.upload_timestamp) }
15339
15363
  };
15340
15364
  }
15341
- documentFormGroup = this.secureModeOn ? {
15365
+ documentFormGroup = this.fileSecureModeOn ? {
15342
15366
  ...documentFormGroup,
15343
15367
  ...{ document_hash: new FormControl(document.document_hash) }
15344
15368
  } : documentFormGroup;
@@ -15386,15 +15410,15 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15386
15410
  }
15387
15411
  handleDocumentUploadResult(result) {
15388
15412
  if (!this.uploadedDocument) {
15389
- if (this.secureModeOn) {
15413
+ if (this.fileSecureModeOn) {
15390
15414
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null, document_hash: null });
15391
15415
  }
15392
15416
  else {
15393
15417
  this.createDocumentForm({ document_url: null, document_binary_url: null, document_filename: null });
15394
15418
  }
15395
15419
  }
15396
- const document = this.secureModeOn ? result.documents[0] : result._embedded.documents[0];
15397
- if (this.secureModeOn) {
15420
+ const document = this.fileSecureModeOn ? result.documents[0] : result._embedded.documents[0];
15421
+ if (this.fileSecureModeOn) {
15398
15422
  this.updateDocumentForm(document._links.self.href, document._links.binary.href, document.originalDocumentName, document.hashToken);
15399
15423
  }
15400
15424
  else {
@@ -15407,7 +15431,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15407
15431
  this.caseField.value.document_binary_url = document._links.binary.href;
15408
15432
  this.caseField.value.document_filename = document.originalDocumentName;
15409
15433
  this.caseField.value.document_url = document._links.self.href;
15410
- if (this.secureModeOn) {
15434
+ if (this.fileSecureModeOn) {
15411
15435
  this.caseField.value.document_hash = document.hashToken;
15412
15436
  }
15413
15437
  }
@@ -15483,7 +15507,7 @@ class WriteDocumentFieldComponent extends AbstractFieldWriteComponent {
15483
15507
  type: ViewChild,
15484
15508
  args: ['fileInput', { static: false }]
15485
15509
  }] }); })();
15486
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 23 }); })();
15510
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteDocumentFieldComponent, { className: "WriteDocumentFieldComponent", filePath: "lib/shared/components/palette/document/write-document-field.component.ts", lineNumber: 24 }); })();
15487
15511
 
15488
15512
  class DynamicListPipe {
15489
15513
  static EMPTY = '';
@@ -19588,7 +19612,7 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19588
19612
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
19589
19613
  }
19590
19614
  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) {
19615
+ 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
19616
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
19593
19617
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
19594
19618
  i0.ɵɵelementEnd();
@@ -19607,11 +19631,11 @@ class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
19607
19631
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
19608
19632
  i0.ɵɵadvance();
19609
19633
  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 });
19634
+ } }, dependencies: [i5.NgClass, i5.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.PatternValidator, i4.FormControlDirective, FieldLabelPipe, FirstErrorPipe, i1.RpxTranslatePipe], encapsulation: 2 });
19611
19635
  }
19612
19636
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
19613
19637
  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" }]
19638
+ 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
19639
  }], null, null); })();
19616
19640
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
19617
19641
 
@@ -32668,8 +32692,8 @@ class CaseListModule {
32668
32692
  NgxPaginationModule,
32669
32693
  PaginationModule, i1.RpxTranslationModule], exports: [CaseListComponent] }); })();
32670
32694
 
32671
- function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32672
- i0.ɵɵelementStart(0, "option", 11);
32695
+ function WorkbasketFiltersComponent_option_21_Template(rf, ctx) { if (rf & 1) {
32696
+ i0.ɵɵelementStart(0, "option", 14);
32673
32697
  i0.ɵɵtext(1);
32674
32698
  i0.ɵɵpipe(2, "rpxTranslate");
32675
32699
  i0.ɵɵelementEnd();
@@ -32678,8 +32702,8 @@ function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
32678
32702
  i0.ɵɵadvance();
32679
32703
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32680
32704
  } }
32681
- function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32682
- i0.ɵɵelementStart(0, "option", 11);
32705
+ function WorkbasketFiltersComponent_option_22_Template(rf, ctx) { if (rf & 1) {
32706
+ i0.ɵɵelementStart(0, "option", 14);
32683
32707
  i0.ɵɵtext(1);
32684
32708
  i0.ɵɵpipe(2, "rpxTranslate");
32685
32709
  i0.ɵɵelementEnd();
@@ -32689,8 +32713,8 @@ function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
32689
32713
  i0.ɵɵadvance();
32690
32714
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r1.name));
32691
32715
  } }
32692
- function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32693
- i0.ɵɵelementStart(0, "option", 11);
32716
+ function WorkbasketFiltersComponent_option_28_Template(rf, ctx) { if (rf & 1) {
32717
+ i0.ɵɵelementStart(0, "option", 14);
32694
32718
  i0.ɵɵtext(1);
32695
32719
  i0.ɵɵpipe(2, "rpxTranslate");
32696
32720
  i0.ɵɵelementEnd();
@@ -32699,8 +32723,8 @@ function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
32699
32723
  i0.ɵɵadvance();
32700
32724
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
32701
32725
  } }
32702
- function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32703
- i0.ɵɵelementStart(0, "option", 11);
32726
+ function WorkbasketFiltersComponent_option_29_Template(rf, ctx) { if (rf & 1) {
32727
+ i0.ɵɵelementStart(0, "option", 14);
32704
32728
  i0.ɵɵtext(1);
32705
32729
  i0.ɵɵpipe(2, "rpxTranslate");
32706
32730
  i0.ɵɵelementEnd();
@@ -32710,8 +32734,8 @@ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
32710
32734
  i0.ɵɵadvance();
32711
32735
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r2.name));
32712
32736
  } }
32713
- function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32714
- i0.ɵɵelementStart(0, "option", 11);
32737
+ function WorkbasketFiltersComponent_option_38_Template(rf, ctx) { if (rf & 1) {
32738
+ i0.ɵɵelementStart(0, "option", 14);
32715
32739
  i0.ɵɵtext(1);
32716
32740
  i0.ɵɵpipe(2, "rpxTranslate");
32717
32741
  i0.ɵɵelementEnd();
@@ -32721,10 +32745,10 @@ function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
32721
32745
  i0.ɵɵadvance();
32722
32746
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r3.name));
32723
32747
  } }
32724
- function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
32748
+ function WorkbasketFiltersComponent_ng_container_39_div_2_Template(rf, ctx) { if (rf & 1) {
32725
32749
  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)); });
32750
+ i0.ɵɵelementStart(0, "div", 5)(1, "ccd-field-write", 20);
32751
+ 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
32752
  i0.ɵɵelementEnd()();
32729
32753
  } if (rf & 2) {
32730
32754
  const workbasketInput_r6 = ctx.$implicit;
@@ -32732,10 +32756,10 @@ function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if
32732
32756
  i0.ɵɵadvance();
32733
32757
  i0.ɵɵproperty("caseField", workbasketInput_r6.field)("formGroup", ctx_r4.formGroup)("isExpanded", true)("isInSearchBlock", true);
32734
32758
  } }
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);
32759
+ function WorkbasketFiltersComponent_ng_container_39_Template(rf, ctx) { if (rf & 1) {
32760
+ i0.ɵɵelementContainerStart(0, 17);
32761
+ i0.ɵɵelementStart(1, "div", 18);
32762
+ i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_39_div_2_Template, 2, 4, "div", 19);
32739
32763
  i0.ɵɵelementEnd();
32740
32764
  i0.ɵɵelementContainerEnd();
32741
32765
  } if (rf & 2) {
@@ -32778,6 +32802,9 @@ class WorkbasketFiltersComponent {
32778
32802
  this.alertService = alertService;
32779
32803
  this.windowService = windowService;
32780
32804
  }
32805
+ scrollToTop() {
32806
+ window.scrollTo({ top: 0, behavior: 'smooth' });
32807
+ }
32781
32808
  getDefaultJurisdiction() {
32782
32809
  if (!this.jurisdictions || this.jurisdictions.length === 0) {
32783
32810
  return null;
@@ -33069,62 +33096,79 @@ class WorkbasketFiltersComponent {
33069
33096
  }
33070
33097
  }
33071
33098
  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");
33099
+ 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) {
33100
+ i0.ɵɵelementStart(0, "form", 0)(1, "div", 1)(2, "fieldset", 2);
33101
+ i0.ɵɵtext(3);
33102
+ i0.ɵɵpipe(4, "rpxTranslate");
33076
33103
  i0.ɵɵelementEnd();
33077
- i0.ɵɵelementStart(3, "form", 1)(4, "div", 2)(5, "label", 3);
33078
- i0.ɵɵtext(6);
33104
+ i0.ɵɵelementStart(5, "button", 3);
33105
+ i0.ɵɵpipe(6, "rpxTranslate");
33079
33106
  i0.ɵɵpipe(7, "rpxTranslate");
33107
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_5_listener() { return ctx.apply(true); });
33108
+ i0.ɵɵtext(8);
33109
+ i0.ɵɵpipe(9, "rpxTranslate");
33080
33110
  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);
33111
+ i0.ɵɵtext(10, "\u00A0\u00A0\u00A0 ");
33112
+ i0.ɵɵelementStart(11, "button", 4);
33113
+ i0.ɵɵpipe(12, "rpxTranslate");
33114
+ i0.ɵɵpipe(13, "rpxTranslate");
33115
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_11_listener() { return ctx.reset(); });
33116
+ i0.ɵɵtext(14);
33117
+ i0.ɵɵpipe(15, "rpxTranslate");
33085
33118
  i0.ɵɵelementEnd()();
33086
- i0.ɵɵelementStart(11, "div", 2)(12, "label", 7);
33087
- i0.ɵɵtext(13);
33088
- i0.ɵɵpipe(14, "rpxTranslate");
33119
+ i0.ɵɵelementStart(16, "div", 5)(17, "label", 6);
33120
+ i0.ɵɵtext(18);
33121
+ i0.ɵɵpipe(19, "rpxTranslate");
33089
33122
  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);
33123
+ i0.ɵɵelementStart(20, "select", 7);
33124
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_20_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.jurisdiction, $event) || (ctx.selected.jurisdiction = $event); return $event; });
33125
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_20_listener() { return ctx.onJurisdictionIdChange(); });
33126
+ i0.ɵɵtemplate(21, WorkbasketFiltersComponent_option_21_Template, 3, 4, "option", 8)(22, WorkbasketFiltersComponent_option_22_Template, 3, 4, "option", 9);
33094
33127
  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");
33128
+ i0.ɵɵelementStart(23, "div", 5)(24, "label", 10);
33129
+ i0.ɵɵtext(25);
33130
+ i0.ɵɵpipe(26, "rpxTranslate");
33104
33131
  i0.ɵɵelementEnd();
33105
- i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
33132
+ i0.ɵɵelementStart(27, "select", 11);
33133
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_27_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseType, $event) || (ctx.selected.caseType = $event); return $event; });
33134
+ i0.ɵɵlistener("change", function WorkbasketFiltersComponent_Template_select_change_27_listener() { return ctx.onCaseTypeIdChange(); });
33135
+ i0.ɵɵtemplate(28, WorkbasketFiltersComponent_option_28_Template, 3, 4, "option", 8)(29, WorkbasketFiltersComponent_option_29_Template, 3, 4, "option", 9);
33106
33136
  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");
33137
+ i0.ɵɵelementStart(30, "div", 5)(31, "label", 12);
33138
+ i0.ɵɵtext(32);
33139
+ i0.ɵɵpipe(33, "rpxTranslate");
33114
33140
  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");
33141
+ i0.ɵɵelementStart(34, "select", 13);
33142
+ i0.ɵɵtwoWayListener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_34_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.selected.caseState, $event) || (ctx.selected.caseState = $event); return $event; });
33143
+ i0.ɵɵelementStart(35, "option", 14);
33144
+ i0.ɵɵtext(36);
33145
+ i0.ɵɵpipe(37, "rpxTranslate");
33146
+ i0.ɵɵelementEnd();
33147
+ i0.ɵɵtemplate(38, WorkbasketFiltersComponent_option_38_Template, 3, 4, "option", 9);
33148
+ i0.ɵɵelementEnd()();
33149
+ i0.ɵɵtemplate(39, WorkbasketFiltersComponent_ng_container_39_Template, 3, 3, "ng-container", 15);
33150
+ i0.ɵɵelementStart(40, "button", 16);
33151
+ i0.ɵɵpipe(41, "rpxTranslate");
33152
+ i0.ɵɵpipe(42, "rpxTranslate");
33153
+ i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_40_listener() { return ctx.scrollToTop(); });
33154
+ i0.ɵɵtext(43);
33155
+ i0.ɵɵpipe(44, "rpxTranslate");
33122
33156
  i0.ɵɵelementEnd()();
33123
33157
  } 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"));
33158
+ i0.ɵɵadvance(3);
33159
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 27, "Filters"));
33160
+ i0.ɵɵadvance(2);
33161
+ i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(6, 29, "Apply filter"));
33162
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(7, 31, "Apply filter"));
33163
+ i0.ɵɵadvance(3);
33164
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 33, "Apply"), " ");
33165
+ i0.ɵɵadvance(3);
33166
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(12, 35, "Reset filter"));
33167
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(13, 37, "Reset filter"));
33168
+ i0.ɵɵadvance(3);
33169
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(15, 39, "Reset"), " ");
33170
+ i0.ɵɵadvance(4);
33171
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(19, 41, "Jurisdiction"));
33128
33172
  i0.ɵɵadvance(2);
33129
33173
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.jurisdiction);
33130
33174
  i0.ɵɵadvance();
@@ -33132,7 +33176,7 @@ class WorkbasketFiltersComponent {
33132
33176
  i0.ɵɵadvance();
33133
33177
  i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
33134
33178
  i0.ɵɵadvance(3);
33135
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
33179
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(26, 43, "Case type"));
33136
33180
  i0.ɵɵadvance(2);
33137
33181
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseType);
33138
33182
  i0.ɵɵproperty("disabled", ctx.isCaseTypesDropdownDisabled());
@@ -33141,33 +33185,28 @@ class WorkbasketFiltersComponent {
33141
33185
  i0.ɵɵadvance();
33142
33186
  i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
33143
33187
  i0.ɵɵadvance(3);
33144
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
33188
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(33, 45, "State"));
33145
33189
  i0.ɵɵadvance(2);
33146
33190
  i0.ɵɵtwoWayProperty("ngModel", ctx.selected.caseState);
33147
33191
  i0.ɵɵproperty("disabled", ctx.isCaseStatesDropdownDisabled());
33148
33192
  i0.ɵɵadvance();
33149
33193
  i0.ɵɵproperty("ngValue", null);
33150
33194
  i0.ɵɵadvance();
33151
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
33195
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(37, 47, "Any"));
33152
33196
  i0.ɵɵadvance(2);
33153
33197
  i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
33154
33198
  i0.ɵɵadvance();
33155
33199
  i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
33156
33200
  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"));
33201
+ i0.ɵɵproperty("title", i0.ɵɵpipeBind1(41, 49, "Back to top"));
33202
+ i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(42, 51, "Back to top"));
33164
33203
  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}"] });
33204
+ i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(44, 53, "Back to top"), " ");
33205
+ } }, 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
33206
  }
33168
33207
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
33169
33208
  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"] }]
33209
+ 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
33210
  }], () => [{ type: i1$1.ActivatedRoute }, { type: WorkbasketInputFilterService }, { type: OrderService }, { type: JurisdictionService }, { type: AlertService }, { type: WindowService }], { jurisdictions: [{
33172
33211
  type: Input
33173
33212
  }], defaults: [{