@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.
- package/esm2022/lib/app.config.mjs +2 -1
- package/esm2022/lib/components/form/date-input/date-input.component.mjs +3 -3
- package/esm2022/lib/shared/components/palette/document/write-document-field.component.mjs +51 -47
- package/esm2022/lib/shared/components/palette/number/write-number-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/workbasket-filters/workbasket-filters.component.mjs +91 -76
- package/esm2022/lib/shared/services/document-management/document-management.service.mjs +38 -14
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +213 -174
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/app.config.d.ts +2 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts +2 -1
- package/lib/shared/components/palette/document/write-document-field.component.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts +1 -0
- package/lib/shared/components/workbasket-filters/workbasket-filters.component.d.ts.map +1 -1
- package/lib/shared/services/document-management/document-management.service.d.ts +4 -1
- package/lib/shared/services/document-management/document-management.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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,
|
|
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", "
|
|
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=\"
|
|
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
|
-
|
|
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
|
-
|
|
7216
|
-
this.
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
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
|
-
|
|
15129
|
-
|
|
15130
|
-
|
|
15131
|
-
|
|
15132
|
-
|
|
15133
|
-
|
|
15134
|
-
|
|
15135
|
-
|
|
15136
|
-
|
|
15137
|
-
|
|
15138
|
-
|
|
15139
|
-
|
|
15140
|
-
|
|
15141
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
15397
|
-
if (this.
|
|
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.
|
|
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:
|
|
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", "
|
|
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.
|
|
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=\"
|
|
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
|
|
32672
|
-
i0.ɵɵelementStart(0, "option",
|
|
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
|
|
32682
|
-
i0.ɵɵelementStart(0, "option",
|
|
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
|
|
32693
|
-
i0.ɵɵelementStart(0, "option",
|
|
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
|
|
32703
|
-
i0.ɵɵelementStart(0, "option",
|
|
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
|
|
32714
|
-
i0.ɵɵelementStart(0, "option",
|
|
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
|
|
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",
|
|
32727
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
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
|
|
32736
|
-
i0.ɵɵelementContainerStart(0,
|
|
32737
|
-
i0.ɵɵelementStart(1, "div",
|
|
32738
|
-
i0.ɵɵtemplate(2,
|
|
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:
|
|
33073
|
-
i0.ɵɵelementStart(0, "
|
|
33074
|
-
i0.ɵɵtext(
|
|
33075
|
-
i0.ɵɵpipe(
|
|
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(
|
|
33078
|
-
i0.ɵɵ
|
|
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.ɵɵ
|
|
33082
|
-
i0.ɵɵ
|
|
33083
|
-
i0.ɵɵ
|
|
33084
|
-
i0.ɵɵ
|
|
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(
|
|
33087
|
-
i0.ɵɵtext(
|
|
33088
|
-
i0.ɵɵpipe(
|
|
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(
|
|
33091
|
-
i0.ɵɵtwoWayListener("ngModelChange", function
|
|
33092
|
-
i0.ɵɵlistener("change", function
|
|
33093
|
-
i0.ɵɵtemplate(
|
|
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(
|
|
33096
|
-
i0.ɵɵtext(
|
|
33097
|
-
i0.ɵɵpipe(
|
|
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.ɵɵ
|
|
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.ɵɵ
|
|
33108
|
-
i0.ɵɵ
|
|
33109
|
-
i0.ɵɵpipe(
|
|
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.ɵɵ
|
|
33116
|
-
i0.ɵɵ
|
|
33117
|
-
i0.ɵɵ
|
|
33118
|
-
i0.ɵɵ
|
|
33119
|
-
i0.ɵɵ
|
|
33120
|
-
i0.ɵɵ
|
|
33121
|
-
i0.ɵɵ
|
|
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(
|
|
33126
|
-
i0.ɵɵadvance(
|
|
33127
|
-
i0.ɵɵ
|
|
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(
|
|
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(
|
|
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(
|
|
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("
|
|
33158
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(
|
|
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("
|
|
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: "<
|
|
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> \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: [{
|