@hmcts/rpx-xui-common-lib 1.8.7-fix-wrong-services → 1.8.8-angular-upgrade-r4
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/bundles/hmcts-rpx-xui-common-lib.umd.js +919 -201
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +32 -29
- package/esm2015/lib/components/find-location/find-location.component.js +8 -4
- package/esm2015/lib/components/find-service/find-service.component.js +2 -2
- package/esm2015/lib/components/find-task-name/find-task-name.component.js +228 -0
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +2 -2
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +361 -15
- package/esm2015/lib/components/search-location/search-location.component.js +3 -3
- package/esm2015/lib/components/search-service/search-service.component.js +18 -6
- package/esm2015/lib/exui-common-lib.module.js +12 -3
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +80 -6
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +22 -0
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +19 -14
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
- package/esm2015/lib/gov-ui/components/index.js +2 -2
- package/esm2015/lib/gov-ui/components/public_api.js +2 -1
- package/esm2015/lib/gov-ui/index.js +2 -2
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +6 -8
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +5 -1
- package/esm2015/lib/gov-ui/models/public_api.js +1 -2
- package/esm2015/lib/gov-ui/models/radio-buttons.model.js +22 -0
- package/esm2015/lib/gov-ui/public_api.js +2 -2
- package/esm2015/lib/models/filter.model.js +63 -3
- package/esm2015/lib/models/index.js +3 -2
- package/esm2015/lib/models/person.model.js +2 -2
- package/esm2015/lib/models/task-name.model.js +16 -0
- package/esm2015/lib/pipes/capitalize.pipe.js +21 -0
- package/esm2015/lib/services/filter/filter.service.js +17 -3
- package/esm2015/lib/services/find-person/find-person.service.js +3 -3
- package/esm2015/lib/services/role-guard/role.guard.js +22 -15
- package/esm2015/lib/services/role-guard/role.service.js +13 -13
- package/esm2015/lib/services/storage/session-storage/session-storage.service.js +55 -0
- package/esm2015/lib/services/task-name/task-name.service.js +65 -0
- package/esm2015/public-api.js +3 -3
- package/esm5/hmcts-rpx-xui-common-lib.js +32 -29
- package/esm5/lib/components/find-location/find-location.component.js +8 -4
- package/esm5/lib/components/find-service/find-service.component.js +2 -2
- package/esm5/lib/components/find-task-name/find-task-name.component.js +243 -0
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +2 -2
- package/esm5/lib/components/generic-filter/generic-filter.component.js +397 -14
- package/esm5/lib/components/search-location/search-location.component.js +3 -3
- package/esm5/lib/components/search-service/search-service.component.js +20 -7
- package/esm5/lib/exui-common-lib.module.js +10 -3
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +100 -6
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -3
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +3 -2
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +1 -1
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -2
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +22 -0
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +17 -13
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -2
- package/esm5/lib/gov-ui/components/index.js +2 -2
- package/esm5/lib/gov-ui/components/public_api.js +2 -1
- package/esm5/lib/gov-ui/index.js +2 -2
- package/esm5/lib/gov-ui/models/checkboxes-model.js +6 -8
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +5 -1
- package/esm5/lib/gov-ui/models/public_api.js +1 -2
- package/esm5/lib/gov-ui/models/radio-buttons.model.js +22 -0
- package/esm5/lib/gov-ui/public_api.js +2 -2
- package/esm5/lib/models/filter.model.js +63 -3
- package/esm5/lib/models/index.js +3 -2
- package/esm5/lib/models/person.model.js +2 -2
- package/esm5/lib/models/task-name.model.js +16 -0
- package/esm5/lib/pipes/capitalize.pipe.js +29 -0
- package/esm5/lib/services/filter/filter.service.js +21 -3
- package/esm5/lib/services/find-person/find-person.service.js +3 -3
- package/esm5/lib/services/role-guard/role.guard.js +22 -15
- package/esm5/lib/services/role-guard/role.service.js +13 -13
- package/esm5/lib/services/{session-storage → storage/session-storage}/session-storage.service.js +2 -2
- package/esm5/lib/services/task-name/task-name.service.js +70 -0
- package/esm5/public-api.js +3 -3
- package/fesm2015/hmcts-rpx-xui-common-lib.js +782 -115
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +908 -158
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +30 -27
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
- package/lib/components/generic-filter/generic-filter.component.d.ts +12 -2
- package/lib/components/search-location/search-location.component.d.ts +1 -1
- package/lib/components/search-service/search-service.component.d.ts +5 -2
- package/lib/exui-common-lib.module.d.ts +4 -3
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +4 -2
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
- package/lib/gov-ui/components/public_api.d.ts +1 -0
- package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
- package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
- package/lib/gov-ui/models/public_api.d.ts +0 -1
- package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
- package/lib/models/filter.model.d.ts +29 -7
- package/lib/models/index.d.ts +1 -0
- package/lib/models/person.model.d.ts +1 -1
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/pipes/capitalize.pipe.d.ts +4 -0
- package/lib/services/filter/filter.service.d.ts +1 -0
- package/lib/services/find-person/find-person.service.d.ts +1 -1
- package/lib/services/role-guard/role.guard.d.ts +2 -1
- package/lib/services/role-guard/role.service.d.ts +3 -1
- package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +0 -0
- package/lib/services/task-name/task-name.service.d.ts +14 -0
- package/package.json +1 -1
- package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
- package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
- package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
|
@@ -10,9 +10,9 @@ import { Title } from '@angular/platform-browser';
|
|
|
10
10
|
import { DocumentInterruptSource, Idle } from '@ng-idle/core';
|
|
11
11
|
import { Keepalive } from '@ng-idle/keepalive';
|
|
12
12
|
import { Router, RouterModule, NavigationEnd } from '@angular/router';
|
|
13
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation, Injectable, Directive, TemplateRef, ViewContainerRef, ElementRef, Inject, ViewChild, ChangeDetectorRef, InjectionToken, ChangeDetectionStrategy, defineInjectable, inject, NgModule } from '@angular/core';
|
|
13
|
+
import { Component, EventEmitter, Input, Output, ViewEncapsulation, Injectable, Pipe, Directive, TemplateRef, ViewContainerRef, ElementRef, Inject, ViewChild, ChangeDetectorRef, InjectionToken, ChangeDetectionStrategy, defineInjectable, inject, NgModule } from '@angular/core';
|
|
14
14
|
import { BehaviorSubject, of, zip, Subject, combineLatest } from 'rxjs';
|
|
15
|
-
import { distinctUntilChanged, map, tap, debounceTime, filter, mergeMap, catchError, switchMap, delay } from 'rxjs/operators';
|
|
15
|
+
import { distinctUntilChanged, map, tap, debounceTime, filter, mergeMap, catchError, switchMap, delay, skipWhile } from 'rxjs/operators';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* @fileoverview added by tsickle
|
|
@@ -494,7 +494,7 @@ class FilterService {
|
|
|
494
494
|
return this.filterSettings[id];
|
|
495
495
|
}
|
|
496
496
|
if (sessionStorage.getItem(id)) {
|
|
497
|
-
return JSON.parse(
|
|
497
|
+
return JSON.parse(sessionStorage.getItem(id));
|
|
498
498
|
}
|
|
499
499
|
if (localStorage.getItem(id)) {
|
|
500
500
|
if (this.isSameUser(id)) {
|
|
@@ -525,6 +525,20 @@ class FilterService {
|
|
|
525
525
|
}
|
|
526
526
|
return this.streams[id].asObservable();
|
|
527
527
|
}
|
|
528
|
+
/**
|
|
529
|
+
* @param {?} id
|
|
530
|
+
* @return {?}
|
|
531
|
+
*/
|
|
532
|
+
clearSessionAndLocalPersistance(id) {
|
|
533
|
+
sessionStorage.removeItem(id);
|
|
534
|
+
localStorage.removeItem(id);
|
|
535
|
+
if (this.filterSettings[id] !== undefined) {
|
|
536
|
+
this.filterSettings[id] = null;
|
|
537
|
+
}
|
|
538
|
+
if (this.streams[id] !== undefined) {
|
|
539
|
+
this.streams[id].next(null);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
528
542
|
/**
|
|
529
543
|
* @private
|
|
530
544
|
* @param {?} setting
|
|
@@ -540,7 +554,7 @@ class FilterService {
|
|
|
540
554
|
* @return {?}
|
|
541
555
|
*/
|
|
542
556
|
persistSession(setting) {
|
|
543
|
-
|
|
557
|
+
sessionStorage.setItem(setting.id, JSON.stringify(setting));
|
|
544
558
|
}
|
|
545
559
|
/**
|
|
546
560
|
* @private
|
|
@@ -605,7 +619,7 @@ function minSelectedValidator(min) {
|
|
|
605
619
|
* @param {?} value
|
|
606
620
|
* @return {?}
|
|
607
621
|
*/
|
|
608
|
-
value => value)).length >= min ? null : {
|
|
622
|
+
value => value)).length >= min ? null : { minlength: true };
|
|
609
623
|
});
|
|
610
624
|
}
|
|
611
625
|
/**
|
|
@@ -662,6 +676,7 @@ class GenericFilterComponent {
|
|
|
662
676
|
this.filterService = filterService;
|
|
663
677
|
this.fb = fb;
|
|
664
678
|
this.submitted = false;
|
|
679
|
+
this.previousSelectedNestedCheckbox = [];
|
|
665
680
|
}
|
|
666
681
|
/**
|
|
667
682
|
* @return {?}
|
|
@@ -708,10 +723,10 @@ class GenericFilterComponent {
|
|
|
708
723
|
static addFormValidators(field) {
|
|
709
724
|
/** @type {?} */
|
|
710
725
|
const validators = [];
|
|
711
|
-
if (field && field.minSelected) {
|
|
726
|
+
if (field && field.minSelected > 0) {
|
|
712
727
|
validators.push(minSelectedValidator(field.minSelected));
|
|
713
728
|
}
|
|
714
|
-
if (field && field.maxSelected) {
|
|
729
|
+
if (field && field.maxSelected > 0) {
|
|
715
730
|
validators.push(maxSelectedValidator(field.maxSelected));
|
|
716
731
|
}
|
|
717
732
|
return validators;
|
|
@@ -729,6 +744,17 @@ class GenericFilterComponent {
|
|
|
729
744
|
* @return {?}
|
|
730
745
|
*/
|
|
731
746
|
() => this.submitted = false));
|
|
747
|
+
this.filterSkillsByServices(null, this.config);
|
|
748
|
+
/** @type {?} */
|
|
749
|
+
const services = this.config.fields.find((/**
|
|
750
|
+
* @param {?} field
|
|
751
|
+
* @return {?}
|
|
752
|
+
*/
|
|
753
|
+
field => field.name === 'user-services'));
|
|
754
|
+
if (services) {
|
|
755
|
+
this.startFilterSkillsByServices(this.form, services);
|
|
756
|
+
this.initValuesFromCacheForSkillsByServices();
|
|
757
|
+
}
|
|
732
758
|
}
|
|
733
759
|
/**
|
|
734
760
|
* @return {?}
|
|
@@ -860,6 +886,11 @@ class GenericFilterComponent {
|
|
|
860
886
|
* @return {?}
|
|
861
887
|
*/
|
|
862
888
|
inputChanged(field) {
|
|
889
|
+
if (field.name === 'user-services') {
|
|
890
|
+
/** @type {?} */
|
|
891
|
+
const selectedServices = this.getSelectedValuesForFields(this.form.controls, field);
|
|
892
|
+
this.filterSkillsByServices(selectedServices, this.config);
|
|
893
|
+
}
|
|
863
894
|
if (field.radioSelectionChange && typeof field.radioSelectionChange === 'string') {
|
|
864
895
|
const [name, value] = field.enableCondition.split('=');
|
|
865
896
|
this.form.get(name).patchValue(value);
|
|
@@ -878,6 +909,9 @@ class GenericFilterComponent {
|
|
|
878
909
|
this.filterService.persist(settings, this.config.persistence);
|
|
879
910
|
this.filterService.givenErrors.next(null);
|
|
880
911
|
this.submitted = false;
|
|
912
|
+
if (this.config.cancelButtonCallback) {
|
|
913
|
+
this.config.cancelButtonCallback();
|
|
914
|
+
}
|
|
881
915
|
}
|
|
882
916
|
/**
|
|
883
917
|
* @param {?} values
|
|
@@ -901,6 +935,22 @@ class GenericFilterComponent {
|
|
|
901
935
|
}
|
|
902
936
|
}
|
|
903
937
|
}
|
|
938
|
+
/**
|
|
939
|
+
* @param {?} field
|
|
940
|
+
* @param {?} i
|
|
941
|
+
* @return {?}
|
|
942
|
+
*/
|
|
943
|
+
checkBoxChecked(field, i) {
|
|
944
|
+
return ((/** @type {?} */ (this.form.get(field.name))))['controls'][i]['value'];
|
|
945
|
+
}
|
|
946
|
+
/**
|
|
947
|
+
* @param {?} values
|
|
948
|
+
* @param {?} field
|
|
949
|
+
* @return {?}
|
|
950
|
+
*/
|
|
951
|
+
updateTaskNameControls(values, field) {
|
|
952
|
+
this.form.get(field.name).patchValue(values);
|
|
953
|
+
}
|
|
904
954
|
/**
|
|
905
955
|
* @param {?} event
|
|
906
956
|
* @param {?} form
|
|
@@ -984,6 +1034,52 @@ class GenericFilterComponent {
|
|
|
984
1034
|
this.resetField(resetField, form);
|
|
985
1035
|
}
|
|
986
1036
|
}
|
|
1037
|
+
if (field.name === 'user-services') {
|
|
1038
|
+
this.startFilterSkillsByServices(form, field);
|
|
1039
|
+
}
|
|
1040
|
+
else if (field.name === 'user-skills') {
|
|
1041
|
+
if (isChecked) {
|
|
1042
|
+
/** @type {?} */
|
|
1043
|
+
const selectedIndex = field.options.findIndex((/**
|
|
1044
|
+
* @param {?} option
|
|
1045
|
+
* @return {?}
|
|
1046
|
+
*/
|
|
1047
|
+
option => Number(option.key) === Number(event.target.value)));
|
|
1048
|
+
/** @type {?} */
|
|
1049
|
+
const selectedCheckbox = this.form.get('user-skills').value;
|
|
1050
|
+
selectedCheckbox[selectedIndex] = true;
|
|
1051
|
+
this.form.get('user-skills').setValue(selectedCheckbox);
|
|
1052
|
+
this.previousSelectedNestedCheckbox.push(event.target.value);
|
|
1053
|
+
}
|
|
1054
|
+
else {
|
|
1055
|
+
/** @type {?} */
|
|
1056
|
+
const index = this.previousSelectedNestedCheckbox.indexOf(event.target.value);
|
|
1057
|
+
if (index !== -1) {
|
|
1058
|
+
this.previousSelectedNestedCheckbox.splice(index, 1);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
/**
|
|
1064
|
+
* @private
|
|
1065
|
+
* @param {?} form
|
|
1066
|
+
* @param {?} field
|
|
1067
|
+
* @return {?}
|
|
1068
|
+
*/
|
|
1069
|
+
startFilterSkillsByServices(form, field) {
|
|
1070
|
+
/** @type {?} */
|
|
1071
|
+
const servicesArray = [];
|
|
1072
|
+
form.value[field.name].map((/**
|
|
1073
|
+
* @param {?} service
|
|
1074
|
+
* @param {?} index
|
|
1075
|
+
* @return {?}
|
|
1076
|
+
*/
|
|
1077
|
+
(service, index) => {
|
|
1078
|
+
if (service) {
|
|
1079
|
+
servicesArray.push(field.options[index].key);
|
|
1080
|
+
}
|
|
1081
|
+
}));
|
|
1082
|
+
this.filterSkillsByServices(servicesArray, this.config);
|
|
987
1083
|
}
|
|
988
1084
|
/**
|
|
989
1085
|
* @private
|
|
@@ -1057,14 +1153,14 @@ class GenericFilterComponent {
|
|
|
1057
1153
|
this.form.addControl('findPersonControl', findPersonControl);
|
|
1058
1154
|
}
|
|
1059
1155
|
for (const field of config.fields) {
|
|
1060
|
-
if (field.type === 'checkbox' || field.type === 'checkbox-large') {
|
|
1156
|
+
if (field.type === 'checkbox' || field.type === 'checkbox-large' || field.type === 'nested-checkbox') {
|
|
1061
1157
|
/** @type {?} */
|
|
1062
1158
|
const formArray = this.buildCheckBoxFormArray(field, settings);
|
|
1063
1159
|
this.form.addControl(field.name, formArray);
|
|
1064
1160
|
}
|
|
1065
|
-
else if (field.type === 'find-location') {
|
|
1161
|
+
else if (field.type === 'find-location' || field.type === 'find-service') {
|
|
1066
1162
|
/** @type {?} */
|
|
1067
|
-
const formArray = this.
|
|
1163
|
+
const formArray = this.buildFormArray(field, settings);
|
|
1068
1164
|
this.form.addControl(field.name, formArray);
|
|
1069
1165
|
}
|
|
1070
1166
|
else {
|
|
@@ -1072,6 +1168,12 @@ class GenericFilterComponent {
|
|
|
1072
1168
|
const validators = [];
|
|
1073
1169
|
if (field.minSelected && field.minSelected > 0) {
|
|
1074
1170
|
validators.push(Validators.required);
|
|
1171
|
+
if (field.type === 'text-input') {
|
|
1172
|
+
validators.push(Validators.minLength(field.minSelected));
|
|
1173
|
+
}
|
|
1174
|
+
if (field.type === 'email-input') {
|
|
1175
|
+
validators.push(Validators.email);
|
|
1176
|
+
}
|
|
1075
1177
|
}
|
|
1076
1178
|
/** @type {?} */
|
|
1077
1179
|
let defaultValue = null;
|
|
@@ -1105,7 +1207,7 @@ class GenericFilterComponent {
|
|
|
1105
1207
|
});
|
|
1106
1208
|
this.form.addControl(field.name, formGroup);
|
|
1107
1209
|
}
|
|
1108
|
-
else {
|
|
1210
|
+
else if (field.type !== 'group-title') {
|
|
1109
1211
|
/** @type {?} */
|
|
1110
1212
|
const control = new FormControl(defaultValue, validators);
|
|
1111
1213
|
this.form.addControl(field.name, control);
|
|
@@ -1157,7 +1259,7 @@ class GenericFilterComponent {
|
|
|
1157
1259
|
* @param {?} settings
|
|
1158
1260
|
* @return {?}
|
|
1159
1261
|
*/
|
|
1160
|
-
|
|
1262
|
+
buildFormArray(field, settings) {
|
|
1161
1263
|
/** @type {?} */
|
|
1162
1264
|
const validators = GenericFilterComponent.addFormValidators(field);
|
|
1163
1265
|
/** @type {?} */
|
|
@@ -1199,7 +1301,7 @@ class GenericFilterComponent {
|
|
|
1199
1301
|
* @return {?}
|
|
1200
1302
|
*/
|
|
1201
1303
|
f => f.name === name));
|
|
1202
|
-
if (field.type === 'find-location') {
|
|
1304
|
+
if (field.type === 'find-location' || field.type === 'find-service') {
|
|
1203
1305
|
return { value: values, name };
|
|
1204
1306
|
}
|
|
1205
1307
|
else {
|
|
@@ -1218,29 +1320,281 @@ class GenericFilterComponent {
|
|
|
1218
1320
|
*/
|
|
1219
1321
|
emitFormErrors(form) {
|
|
1220
1322
|
/** @type {?} */
|
|
1221
|
-
|
|
1323
|
+
let errors = [];
|
|
1222
1324
|
for (const field of this.config.fields) {
|
|
1223
1325
|
/** @type {?} */
|
|
1224
1326
|
const formGroup = form.get(field.name);
|
|
1225
|
-
if (formGroup && formGroup.errors && formGroup.errors.
|
|
1327
|
+
if (formGroup && formGroup.errors && (formGroup.errors.minlength || formGroup.errors.required)) {
|
|
1226
1328
|
errors.push({ name: field.name, error: field.minSelectedError });
|
|
1227
1329
|
}
|
|
1228
|
-
if (formGroup && formGroup.errors && formGroup.errors.
|
|
1229
|
-
errors.push({ name: field.name, error: field.
|
|
1330
|
+
if (formGroup && formGroup.errors && formGroup.errors.maxlength) {
|
|
1331
|
+
errors.push({ name: field.name, error: field.maxSelectedError });
|
|
1230
1332
|
}
|
|
1231
1333
|
}
|
|
1334
|
+
// remove duplicates
|
|
1335
|
+
errors = errors.filter((/**
|
|
1336
|
+
* @param {?} filterError
|
|
1337
|
+
* @param {?} i
|
|
1338
|
+
* @param {?} arr
|
|
1339
|
+
* @return {?}
|
|
1340
|
+
*/
|
|
1341
|
+
(filterError, i, arr) => {
|
|
1342
|
+
return errors.indexOf(arr.find((/**
|
|
1343
|
+
* @param {?} item
|
|
1344
|
+
* @return {?}
|
|
1345
|
+
*/
|
|
1346
|
+
item => item.name === filterError.name))) === i;
|
|
1347
|
+
}));
|
|
1232
1348
|
if (errors.length) {
|
|
1233
1349
|
this.filterService.givenErrors.next(errors);
|
|
1234
1350
|
}
|
|
1235
1351
|
}
|
|
1352
|
+
/**
|
|
1353
|
+
* @return {?}
|
|
1354
|
+
*/
|
|
1355
|
+
initValuesFromCacheForSkillsByServices() {
|
|
1356
|
+
/** @type {?} */
|
|
1357
|
+
const cachedValues = this.filteredSkillsByServicesCheckbox.map((/**
|
|
1358
|
+
* @param {?} skill
|
|
1359
|
+
* @return {?}
|
|
1360
|
+
*/
|
|
1361
|
+
skill => {
|
|
1362
|
+
/** @type {?} */
|
|
1363
|
+
let selected = false;
|
|
1364
|
+
if (this.settings && this.settings.fields) {
|
|
1365
|
+
/** @type {?} */
|
|
1366
|
+
let isSelectedUserSkill;
|
|
1367
|
+
/** @type {?} */
|
|
1368
|
+
const selectedUserSkills = this.settings.fields.find((/**
|
|
1369
|
+
* @param {?} setting
|
|
1370
|
+
* @return {?}
|
|
1371
|
+
*/
|
|
1372
|
+
setting => setting.name === 'user-skills'));
|
|
1373
|
+
if (selectedUserSkills && selectedUserSkills.value && selectedUserSkills.value.length > 0) {
|
|
1374
|
+
isSelectedUserSkill = selectedUserSkills.value.findIndex((/**
|
|
1375
|
+
* @param {?} val
|
|
1376
|
+
* @return {?}
|
|
1377
|
+
*/
|
|
1378
|
+
val => {
|
|
1379
|
+
return String(val) === String(skill.key);
|
|
1380
|
+
}));
|
|
1381
|
+
selected = isSelectedUserSkill !== -1;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
return selected;
|
|
1385
|
+
}));
|
|
1386
|
+
this.form.get('user-skills').setValue(cachedValues);
|
|
1387
|
+
}
|
|
1388
|
+
/**
|
|
1389
|
+
* @param {?} services
|
|
1390
|
+
* @param {?} config
|
|
1391
|
+
* @return {?}
|
|
1392
|
+
*/
|
|
1393
|
+
filterSkillsByServices(services, config) {
|
|
1394
|
+
this.filteredSkillsByServices = [];
|
|
1395
|
+
this.filteredSkillsByServicesCheckbox = [];
|
|
1396
|
+
/** @type {?} */
|
|
1397
|
+
const userSkillsSelectField = config.fields.find((/**
|
|
1398
|
+
* @param {?} f
|
|
1399
|
+
* @return {?}
|
|
1400
|
+
*/
|
|
1401
|
+
f => f.name === 'user-skills' && f.type === 'group-select'));
|
|
1402
|
+
/** @type {?} */
|
|
1403
|
+
const userSkillsCheckboxField = config.fields.find((/**
|
|
1404
|
+
* @param {?} f
|
|
1405
|
+
* @return {?}
|
|
1406
|
+
*/
|
|
1407
|
+
f => f.name === 'user-skills' && f.type === 'nested-checkbox'));
|
|
1408
|
+
if (userSkillsSelectField) {
|
|
1409
|
+
/** @type {?} */
|
|
1410
|
+
const userSkills = userSkillsSelectField.groupOptions;
|
|
1411
|
+
if (!services || services.length === 0) {
|
|
1412
|
+
this.filteredSkillsByServices = userSkills;
|
|
1413
|
+
}
|
|
1414
|
+
else {
|
|
1415
|
+
services.forEach((/**
|
|
1416
|
+
* @param {?} s
|
|
1417
|
+
* @return {?}
|
|
1418
|
+
*/
|
|
1419
|
+
s => {
|
|
1420
|
+
/** @type {?} */
|
|
1421
|
+
const groupOption = userSkills.find((/**
|
|
1422
|
+
* @param {?} u
|
|
1423
|
+
* @return {?}
|
|
1424
|
+
*/
|
|
1425
|
+
u => u.group.toLowerCase() === s.toLowerCase()));
|
|
1426
|
+
if (groupOption) {
|
|
1427
|
+
this.filteredSkillsByServices.push(groupOption);
|
|
1428
|
+
}
|
|
1429
|
+
}));
|
|
1430
|
+
}
|
|
1431
|
+
}
|
|
1432
|
+
else if (userSkillsCheckboxField) {
|
|
1433
|
+
/** @type {?} */
|
|
1434
|
+
const userSkills = userSkillsCheckboxField.groupOptions;
|
|
1435
|
+
if (!services || services.length === 0) {
|
|
1436
|
+
this.filteredSkillsByServices = userSkills;
|
|
1437
|
+
}
|
|
1438
|
+
else {
|
|
1439
|
+
services.forEach((/**
|
|
1440
|
+
* @param {?} s
|
|
1441
|
+
* @return {?}
|
|
1442
|
+
*/
|
|
1443
|
+
s => {
|
|
1444
|
+
/** @type {?} */
|
|
1445
|
+
const groupOption = userSkills.find((/**
|
|
1446
|
+
* @param {?} u
|
|
1447
|
+
* @return {?}
|
|
1448
|
+
*/
|
|
1449
|
+
u => u.group.toLowerCase() === s.toLowerCase()));
|
|
1450
|
+
if (groupOption) {
|
|
1451
|
+
this.filteredSkillsByServices.push(groupOption);
|
|
1452
|
+
}
|
|
1453
|
+
}));
|
|
1454
|
+
this.filteredSkillsByServicesCheckbox = this.filteredSkillsByServices.map((/**
|
|
1455
|
+
* @param {?} skill
|
|
1456
|
+
* @return {?}
|
|
1457
|
+
*/
|
|
1458
|
+
skill => {
|
|
1459
|
+
return skill.options;
|
|
1460
|
+
})).reduce((/**
|
|
1461
|
+
* @param {?} a
|
|
1462
|
+
* @param {?} b
|
|
1463
|
+
* @return {?}
|
|
1464
|
+
*/
|
|
1465
|
+
(a, b) => {
|
|
1466
|
+
return a.concat(b);
|
|
1467
|
+
}), []);
|
|
1468
|
+
userSkillsCheckboxField.options = [];
|
|
1469
|
+
userSkillsCheckboxField.options = this.filteredSkillsByServicesCheckbox;
|
|
1470
|
+
this.form.setControl('user-skills', new FormArray([]));
|
|
1471
|
+
this.filteredSkillsByServicesCheckbox.forEach((/**
|
|
1472
|
+
* @return {?}
|
|
1473
|
+
*/
|
|
1474
|
+
() => {
|
|
1475
|
+
((/** @type {?} */ (this.form.get('user-skills')))).push(new FormControl(false));
|
|
1476
|
+
}));
|
|
1477
|
+
/** @type {?} */
|
|
1478
|
+
const prevValues = this.filteredSkillsByServicesCheckbox.map((/**
|
|
1479
|
+
* @param {?} skill
|
|
1480
|
+
* @return {?}
|
|
1481
|
+
*/
|
|
1482
|
+
skill => {
|
|
1483
|
+
/** @type {?} */
|
|
1484
|
+
let selected = false;
|
|
1485
|
+
if (this.settings && this.settings.fields) {
|
|
1486
|
+
if (this.previousSelectedNestedCheckbox.length > 0) {
|
|
1487
|
+
selected = this.previousSelectedNestedCheckbox.includes(skill.key);
|
|
1488
|
+
}
|
|
1489
|
+
/** @type {?} */
|
|
1490
|
+
let isSelectedUserSkill;
|
|
1491
|
+
/** @type {?} */
|
|
1492
|
+
const selectedUserSkills = this.settings.fields.find((/**
|
|
1493
|
+
* @param {?} setting
|
|
1494
|
+
* @return {?}
|
|
1495
|
+
*/
|
|
1496
|
+
setting => setting.name === 'user-skills'));
|
|
1497
|
+
if (selectedUserSkills && selectedUserSkills.value && selectedUserSkills.value.length > 0) {
|
|
1498
|
+
isSelectedUserSkill = selectedUserSkills.value.findIndex((/**
|
|
1499
|
+
* @param {?} val
|
|
1500
|
+
* @return {?}
|
|
1501
|
+
*/
|
|
1502
|
+
val => Number(val) === Number(skill.key)));
|
|
1503
|
+
selected = isSelectedUserSkill !== -1;
|
|
1504
|
+
}
|
|
1505
|
+
if (this.previousSelectedNestedCheckbox.length > 0) {
|
|
1506
|
+
// Pick up from previous selected
|
|
1507
|
+
selected = this.previousSelectedNestedCheckbox.includes(String(skill.key));
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
return selected;
|
|
1511
|
+
}));
|
|
1512
|
+
this.form.get('user-skills').setValue(prevValues);
|
|
1513
|
+
return this.filteredSkillsByServicesCheckbox;
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
this.filteredSkillsByServices = this.sortGroupOptions(this.filteredSkillsByServices);
|
|
1517
|
+
return this.filteredSkillsByServices;
|
|
1518
|
+
}
|
|
1519
|
+
/**
|
|
1520
|
+
* @private
|
|
1521
|
+
* @param {?} formValues
|
|
1522
|
+
* @param {?} field
|
|
1523
|
+
* @return {?}
|
|
1524
|
+
*/
|
|
1525
|
+
getSelectedValuesForFields(formValues, field) {
|
|
1526
|
+
/** @type {?} */
|
|
1527
|
+
const selectedValues = [];
|
|
1528
|
+
Object.keys(formValues).map((/**
|
|
1529
|
+
* @param {?} name
|
|
1530
|
+
* @return {?}
|
|
1531
|
+
*/
|
|
1532
|
+
(name) => {
|
|
1533
|
+
/** @type {?} */
|
|
1534
|
+
const values = formValues[name].value;
|
|
1535
|
+
if (name === field.name) {
|
|
1536
|
+
values.forEach((/**
|
|
1537
|
+
* @param {?} v
|
|
1538
|
+
* @return {?}
|
|
1539
|
+
*/
|
|
1540
|
+
(v) => {
|
|
1541
|
+
selectedValues.push(v.key);
|
|
1542
|
+
}));
|
|
1543
|
+
}
|
|
1544
|
+
}));
|
|
1545
|
+
return selectedValues;
|
|
1546
|
+
}
|
|
1547
|
+
/**
|
|
1548
|
+
* @private
|
|
1549
|
+
* @param {?} groupOptions
|
|
1550
|
+
* @return {?}
|
|
1551
|
+
*/
|
|
1552
|
+
sortGroupOptions(groupOptions) {
|
|
1553
|
+
/** @type {?} */
|
|
1554
|
+
const sortedResults = [];
|
|
1555
|
+
/** @type {?} */
|
|
1556
|
+
const groups = groupOptions.map((/**
|
|
1557
|
+
* @param {?} go
|
|
1558
|
+
* @return {?}
|
|
1559
|
+
*/
|
|
1560
|
+
go => go.group));
|
|
1561
|
+
groups.sort().forEach((/**
|
|
1562
|
+
* @param {?} g
|
|
1563
|
+
* @return {?}
|
|
1564
|
+
*/
|
|
1565
|
+
g => {
|
|
1566
|
+
/** @type {?} */
|
|
1567
|
+
const options = groupOptions.find((/**
|
|
1568
|
+
* @param {?} go
|
|
1569
|
+
* @return {?}
|
|
1570
|
+
*/
|
|
1571
|
+
(go) => go.group === g)).options;
|
|
1572
|
+
/** @type {?} */
|
|
1573
|
+
const sortedOptions = options.sort((/**
|
|
1574
|
+
* @param {?} a
|
|
1575
|
+
* @param {?} b
|
|
1576
|
+
* @return {?}
|
|
1577
|
+
*/
|
|
1578
|
+
(a, b) => {
|
|
1579
|
+
return a.label.toLowerCase() > b.label.toLowerCase() ? 1 : (b.label.toLowerCase() > a.label.toLowerCase() ? -1 : 0);
|
|
1580
|
+
}));
|
|
1581
|
+
/** @type {?} */
|
|
1582
|
+
const result = {
|
|
1583
|
+
group: g,
|
|
1584
|
+
options: sortedOptions
|
|
1585
|
+
};
|
|
1586
|
+
sortedResults.push(result);
|
|
1587
|
+
}));
|
|
1588
|
+
return sortedResults;
|
|
1589
|
+
}
|
|
1236
1590
|
}
|
|
1237
1591
|
GenericFilterComponent.decorators = [
|
|
1238
1592
|
{ type: Component, args: [{
|
|
1239
1593
|
selector: 'xuilib-generic-filter',
|
|
1240
|
-
template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <h3 *ngIf=\"field.title\" class=\"govuk-heading-s\">{{field.title}}</h3>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <div class=\"govuk-body\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [field]=\"field\"\n [services]=\"form.get(field.findLocationField)?.value\"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [title]=\"field.title\"\n [enableAddServiceButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [field]=\"field\"\n [selectedServices]=\"form.get(field.name)?.value\" \n ></xuilib-find-service>\n </ng-container>\n </div>\n </div>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
|
|
1594
|
+
template: "<form [formGroup]=\"form\" (ngSubmit)=\"applyFilter(form)\">\n <div class=\"contain-classes\" *ngFor=\"let field of config.fields\">\n <hr *ngIf=\"field.lineBreakBefore\" class=\"govuk-section-break govuk-section-break--visible elevated-break\">\n <ng-container [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'group-title'\">\n <div [class]=\"field.titleClasses ? field.titleClasses: 'govuk-label govuk-label--m govuk-!-margin-bottom-4'\">\n {{ field.name | capitalize }}\n </div>\n </ng-container>\n <ng-container *ngSwitchDefault>\n <div class=\"govuk-form-group xui-generic-filter\"\n [hidden]=\"hidden(field, form)\"\n [id]=\"field.name\"\n [ngClass]=\"{'form-group-error': submitted && (form.get(field.name).errors?.minLength || form.get(field.name).errors?.maxLength)}\">\n <div *ngIf=\"field.title\" class=\"xui-generic-filter__field-title\">\n <h3 [class]=\"field.titleClasses ? field.titleClasses : 'govuk-heading-s'\" style=\"margin-bottom: 0!important\">\n {{field.title | capitalize}}\n </h3>\n <div *ngIf=\"field?.titleHint\" class=\"govuk-!-margin-left-2\">\n {{ field.titleHint }}\n </div>\n </div>\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMinSelectedError && submitted && form.get(field.name).errors?.minLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\" *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxLength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *ngIf=\"field.emailError && submitted && form.get(field.name).errors?.email\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.emailError}}\n </span>\n <div class=\"govuk-body\" [class.govuk-body--maxWidth480px]=\"field.maxWidth480px\" [ngSwitch]=\"field.type\">\n <ng-container *ngSwitchCase=\"'select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" [attr.selected]=\"true\" [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <option class=\"govuk-radios__item\" *ngFor=\"let item of field.options\" [value]=\"item.key\">{{item.label}}</option>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'group-select'\">\n <select class=\"govuk-select\" (change)=\"fieldChanged(field, form)\" [attr.disabled]=\"disabled(field, form)\" [name]=\"'select_' + field.name\" [id]=\"'select_' + field.name\" [formControlName]=\"field.name\">\n <option disabled selected hidden value=\"\">{{field.disabledText}}</option>\n <option *ngIf=\"field.defaultOption\" selected [value]=\"field.defaultOption.key\">{{field.defaultOption.label}}</option>\n <optgroup *ngFor = 'let grp of filteredSkillsByServices' label=\"{{grp.group | titlecase}}\">\n <option *ngFor = 'let item of grp.options' [value]=\"item.key\">{{item.label}}</option>\n </optgroup>\n </select>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'nested-checkbox'\">\n <div class=\"govuk-checkboxes govuk-checkboxes--small\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of filteredSkillsByServicesCheckbox; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'checkbox-large'\">\n <div class=\"govuk-checkboxes\" [formGroupName]=\"field.name\" [attr.field]=\"field.name\" [id]=\"'checkbox_' + field.name\">\n <div *ngFor=\"let item of field.options; let i = index\" class=\"govuk-checkboxes__item\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [attr.disabled]=\"disabled(field, form)\"\n [formControlName]=\"i\"\n (change)=\"toggleSelectAll($event, form, item, field)\"\n [value]=\"item.key\" [id]=\"'checkbox_' + item.key\"\n [name]=\"'checkbox_' + item.key\"\n />\n <label\n [for]=\"'checkbox_' + item.key\"\n class=\"govuk-label govuk-checkboxes__label\"\n [ngClass]=\"{'govuk-!-font-weight-bold': item.selectAll}\"\n >{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'radio'\">\n <div class=\"govuk-radios\">\n <div *ngFor=\"let item of field.options\" class=\"govuk-radios__item\">\n <input type=\"radio\"\n [formControlName]=\"field.name\"\n [id]=\"'radio_' + item.key\"\n [attr.disabled]=\"disabled(field, form)\"\n [checked]=\"item.key === form.get(field.name).value\"\n class=\"govuk-radios__input\"\n [value]=\"item.key\"\n (change)=\"fieldChanged(field, form)\"\n />\n <label [for]=\"'radio_' + item.key\" class=\"govuk-label govuk-radios__label\">{{item.label}}</label>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-person'\">\n <xuilib-find-person subTitle=\"\" (personSelected)=\"updatePersonControls($event, field)\"\n (personFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findPersonGroup]=\"form\"\n [selectedPerson]=\"form.get(field.name)?.value?.email\"\n [userIncluded]=\"false\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n ></xuilib-find-person>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-location'\">\n <xuilib-find-location (locationFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [locationTitle]=\"field.locationTitle\"\n [enableAddLocationButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedLocations]=\"form.get(field.name)?.value\"\n [submitted]=\"submitted\"\n [services]=\"form.get(field.findLocationField)?.value\"\n [field]=\"field\"\n ></xuilib-find-location>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-task-name'\">\n <xuilib-find-task-name subTitle=\"\" (taskNameSelected)=\"updateTaskNameControls($event, field)\"\n (taskNameFieldChanged)=\"inputChanged(field)\"\n [submitted]=\"submitted\"\n [disabled]=\"disabled(field, form)\"\n [domain]=\"form.get(field.domainField)?.value\"\n [findTaskNameGroup]=\"form\"\n [selectedTaskName]=\"form.get(field.name).value.taskName\"\n [userIncluded]=\"false\"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [title]=\"field.title\"\n [enableAddServiceButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\n [disableInputField]=\"field.disable\"\n [selectedServices]=\"form.get(field.name)?.value\"\n [services]=\"field.options\"\n [field]=\"field\"\n ></xuilib-find-service>\n </ng-container>\n <ng-container *ngSwitchCase=\"'text-input'\">\n <input class=\"govuk-input\" type=\"text\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n [attr.maxlength]=\"field.maxlength ? field.maxlength : null\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"'email-input'\">\n <input class=\"govuk-input\" type=\"email\"\n [formControlName]=\"field.name\"\n [id]=\"field.name\"\n [attr.disabled]=\"disabled(field, form)\"\n (change)=\"fieldChanged(field, form)\"\n />\n </ng-container>\n </div>\n </div>\n </ng-container>\n</ng-container>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m govuk-section-break--visible\"/>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-full\">\n <button\n class=\"govuk-button govuk-!-margin-right-1 govuk-!-margin-bottom-0\"\n type=\"submit\"\n id=\"applyFilter\"\n [disabled]=\"config.enableDisabledButton && form.invalid\"\n >{{config.applyButtonText || 'Apply'}}</button>\n <button *ngIf=\"config.showCancelFilterButton\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n type=\"button\"\n id=\"cancelFilter\"\n (click)=\"cancelFilter()\">{{ config.cancelButtonText || 'Cancel'}}</button>\n </div>\n </div>\n</form>\n",
|
|
1241
1595
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1242
1596
|
encapsulation: ViewEncapsulation.None,
|
|
1243
|
-
styles: [".contain-classes .elevated-break{
|
|
1597
|
+
styles: [".contain-classes .elevated-break{margin-bottom:20px}@media (min-width:40.0625em){.contain-classes .elevated-break{margin-bottom:30px}}.contain-classes .govuk-body--maxWidth480px{max-width:480px}.contain-classes .xui-generic-filter .select-all{margin-bottom:10px}.contain-classes .xui-generic-filter .govuk-checkboxes{display:flex;flex-direction:column;flex-wrap:wrap}.contain-classes .xui-generic-filter .govuk-checkboxes>div{flex-grow:1;flex-shrink:0}.contain-classes .xui-generic-filter__field-title{display:flex;align-items:center;margin-bottom:10px}.contain-classes .govuk-select{width:100%}"]
|
|
1244
1598
|
}] }
|
|
1245
1599
|
];
|
|
1246
1600
|
/** @nocollapse */
|
|
@@ -3074,6 +3428,14 @@ class AnonymousFeatureUser {
|
|
|
3074
3428
|
class LoggedInFeatureUser {
|
|
3075
3429
|
}
|
|
3076
3430
|
|
|
3431
|
+
/**
|
|
3432
|
+
* @fileoverview added by tsickle
|
|
3433
|
+
* Generated from: lib/models/filter.model.ts
|
|
3434
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3435
|
+
*/
|
|
3436
|
+
class RadioFilterFieldConfig {
|
|
3437
|
+
}
|
|
3438
|
+
|
|
3077
3439
|
/**
|
|
3078
3440
|
* @fileoverview added by tsickle
|
|
3079
3441
|
* Generated from: lib/models/idle-config.model.ts
|
|
@@ -3108,7 +3470,7 @@ const PersonRole = {
|
|
|
3108
3470
|
JUDICIAL: "Judicial",
|
|
3109
3471
|
CASEWORKER: "Legal Ops",
|
|
3110
3472
|
ADMIN: "Admin",
|
|
3111
|
-
CTSC: "CTSC",
|
|
3473
|
+
CTSC: "CTSC User",
|
|
3112
3474
|
ALL: "All",
|
|
3113
3475
|
};
|
|
3114
3476
|
/** @enum {string} */
|
|
@@ -3132,14 +3494,6 @@ const RoleCategory = {
|
|
|
3132
3494
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3133
3495
|
*/
|
|
3134
3496
|
|
|
3135
|
-
/**
|
|
3136
|
-
* @fileoverview added by tsickle
|
|
3137
|
-
* Generated from: lib/models/filter.model.ts
|
|
3138
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3139
|
-
*/
|
|
3140
|
-
class RadioFilterFieldConfig {
|
|
3141
|
-
}
|
|
3142
|
-
|
|
3143
3497
|
/**
|
|
3144
3498
|
* @fileoverview added by tsickle
|
|
3145
3499
|
* Generated from: lib/models/public_api.ts
|
|
@@ -3218,7 +3572,7 @@ LocationService.ctorParameters = () => [
|
|
|
3218
3572
|
|
|
3219
3573
|
/**
|
|
3220
3574
|
* @fileoverview added by tsickle
|
|
3221
|
-
* Generated from: lib/services/session-storage/session-storage.service.ts
|
|
3575
|
+
* Generated from: lib/services/storage/session-storage/session-storage.service.ts
|
|
3222
3576
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
3223
3577
|
*/
|
|
3224
3578
|
class SessionStorageService {
|
|
@@ -3463,7 +3817,7 @@ SearchLocationComponent.decorators = [
|
|
|
3463
3817
|
{ type: Component, args: [{
|
|
3464
3818
|
selector: 'exui-search-location',
|
|
3465
3819
|
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
3466
|
-
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:
|
|
3820
|
+
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
3467
3821
|
}] }
|
|
3468
3822
|
];
|
|
3469
3823
|
/** @nocollapse */
|
|
@@ -3545,7 +3899,11 @@ class FindLocationComponent {
|
|
|
3545
3899
|
* @param {?} f
|
|
3546
3900
|
* @return {?}
|
|
3547
3901
|
*/
|
|
3548
|
-
f =>
|
|
3902
|
+
f => {
|
|
3903
|
+
if (this.field) {
|
|
3904
|
+
return f.name === this.field.findLocationField;
|
|
3905
|
+
}
|
|
3906
|
+
}));
|
|
3549
3907
|
if (field) {
|
|
3550
3908
|
if (typeof value === 'string') {
|
|
3551
3909
|
this.serviceIds = value;
|
|
@@ -3671,8 +4029,8 @@ class FindLocationComponent {
|
|
|
3671
4029
|
FindLocationComponent.decorators = [
|
|
3672
4030
|
{ type: Component, args: [{
|
|
3673
4031
|
selector: 'xuilib-find-location',
|
|
3674
|
-
template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-
|
|
3675
|
-
styles: [""]
|
|
4032
|
+
template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n\n <div class=\"search-location__input-container\">\n <exui-search-location class=\"search-location__input\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"enableAddLocationButton\">\n Add\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
|
|
4033
|
+
styles: [".search-location__input-container{display:flex}.search-location .auto-complete-container{min-width:unset;width:calc(100% - 4px)}.search-location__input{flex:1 0 auto}.search-location .govuk-button--secondary{background-color:#ddd}"]
|
|
3676
4034
|
}] }
|
|
3677
4035
|
];
|
|
3678
4036
|
FindLocationComponent.propDecorators = {
|
|
@@ -4350,7 +4708,7 @@ class FindServiceComponent {
|
|
|
4350
4708
|
FindServiceComponent.decorators = [
|
|
4351
4709
|
{ type: Component, args: [{
|
|
4352
4710
|
selector: 'xuilib-find-service',
|
|
4353
|
-
template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div>\n <label id=\"input-selected-service-label\" *ngIf=\"serviceTitle\">{{serviceTitle}}</label>\n </div>\n <exui-search-service class=\"search-service\"\n [services]=\"services\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"></exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\" class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"
|
|
4711
|
+
template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div>\n <label id=\"input-selected-service-label\" *ngIf=\"serviceTitle\">{{serviceTitle}}</label>\n </div>\n <exui-search-service class=\"search-service\"\n [services]=\"services\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"></exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\" class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\"\n data-module=\"govuk-button\" *ngIf=\"enableAddServiceButton\" id=\"add-service\">\n Add\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"service-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" href=\"javascript:void(0)\">\n {{ selection.name }}\n </a>\n </li>\n </ul>\n </div>\n",
|
|
4354
4712
|
styles: ["#add-service{background-color:#ddd}"]
|
|
4355
4713
|
}] }
|
|
4356
4714
|
];
|
|
@@ -4366,6 +4724,207 @@ FindServiceComponent.propDecorators = {
|
|
|
4366
4724
|
disableInputField: [{ type: Input }]
|
|
4367
4725
|
};
|
|
4368
4726
|
|
|
4727
|
+
/**
|
|
4728
|
+
* @fileoverview added by tsickle
|
|
4729
|
+
* Generated from: lib/services/task-name/task-name.service.ts
|
|
4730
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4731
|
+
*/
|
|
4732
|
+
class TaskNameService {
|
|
4733
|
+
/**
|
|
4734
|
+
* @param {?} http
|
|
4735
|
+
* @param {?} sessionStorageService
|
|
4736
|
+
*/
|
|
4737
|
+
constructor(http, sessionStorageService) {
|
|
4738
|
+
this.http = http;
|
|
4739
|
+
this.sessionStorageService = sessionStorageService;
|
|
4740
|
+
}
|
|
4741
|
+
/**
|
|
4742
|
+
* @return {?} Observable<any[]>: Array of taskName in Observable
|
|
4743
|
+
*/
|
|
4744
|
+
getTaskName() {
|
|
4745
|
+
if (this.sessionStorageService.getItem(TaskNameService.taskNamesKey)) {
|
|
4746
|
+
/** @type {?} */
|
|
4747
|
+
const taskNames = JSON.parse(this.sessionStorageService.getItem(TaskNameService.taskNamesKey));
|
|
4748
|
+
return of((/** @type {?} */ (taskNames)));
|
|
4749
|
+
}
|
|
4750
|
+
return this.http.get(`/workallocation/taskNames`).pipe(tap((/**
|
|
4751
|
+
* @param {?} taskNames
|
|
4752
|
+
* @return {?}
|
|
4753
|
+
*/
|
|
4754
|
+
taskNames => this.sessionStorageService.setItem(TaskNameService.taskNamesKey, JSON.stringify(taskNames)))));
|
|
4755
|
+
}
|
|
4756
|
+
}
|
|
4757
|
+
TaskNameService.taskNamesKey = 'taskNames';
|
|
4758
|
+
TaskNameService.decorators = [
|
|
4759
|
+
{ type: Injectable, args: [{
|
|
4760
|
+
providedIn: 'root'
|
|
4761
|
+
},] }
|
|
4762
|
+
];
|
|
4763
|
+
/** @nocollapse */
|
|
4764
|
+
TaskNameService.ctorParameters = () => [
|
|
4765
|
+
{ type: HttpClient },
|
|
4766
|
+
{ type: SessionStorageService }
|
|
4767
|
+
];
|
|
4768
|
+
/** @nocollapse */ TaskNameService.ngInjectableDef = defineInjectable({ factory: function TaskNameService_Factory() { return new TaskNameService(inject(HttpClient), inject(SessionStorageService)); }, token: TaskNameService, providedIn: "root" });
|
|
4769
|
+
|
|
4770
|
+
/**
|
|
4771
|
+
* @fileoverview added by tsickle
|
|
4772
|
+
* Generated from: lib/components/find-task-name/find-task-name.component.ts
|
|
4773
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4774
|
+
*/
|
|
4775
|
+
class FindTaskNameComponent {
|
|
4776
|
+
/**
|
|
4777
|
+
* @param {?} cd
|
|
4778
|
+
* @param {?} taskService
|
|
4779
|
+
*/
|
|
4780
|
+
constructor(cd, taskService) {
|
|
4781
|
+
this.cd = cd;
|
|
4782
|
+
this.taskService = taskService;
|
|
4783
|
+
this.taskNameSelected = new EventEmitter();
|
|
4784
|
+
this.taskNameFieldChanged = new EventEmitter();
|
|
4785
|
+
this.boldTitle = 'Find the task name';
|
|
4786
|
+
this.subTitle = 'Type the name of the task name and select them.';
|
|
4787
|
+
this.domain = PersonRole.ALL;
|
|
4788
|
+
this.findTaskNameGroup = new FormGroup({});
|
|
4789
|
+
this.submitted = true;
|
|
4790
|
+
this.userIncluded = false;
|
|
4791
|
+
this.placeholderContent = '';
|
|
4792
|
+
this.isNoResultsShown = true;
|
|
4793
|
+
this.showUpdatedColor = false;
|
|
4794
|
+
this.selectedTaskNames = [];
|
|
4795
|
+
this.errorMessage = 'You must select a name';
|
|
4796
|
+
this.idValue = '';
|
|
4797
|
+
this.services = ['IA'];
|
|
4798
|
+
this.disabled = null;
|
|
4799
|
+
this.showAutocomplete = false;
|
|
4800
|
+
this.filteredOptions = [];
|
|
4801
|
+
this.minSearchCharacters = 1;
|
|
4802
|
+
this.searchTerm = '';
|
|
4803
|
+
}
|
|
4804
|
+
/**
|
|
4805
|
+
* @return {?}
|
|
4806
|
+
*/
|
|
4807
|
+
ngOnDestroy() {
|
|
4808
|
+
if (this.sub) {
|
|
4809
|
+
this.sub.unsubscribe();
|
|
4810
|
+
}
|
|
4811
|
+
}
|
|
4812
|
+
/**
|
|
4813
|
+
* @return {?}
|
|
4814
|
+
*/
|
|
4815
|
+
ngOnChanges() {
|
|
4816
|
+
this.findTaskNameControl = new FormControl(this.selectedTaskName);
|
|
4817
|
+
this.findTaskNameGroup.addControl('findTaskNameControl', this.findTaskNameControl);
|
|
4818
|
+
this.sub = this.findTaskNameControl.valueChanges
|
|
4819
|
+
.pipe(tap((/**
|
|
4820
|
+
* @return {?}
|
|
4821
|
+
*/
|
|
4822
|
+
() => this.showAutocomplete = false)), tap((/**
|
|
4823
|
+
* @return {?}
|
|
4824
|
+
*/
|
|
4825
|
+
() => this.filteredOptions = [])), tap((/**
|
|
4826
|
+
* @param {?} term
|
|
4827
|
+
* @return {?}
|
|
4828
|
+
*/
|
|
4829
|
+
(term) => this.searchTerm = term)), debounceTime(300), tap((/**
|
|
4830
|
+
* @param {?} searchTerm
|
|
4831
|
+
* @return {?}
|
|
4832
|
+
*/
|
|
4833
|
+
(searchTerm) => {
|
|
4834
|
+
if (!searchTerm) {
|
|
4835
|
+
this.taskNameSelected.emit('');
|
|
4836
|
+
}
|
|
4837
|
+
return searchTerm;
|
|
4838
|
+
})),
|
|
4839
|
+
// tap((searchTerm) => typeof searchTerm === 'string' ? this.taskNameSelected.emit('null') : void 0),
|
|
4840
|
+
filter((/**
|
|
4841
|
+
* @param {?} searchTerm
|
|
4842
|
+
* @return {?}
|
|
4843
|
+
*/
|
|
4844
|
+
(searchTerm) => searchTerm && searchTerm.length >= this.minSearchCharacters)), mergeMap((/**
|
|
4845
|
+
* @return {?}
|
|
4846
|
+
*/
|
|
4847
|
+
() => this.getTaskName()))).subscribe((/**
|
|
4848
|
+
* @param {?} taskNameModel
|
|
4849
|
+
* @return {?}
|
|
4850
|
+
*/
|
|
4851
|
+
(taskNameModel) => {
|
|
4852
|
+
this.filteredOptions = taskNameModel.map((/**
|
|
4853
|
+
* @param {?} task
|
|
4854
|
+
* @return {?}
|
|
4855
|
+
*/
|
|
4856
|
+
task => task.taskName));
|
|
4857
|
+
if (this.searchTerm) {
|
|
4858
|
+
this.filteredOptions = this.filteredOptions.filter((/**
|
|
4859
|
+
* @param {?} taskName
|
|
4860
|
+
* @return {?}
|
|
4861
|
+
*/
|
|
4862
|
+
(taskName) => taskName.toLocaleLowerCase().includes(this.searchTerm.toLocaleLowerCase()))).map((/**
|
|
4863
|
+
* @param {?} taskName
|
|
4864
|
+
* @return {?}
|
|
4865
|
+
*/
|
|
4866
|
+
taskName => taskName));
|
|
4867
|
+
}
|
|
4868
|
+
this.cd.detectChanges();
|
|
4869
|
+
}));
|
|
4870
|
+
}
|
|
4871
|
+
/**
|
|
4872
|
+
* @return {?}
|
|
4873
|
+
*/
|
|
4874
|
+
getTaskName() {
|
|
4875
|
+
return this.taskService.getTaskName();
|
|
4876
|
+
}
|
|
4877
|
+
/**
|
|
4878
|
+
* @param {?} selectedTaskName
|
|
4879
|
+
* @return {?}
|
|
4880
|
+
*/
|
|
4881
|
+
onSelectionChange(selectedTaskName) {
|
|
4882
|
+
if (selectedTaskName) {
|
|
4883
|
+
this.taskNameSelected.emit(selectedTaskName);
|
|
4884
|
+
this.findTaskNameControl.setValue(selectedTaskName);
|
|
4885
|
+
}
|
|
4886
|
+
}
|
|
4887
|
+
/**
|
|
4888
|
+
* @return {?}
|
|
4889
|
+
*/
|
|
4890
|
+
onInput() {
|
|
4891
|
+
this.taskNameFieldChanged.emit();
|
|
4892
|
+
}
|
|
4893
|
+
}
|
|
4894
|
+
FindTaskNameComponent.decorators = [
|
|
4895
|
+
{ type: Component, args: [{
|
|
4896
|
+
selector: 'xuilib-find-task-name',
|
|
4897
|
+
template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findTaskNameGroup\"\n [ngClass]=\"{'form-group-error': findTaskNameGroup.get('findTaskNameControl')?.invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findTaskNameGroup && findTaskNameGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findTaskNameGroup.errors.error ? findTaskNameGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectTaskName{{idValue}}\" type=\"text\" aria-label=\"select a task name\"\n formControlName=\"findTaskNameControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{ option }}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
|
|
4898
|
+
styles: [""]
|
|
4899
|
+
}] }
|
|
4900
|
+
];
|
|
4901
|
+
/** @nocollapse */
|
|
4902
|
+
FindTaskNameComponent.ctorParameters = () => [
|
|
4903
|
+
{ type: ChangeDetectorRef },
|
|
4904
|
+
{ type: TaskNameService }
|
|
4905
|
+
];
|
|
4906
|
+
FindTaskNameComponent.propDecorators = {
|
|
4907
|
+
taskNameSelected: [{ type: Output }],
|
|
4908
|
+
taskNameFieldChanged: [{ type: Output }],
|
|
4909
|
+
title: [{ type: Input }],
|
|
4910
|
+
boldTitle: [{ type: Input }],
|
|
4911
|
+
subTitle: [{ type: Input }],
|
|
4912
|
+
domain: [{ type: Input }],
|
|
4913
|
+
findTaskNameGroup: [{ type: Input }],
|
|
4914
|
+
selectedTaskName: [{ type: Input }],
|
|
4915
|
+
submitted: [{ type: Input }],
|
|
4916
|
+
userIncluded: [{ type: Input }],
|
|
4917
|
+
assignedUser: [{ type: Input }],
|
|
4918
|
+
placeholderContent: [{ type: Input }],
|
|
4919
|
+
isNoResultsShown: [{ type: Input }],
|
|
4920
|
+
showUpdatedColor: [{ type: Input }],
|
|
4921
|
+
selectedTaskNames: [{ type: Input }],
|
|
4922
|
+
errorMessage: [{ type: Input }],
|
|
4923
|
+
idValue: [{ type: Input }],
|
|
4924
|
+
services: [{ type: Input }],
|
|
4925
|
+
disabled: [{ type: Input }]
|
|
4926
|
+
};
|
|
4927
|
+
|
|
4369
4928
|
/**
|
|
4370
4929
|
* @fileoverview added by tsickle
|
|
4371
4930
|
* Generated from: lib/components/search-judicials/search-judicials.component.ts
|
|
@@ -4573,7 +5132,9 @@ SearchJudicialsComponent.propDecorators = {
|
|
|
4573
5132
|
*/
|
|
4574
5133
|
class SearchServiceComponent {
|
|
4575
5134
|
constructor() {
|
|
5135
|
+
this.services = [];
|
|
4576
5136
|
this.showAutocomplete = false;
|
|
5137
|
+
this.serviceChanged = new EventEmitter();
|
|
4577
5138
|
this.minSearchCharacters = 3;
|
|
4578
5139
|
this.term = '';
|
|
4579
5140
|
}
|
|
@@ -4584,16 +5145,23 @@ class SearchServiceComponent {
|
|
|
4584
5145
|
// Todo
|
|
4585
5146
|
}
|
|
4586
5147
|
/**
|
|
5148
|
+
* @param {?} key
|
|
4587
5149
|
* @return {?}
|
|
4588
5150
|
*/
|
|
4589
|
-
|
|
4590
|
-
|
|
5151
|
+
onSelectionChanged(key) {
|
|
5152
|
+
/** @type {?} */
|
|
5153
|
+
const selectedService = this.services.find((/**
|
|
5154
|
+
* @param {?} s
|
|
5155
|
+
* @return {?}
|
|
5156
|
+
*/
|
|
5157
|
+
s => s.key === key));
|
|
5158
|
+
this.serviceChanged.emit(selectedService);
|
|
4591
5159
|
}
|
|
4592
5160
|
}
|
|
4593
5161
|
SearchServiceComponent.decorators = [
|
|
4594
5162
|
{ type: Component, args: [{
|
|
4595
5163
|
selector: 'exui-search-service',
|
|
4596
|
-
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputServiceSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form?.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of services\" (onSelectionChange)=\"
|
|
5164
|
+
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputServiceSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form?.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\"\n (change)=\"onSelectionChanged($event.target.value)\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of services\" (onSelectionChange)=\"onSelectionChanged($event.target.value)\">\n {{ service.name }}\n </mat-option>\n <mat-option *ngIf=\"!services?.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
4597
5165
|
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
4598
5166
|
}] }
|
|
4599
5167
|
];
|
|
@@ -4603,7 +5171,8 @@ SearchServiceComponent.propDecorators = {
|
|
|
4603
5171
|
disabled: [{ type: Input }],
|
|
4604
5172
|
delay: [{ type: Input }],
|
|
4605
5173
|
form: [{ type: Input }],
|
|
4606
|
-
showAutocomplete: [{ type: Input }]
|
|
5174
|
+
showAutocomplete: [{ type: Input }],
|
|
5175
|
+
serviceChanged: [{ type: Output }]
|
|
4607
5176
|
};
|
|
4608
5177
|
|
|
4609
5178
|
/**
|
|
@@ -4844,6 +5413,38 @@ GovUkCheckboxComponent.propDecorators = {
|
|
|
4844
5413
|
isChecked: [{ type: Input }]
|
|
4845
5414
|
};
|
|
4846
5415
|
|
|
5416
|
+
/**
|
|
5417
|
+
* @fileoverview added by tsickle
|
|
5418
|
+
* Generated from: lib/gov-ui/util/helpers/html-templates.helper.ts
|
|
5419
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5420
|
+
*/
|
|
5421
|
+
/*
|
|
5422
|
+
* Helper Class
|
|
5423
|
+
* Used for dynamic templates manipulation
|
|
5424
|
+
* */
|
|
5425
|
+
class HtmlTemplatesHelper {
|
|
5426
|
+
/*
|
|
5427
|
+
* Sets described by string depending if
|
|
5428
|
+
* there is an error, error and hit or nothing
|
|
5429
|
+
* */
|
|
5430
|
+
/**
|
|
5431
|
+
* @param {?} errorMessage
|
|
5432
|
+
* @param {?} config
|
|
5433
|
+
* @return {?}
|
|
5434
|
+
*/
|
|
5435
|
+
static setDescribedBy(errorMessage, config) {
|
|
5436
|
+
if (!errorMessage) {
|
|
5437
|
+
return config.hint ? `${config.id}-hint` : null;
|
|
5438
|
+
}
|
|
5439
|
+
else if (errorMessage && errorMessage.isInvalid) {
|
|
5440
|
+
return config.hint ? `${config.id}-hint ${config.id}-error` : `${config.id}-error`;
|
|
5441
|
+
}
|
|
5442
|
+
else {
|
|
5443
|
+
return config.hint ? `${config.id}-hint` : null;
|
|
5444
|
+
}
|
|
5445
|
+
}
|
|
5446
|
+
}
|
|
5447
|
+
|
|
4847
5448
|
/**
|
|
4848
5449
|
* @fileoverview added by tsickle
|
|
4849
5450
|
* Generated from: lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.ts
|
|
@@ -4857,16 +5458,82 @@ GovUkCheckboxComponent.propDecorators = {
|
|
|
4857
5458
|
* @param: errors - array of error stings
|
|
4858
5459
|
* */
|
|
4859
5460
|
class GovUkCheckboxesComponent {
|
|
5461
|
+
/**
|
|
5462
|
+
* @return {?}
|
|
5463
|
+
*/
|
|
5464
|
+
ngOnInit() {
|
|
5465
|
+
this.columns = this.setColumns();
|
|
5466
|
+
}
|
|
5467
|
+
/**
|
|
5468
|
+
* @return {?}
|
|
5469
|
+
*/
|
|
5470
|
+
setDescribedBy() {
|
|
5471
|
+
return HtmlTemplatesHelper.setDescribedBy(this.errorMessage, this.config);
|
|
5472
|
+
}
|
|
5473
|
+
/**
|
|
5474
|
+
* @param {?} checked
|
|
5475
|
+
* @param {?} value
|
|
5476
|
+
* @return {?}
|
|
5477
|
+
*/
|
|
5478
|
+
onChecked(checked, value) {
|
|
5479
|
+
/** @type {?} */
|
|
5480
|
+
const formControl = this.group.get(this.config.name);
|
|
5481
|
+
/** @type {?} */
|
|
5482
|
+
const array = formControl.value ? formControl.value : [];
|
|
5483
|
+
if (!checked) {
|
|
5484
|
+
/** @type {?} */
|
|
5485
|
+
const modifiedArray = array.filter((/**
|
|
5486
|
+
* @param {?} item
|
|
5487
|
+
* @return {?}
|
|
5488
|
+
*/
|
|
5489
|
+
(item) => item !== value));
|
|
5490
|
+
formControl.setValue(modifiedArray);
|
|
5491
|
+
}
|
|
5492
|
+
else {
|
|
5493
|
+
formControl.setValue([...array, value]);
|
|
5494
|
+
}
|
|
5495
|
+
}
|
|
5496
|
+
/**
|
|
5497
|
+
* @param {?} value
|
|
5498
|
+
* @return {?}
|
|
5499
|
+
*/
|
|
5500
|
+
isChecked(value) {
|
|
5501
|
+
/** @type {?} */
|
|
5502
|
+
const formControl = this.group.get(this.config.name);
|
|
5503
|
+
return formControl.value && formControl.value.includes(value);
|
|
5504
|
+
}
|
|
5505
|
+
/**
|
|
5506
|
+
* @private
|
|
5507
|
+
* @return {?}
|
|
5508
|
+
*/
|
|
5509
|
+
setColumns() {
|
|
5510
|
+
if (this.config.rows && this.config.rows > 1) {
|
|
5511
|
+
/** @type {?} */
|
|
5512
|
+
const array = [];
|
|
5513
|
+
for (let i = 0; i < this.items.length; i += this.config.rows) {
|
|
5514
|
+
/** @type {?} */
|
|
5515
|
+
const arrayChunk = this.items.slice(i, i + this.config.rows);
|
|
5516
|
+
array.push(arrayChunk);
|
|
5517
|
+
}
|
|
5518
|
+
return array;
|
|
5519
|
+
}
|
|
5520
|
+
else {
|
|
5521
|
+
return [this.items];
|
|
5522
|
+
}
|
|
5523
|
+
}
|
|
4860
5524
|
}
|
|
4861
5525
|
GovUkCheckboxesComponent.decorators = [
|
|
4862
5526
|
{ type: Component, args: [{
|
|
4863
5527
|
selector: 'xuilib-gov-uk-checkboxes',
|
|
4864
|
-
template: "<
|
|
5528
|
+
template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n [ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n <xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n <span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n </span>\n\n <xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n <div class=\"govuk-checkboxes govuk-checkboxes--small govuk-checkboxes-multi-column\" data-module=\"govuk-checkboxes\">\n <div class=\"govuk-checkboxes-multi-column__single\" *ngFor=\"let columnItems of columns\">\n <div class=\"govuk-checkboxes__item\" *ngFor=\"let item of columnItems\">\n <input type=\"checkbox\" class=\"govuk-checkboxes__input\"\n [id]=\"item.id\" [name]=\"item.id\" [checked]=\"isChecked(item.value)\" [value]=\"item.value\"\n [attr.aria-describedby]=\"setDescribedBy()\"\n (change)=\"onChecked($event.target.checked, item.value)\"\n >\n <label class=\"govuk-label govuk-checkboxes__label\" [for]=\"item.id\">\n {{ item.label }}\n </label>\n <div *ngIf=\"item.hint\" class=\"govuk-hint govuk-checkboxes__hint\">\n {{ item.hint }}\n </div>\n </div>\n </div>\n </div>\n</div>\n",
|
|
5529
|
+
styles: [".govuk-checkboxes-multi-column{display:flex;flex-wrap:wrap;margin-left:-20px;margin-right:-20px}.govuk-checkboxes-multi-column__single{padding-left:20px;padding-right:20px}"]
|
|
4865
5530
|
}] }
|
|
4866
5531
|
];
|
|
4867
5532
|
GovUkCheckboxesComponent.propDecorators = {
|
|
4868
|
-
|
|
4869
|
-
|
|
5533
|
+
group: [{ type: Input }],
|
|
5534
|
+
config: [{ type: Input }],
|
|
5535
|
+
items: [{ type: Input }],
|
|
5536
|
+
errorMessage: [{ type: Input }]
|
|
4870
5537
|
};
|
|
4871
5538
|
|
|
4872
5539
|
/**
|
|
@@ -4993,38 +5660,6 @@ GovUkErrorMessageComponent.propDecorators = {
|
|
|
4993
5660
|
errorMessage: [{ type: Input }]
|
|
4994
5661
|
};
|
|
4995
5662
|
|
|
4996
|
-
/**
|
|
4997
|
-
* @fileoverview added by tsickle
|
|
4998
|
-
* Generated from: lib/gov-ui/util/helpers/html-templates.helper.ts
|
|
4999
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5000
|
-
*/
|
|
5001
|
-
/*
|
|
5002
|
-
* Helper Class
|
|
5003
|
-
* Used for dynamic templates manipulation
|
|
5004
|
-
* */
|
|
5005
|
-
class HtmlTemplatesHelper {
|
|
5006
|
-
/*
|
|
5007
|
-
* Sets described by string depending if
|
|
5008
|
-
* there is an error, error and hit or nothing
|
|
5009
|
-
* */
|
|
5010
|
-
/**
|
|
5011
|
-
* @param {?} errorMessage
|
|
5012
|
-
* @param {?} config
|
|
5013
|
-
* @return {?}
|
|
5014
|
-
*/
|
|
5015
|
-
static setDescribedBy(errorMessage, config) {
|
|
5016
|
-
if (!errorMessage) {
|
|
5017
|
-
return config.hint ? `${config.id}-hint` : null;
|
|
5018
|
-
}
|
|
5019
|
-
else if (errorMessage && errorMessage.isInvalid) {
|
|
5020
|
-
return config.hint ? `${config.id}-hint ${config.id}-error` : `${config.id}-error`;
|
|
5021
|
-
}
|
|
5022
|
-
else {
|
|
5023
|
-
return config.hint ? `${config.id}-hint` : null;
|
|
5024
|
-
}
|
|
5025
|
-
}
|
|
5026
|
-
}
|
|
5027
|
-
|
|
5028
5663
|
/**
|
|
5029
5664
|
* @fileoverview added by tsickle
|
|
5030
5665
|
* Generated from: lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.ts
|
|
@@ -5151,7 +5786,7 @@ class GovUkInputComponent {
|
|
|
5151
5786
|
* @return {?}
|
|
5152
5787
|
*/
|
|
5153
5788
|
ngOnInit() {
|
|
5154
|
-
this.config.classes = 'govuk-label--m';
|
|
5789
|
+
this.config.classes = typeof (this.config.classes) === 'string' ? this.config.classes : 'govuk-label govuk-label--m';
|
|
5155
5790
|
}
|
|
5156
5791
|
/**
|
|
5157
5792
|
* @return {?}
|
|
@@ -5163,7 +5798,7 @@ class GovUkInputComponent {
|
|
|
5163
5798
|
GovUkInputComponent.decorators = [
|
|
5164
5799
|
{ type: Component, args: [{
|
|
5165
5800
|
selector: 'xuilib-gov-uk-input',
|
|
5166
|
-
template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
|
|
5801
|
+
template: "<div class=\"govuk-form-group gov-uk-input\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<input class=\"govuk-input\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [ngClass]=\"{'govuk-input--error': errorMessage?.isInvalid}\"\n [id]=\"config.id\"\n [name]=\"config.name\"\n [type]=\"config.type\"\n [attr.aria-invalid]=\"errorMessage?.isInvalid\"\n [formControlName]=\"config.name\"\n [attr.aria-describedby]='setDescribedBy()'>\n</div>\n",
|
|
5167
5802
|
styles: [".gov-uk-input input:disabled{background:#b1b4b6}"]
|
|
5168
5803
|
}] }
|
|
5169
5804
|
];
|
|
@@ -5192,7 +5827,8 @@ class GovUkLabelComponent {
|
|
|
5192
5827
|
GovUkLabelComponent.decorators = [
|
|
5193
5828
|
{ type: Component, args: [{
|
|
5194
5829
|
selector: 'xuilib-gov-label',
|
|
5195
|
-
template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [class]=\"config.classes + ' govuk-label'\"
|
|
5830
|
+
template: "<h1 *ngIf=\"config.isPageHeading else noHeading\">\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</h1>\n<ng-template #noHeading>\n <label *ngIf=\"config.label\" [for]=\"config.id\" [class]=\"config.classes + ' govuk-label'\">\n <span>{{ config.label }}</span>\n <span class=\"govuk-label__optional\" *ngIf=\"config.optional\">(optional)</span>\n </label>\n</ng-template>\n",
|
|
5831
|
+
styles: [".govuk-label{display:flex;align-items:center;flex-wrap:wrap}.govuk-label__optional{font-weight:400;font-size:16px;display:inline-block;margin-left:.75rem}"]
|
|
5196
5832
|
}] }
|
|
5197
5833
|
];
|
|
5198
5834
|
/** @nocollapse */
|
|
@@ -5288,7 +5924,7 @@ class GovUkSelectComponent {
|
|
|
5288
5924
|
GovUkSelectComponent.decorators = [
|
|
5289
5925
|
{ type: Component, args: [{
|
|
5290
5926
|
selector: 'xuilib-gov-select',
|
|
5291
|
-
template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"
|
|
5927
|
+
template: "<div class=\"govuk-form-group\" [formGroup]=\"group\"\n[ngClass]=\"{'govuk-form-group--error': errorMessage?.isInvalid}\">\n<xuilib-gov-label [config]=\"config\"></xuilib-gov-label>\n<span *ngIf=\"config.hint\" [id]=\"config.id +'-hint'\" class=\"govuk-hint\">\n {{config.hint}}\n</span>\n<xuilib-gov-uk-error-message [config]=\"config\" [errorMessage]=\"errorMessage\"></xuilib-gov-uk-error-message>\n\n<select class=\"govuk-select\"\n [class.govuk-!-width-full]=\"config.fullWidth\"\n [id]=\"config.id\" [name]=\"config.id\" [formControlName]=\"config.id\" [attr.aria-describedby]='setDescribedBy()'>\n <option value=\"{{item.value}}\" *ngFor=\"let item of items\">{{item.label}}</option>\n</select>\n</div>\n"
|
|
5292
5928
|
}] }
|
|
5293
5929
|
];
|
|
5294
5930
|
/** @nocollapse */
|
|
@@ -5377,27 +6013,26 @@ GovUkTextareaComponent.propDecorators = {
|
|
|
5377
6013
|
* Generated from: lib/gov-ui/components/hmcts-banner/hmcts-banner.component.ts
|
|
5378
6014
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5379
6015
|
*/
|
|
5380
|
-
/*
|
|
5381
|
-
* Hmcts Banner
|
|
5382
|
-
* Responsible for displaying prominent message and related actions
|
|
5383
|
-
* @prop message to display
|
|
5384
|
-
* @prop type
|
|
5385
|
-
* */
|
|
5386
6016
|
class HmctsBannerComponent {
|
|
5387
|
-
constructor() {
|
|
6017
|
+
constructor() {
|
|
6018
|
+
this.title = '';
|
|
6019
|
+
this.showMessageIcon = false;
|
|
6020
|
+
this.messageBoldText = false;
|
|
6021
|
+
}
|
|
5388
6022
|
}
|
|
5389
6023
|
HmctsBannerComponent.decorators = [
|
|
5390
6024
|
{ type: Component, args: [{
|
|
5391
6025
|
selector: 'xuilib-hmcts-banner',
|
|
5392
|
-
template: "<div class=\"hmcts-banner hmcts-banner--{{type}}\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n
|
|
5393
|
-
styles: ["
|
|
6026
|
+
template: "<ng-container *ngIf=\"message && type\">\n <div *ngIf=\"title\"\n class=\"hmcts-banner-title hmcts-banner-title--{{ type }}\">\n {{ title }}\n </div>\n <div class=\"hmcts-banner hmcts-banner--{{ type }}\">\n <ng-container *ngIf=\"showMessageIcon\">\n <ng-container [ngSwitch]=\"type\">\n <ng-container *ngSwitchCase=\"'warning'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--warning\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'success'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--success\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M25,6.2L8.7,23.2L0,14.1l4-4.2l4.7,4.9L21,2L25,6.2z\"></path>\n </svg>\n </ng-container>\n <ng-container *ngSwitchCase=\"'information'\">\n <svg class=\"hmcts-banner__icon hmcts-banner__icon--information\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\"></path>\n </svg>\n </ng-container>\n </ng-container>\n </ng-container>\n\n <div class=\"hmcts-banner__message\" [class.hmcts-banner__message--bold]=\"messageBoldText\">\n <span class=\"hmcts-banner__assistive\">{{ type }}</span>\n <span class=\"hmcts-banner__message-text govuk-!-font-weight-bold\">{{ message }}</span>\n </div>\n </div>\n</ng-container>\n",
|
|
6027
|
+
styles: [".hmcts-banner-title{color:#fff;background-color:#1d70b8;font-weight:700;padding:10px 15px 5px}.hmcts-banner-title--success{background-color:#00703c}.hmcts-banner-title--warning{background-color:#d4351c}.hmcts-banner__message--bold{font-weight:700}"]
|
|
5394
6028
|
}] }
|
|
5395
6029
|
];
|
|
5396
|
-
/** @nocollapse */
|
|
5397
|
-
HmctsBannerComponent.ctorParameters = () => [];
|
|
5398
6030
|
HmctsBannerComponent.propDecorators = {
|
|
6031
|
+
message: [{ type: Input }],
|
|
5399
6032
|
type: [{ type: Input }],
|
|
5400
|
-
|
|
6033
|
+
title: [{ type: Input }],
|
|
6034
|
+
showMessageIcon: [{ type: Input }],
|
|
6035
|
+
messageBoldText: [{ type: Input }]
|
|
5401
6036
|
};
|
|
5402
6037
|
|
|
5403
6038
|
/**
|
|
@@ -5544,7 +6179,7 @@ class HmctsMainWrapperComponent {
|
|
|
5544
6179
|
HmctsMainWrapperComponent.decorators = [
|
|
5545
6180
|
{ type: Component, args: [{
|
|
5546
6181
|
selector: 'xuilib-hmcts-main-wrapper',
|
|
5547
|
-
template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">Back</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"
|
|
6182
|
+
template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">Back</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"\n [type]=\"bannerData.type\"\n [message]=\"bannerData.message\"\n ></xuilib-hmcts-banner>\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">{{title}}</h1>\n <ng-content></ng-content>\n </div>\n <div class=\"govuk-grid-column-one-third\" *ngIf=\"actionButtons?.length > 0\">\n <div class=\"hmcts-page-heading__actions-wrapper\">\n <a\n *ngFor=\"let actionButton of actionButtons\"\n (click)=\"actionButton.action()\"\n role=\"button\"\n draggable=\"false\"\n class=\"govuk-button {{ actionButton.class }}\"\n >{{ actionButton.name }}</a>\n </div>\n </div>\n </div>\n</main>\n"
|
|
5548
6183
|
}] }
|
|
5549
6184
|
];
|
|
5550
6185
|
/** @nocollapse */
|
|
@@ -5684,6 +6319,26 @@ RemoveHostDirective.ctorParameters = () => [
|
|
|
5684
6319
|
{ type: ElementRef }
|
|
5685
6320
|
];
|
|
5686
6321
|
|
|
6322
|
+
/**
|
|
6323
|
+
* @fileoverview added by tsickle
|
|
6324
|
+
* Generated from: lib/pipes/capitalize.pipe.ts
|
|
6325
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
6326
|
+
*/
|
|
6327
|
+
class CapitalizePipe {
|
|
6328
|
+
/**
|
|
6329
|
+
* @param {?} value
|
|
6330
|
+
* @return {?}
|
|
6331
|
+
*/
|
|
6332
|
+
transform(value) {
|
|
6333
|
+
/** @type {?} */
|
|
6334
|
+
const lowerCaseString = value.toLowerCase();
|
|
6335
|
+
return lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);
|
|
6336
|
+
}
|
|
6337
|
+
}
|
|
6338
|
+
CapitalizePipe.decorators = [
|
|
6339
|
+
{ type: Pipe, args: [{ name: 'capitalize' },] }
|
|
6340
|
+
];
|
|
6341
|
+
|
|
5687
6342
|
/**
|
|
5688
6343
|
* @fileoverview added by tsickle
|
|
5689
6344
|
* Generated from: lib/exui-common-lib.module.ts
|
|
@@ -5722,6 +6377,7 @@ const COMMON_COMPONENTS = [
|
|
|
5722
6377
|
FindPersonComponent,
|
|
5723
6378
|
SearchJudicialsComponent,
|
|
5724
6379
|
FindLocationComponent,
|
|
6380
|
+
FindTaskNameComponent,
|
|
5725
6381
|
SearchLocationComponent,
|
|
5726
6382
|
FindServiceComponent,
|
|
5727
6383
|
SearchServiceComponent,
|
|
@@ -5753,6 +6409,10 @@ const GOV_UI_COMPONENTS = [
|
|
|
5753
6409
|
GovUkFileUploadComponent,
|
|
5754
6410
|
RemoveHostDirective
|
|
5755
6411
|
];
|
|
6412
|
+
/** @type {?} */
|
|
6413
|
+
const pipes = [
|
|
6414
|
+
CapitalizePipe
|
|
6415
|
+
];
|
|
5756
6416
|
const ɵ0 = windowProvider;
|
|
5757
6417
|
class ExuiCommonLibModule {
|
|
5758
6418
|
}
|
|
@@ -5760,7 +6420,8 @@ ExuiCommonLibModule.decorators = [
|
|
|
5760
6420
|
{ type: NgModule, args: [{
|
|
5761
6421
|
declarations: [
|
|
5762
6422
|
...COMMON_COMPONENTS,
|
|
5763
|
-
...GOV_UI_COMPONENTS
|
|
6423
|
+
...GOV_UI_COMPONENTS,
|
|
6424
|
+
...pipes
|
|
5764
6425
|
],
|
|
5765
6426
|
imports: [
|
|
5766
6427
|
CommonModule,
|
|
@@ -5778,7 +6439,8 @@ ExuiCommonLibModule.decorators = [
|
|
|
5778
6439
|
exports: [
|
|
5779
6440
|
...COMMON_COMPONENTS,
|
|
5780
6441
|
...GOV_UI_COMPONENTS,
|
|
5781
|
-
PaginatePipe
|
|
6442
|
+
PaginatePipe,
|
|
6443
|
+
...pipes
|
|
5782
6444
|
]
|
|
5783
6445
|
},] }
|
|
5784
6446
|
];
|
|
@@ -6487,20 +7149,19 @@ TimeoutNotificationsService.ctorParameters = () => [
|
|
|
6487
7149
|
*/
|
|
6488
7150
|
class RoleService {
|
|
6489
7151
|
constructor() {
|
|
6490
|
-
this.pRoles =
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
|
|
6496
|
-
return this.pRoles;
|
|
7152
|
+
this.pRoles = new BehaviorSubject(null);
|
|
7153
|
+
this.roles$ = this.pRoles.asObservable().pipe(skipWhile((/**
|
|
7154
|
+
* @param {?} item
|
|
7155
|
+
* @return {?}
|
|
7156
|
+
*/
|
|
7157
|
+
item => item === null)));
|
|
6497
7158
|
}
|
|
6498
7159
|
/**
|
|
6499
7160
|
* @param {?} roles
|
|
6500
7161
|
* @return {?}
|
|
6501
7162
|
*/
|
|
6502
7163
|
set roles(roles) {
|
|
6503
|
-
this.pRoles
|
|
7164
|
+
this.pRoles.next(roles);
|
|
6504
7165
|
}
|
|
6505
7166
|
}
|
|
6506
7167
|
RoleService.decorators = [
|
|
@@ -6536,25 +7197,31 @@ class RoleGuard {
|
|
|
6536
7197
|
* @return {?}
|
|
6537
7198
|
*/
|
|
6538
7199
|
canActivate(route) {
|
|
6539
|
-
/**
|
|
6540
|
-
|
|
6541
|
-
/** @type {?} */
|
|
6542
|
-
const check = (/**
|
|
6543
|
-
* @param {?} roleRegEx
|
|
7200
|
+
return this.roleService.roles$.pipe(map((/**
|
|
7201
|
+
* @param {?} roles
|
|
6544
7202
|
* @return {?}
|
|
6545
7203
|
*/
|
|
6546
|
-
|
|
7204
|
+
roles => {
|
|
6547
7205
|
/** @type {?} */
|
|
6548
|
-
const
|
|
6549
|
-
|
|
6550
|
-
|
|
7206
|
+
const canActivateRoles = ((/** @type {?} */ (route.data.needsRole)));
|
|
7207
|
+
/** @type {?} */
|
|
7208
|
+
const check = (/**
|
|
7209
|
+
* @param {?} roleRegEx
|
|
6551
7210
|
* @return {?}
|
|
6552
7211
|
*/
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
7212
|
+
(roleRegEx) => {
|
|
7213
|
+
/** @type {?} */
|
|
7214
|
+
const regex = new RegExp(roleRegEx);
|
|
7215
|
+
return roles.some((/**
|
|
7216
|
+
* @param {?} role
|
|
7217
|
+
* @return {?}
|
|
7218
|
+
*/
|
|
7219
|
+
role => regex.test(role)));
|
|
7220
|
+
});
|
|
7221
|
+
/** @type {?} */
|
|
7222
|
+
const match = route.data.roleMatching === RoleMatching.ALL ? canActivateRoles.every(check) : canActivateRoles.some(check);
|
|
7223
|
+
return match || this.router.parseUrl((/** @type {?} */ (route.data.noRoleMatchRedirect)));
|
|
7224
|
+
})));
|
|
6558
7225
|
}
|
|
6559
7226
|
}
|
|
6560
7227
|
RoleGuard.decorators = [
|
|
@@ -6655,6 +7322,6 @@ LoadingService.decorators = [
|
|
|
6655
7322
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
6656
7323
|
*/
|
|
6657
7324
|
|
|
6658
|
-
export { AccessibilityComponent, CheckboxListComponent, ContactDetailsComponent, DueDateComponent, GenericFilterComponent, HmctsSessionDialogComponent, InviteUserFormComponent, InviteUserPermissionComponent, LoadingSpinnerComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, SelectedCaseComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseConfirmComponent, ShareCaseComponent, TabComponent, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, UserDetailsComponent, UserListComponent, CookieBannerComponent, FindLocationComponent, SearchLocationComponent, PaginationComponent, FeatureToggleDirective, LetContext, LetDirective, COMMON_COMPONENTS, GOV_UI_COMPONENTS, ExuiCommonLibModule, GovUiService, checkboxesBeCheckedValidator, dateValidator, radioGroupValidator, HmctsSubNavigationComponent, SharedCaseErrorMessages, BadgeColour, DateBadgeColour, SECONDS_IN_A_DAY, AnonymousFeatureUser, LoggedInFeatureUser, BookingCheckType, PersonRole, RoleCategory,
|
|
7325
|
+
export { AccessibilityComponent, CheckboxListComponent, ContactDetailsComponent, DueDateComponent, GenericFilterComponent, HmctsSessionDialogComponent, InviteUserFormComponent, InviteUserPermissionComponent, LoadingSpinnerComponent, SelectedCaseConfirmComponent, SelectedCaseListComponent, SelectedCaseComponent, ServiceMessageComponent, ServiceMessagesComponent, ShareCaseConfirmComponent, ShareCaseComponent, TabComponent, TcConfirmComponent, TcDisplayHtmlComponent, TcDisplayPlainComponent, TermsAndConditionsComponent, UserDetailsComponent, UserListComponent, CookieBannerComponent, FindLocationComponent, SearchLocationComponent, PaginationComponent, FeatureToggleDirective, LetContext, LetDirective, COMMON_COMPONENTS, GOV_UI_COMPONENTS, ExuiCommonLibModule, GovUiService, checkboxesBeCheckedValidator, dateValidator, radioGroupValidator, HmctsSubNavigationComponent, HmctsBannerComponent, SharedCaseErrorMessages, BadgeColour, DateBadgeColour, SECONDS_IN_A_DAY, AnonymousFeatureUser, LoggedInFeatureUser, RadioFilterFieldConfig, BookingCheckType, PersonRole, RoleCategory, FeatureToggleGuard, FeatureToggleService, LaunchDarklyService, GoogleAnalyticsService, GoogleTagManagerService, ManageSessionServices, TimeoutNotificationsService, RoleMatching, RoleGuard, RoleService, CookieService, HasLoadingState, LoadingService, FilterService, windowProvider, windowToken, AccessibilityComponent as ɵx, CheckboxListComponent as ɵz, ContactDetailsComponent as ɵf, CookieBannerComponent as ɵbf, DueDateComponent as ɵy, ExuiPageWrapperComponent as ɵa, FindLocationComponent as ɵbl, FindPersonComponent as ɵbh, FindServiceComponent as ɵbq, FindTaskNameComponent as ɵbo, GenericFilterComponent as ɵbd, HmctsSessionDialogComponent as ɵk, InviteUserFormComponent as ɵo, InviteUserPermissionComponent as ɵn, LoadingSpinnerComponent as ɵbc, PaginationComponent as ɵbt, SearchJudicialsComponent as ɵbk, SearchLocationComponent as ɵbm, SearchServiceComponent as ɵbr, SearchVenueComponent as ɵbs, SelectedCaseConfirmComponent as ɵv, SelectedCaseListComponent as ɵt, SelectedCaseComponent as ɵu, ServiceMessageComponent as ɵba, ServiceMessagesComponent as ɵbb, ShareCaseConfirmComponent as ɵs, ShareCaseComponent as ɵp, TabComponent as ɵw, TcConfirmComponent as ɵe, TcDisplayHtmlComponent as ɵc, TcDisplayPlainComponent as ɵd, TermsAndConditionsComponent as ɵb, UserDetailsComponent as ɵm, UserListComponent as ɵl, UserSelectComponent as ɵq, FeatureToggleDirective as ɵg, LetContext as ɵi, LetDirective as ɵj, GovUkCheckboxComponent as ɵcd, GovUkCheckboxesComponent as ɵcj, GovUkDateComponent as ɵci, GovUkErrorMessageComponent as ɵcg, GovUkFieldsetComponent as ɵch, GovUkFileUploadComponent as ɵco, GovUkFormGroupWrapperComponent as ɵce, GovUkInputComponent as ɵcc, GovUkLabelComponent as ɵcf, GovUkRadioComponent as ɵck, GovUkRadiosComponent as ɵcl, GovUkSelectComponent as ɵcm, GovukTableComponent as ɵcb, GovUkTextareaComponent as ɵcn, HmctsBannerComponent as ɵca, HmctsErrorSummaryComponent as ɵby, HmctsIdentityBarComponent as ɵbu, HmctsMainWrapperComponent as ɵbz, HmctsPaginationComponent as ɵbv, HmctsPrimaryNavigationComponent as ɵbx, HmctsSubNavigationComponent as ɵbw, RemoveHostDirective as ɵcp, CapitalizePipe as ɵcq, CaseSharingStateService as ɵr, CookieService as ɵbg, FeatureToggleService as ɵh, FilterService as ɵbe, FindAPersonService as ɵbi, LocationService as ɵbn, SessionStorageService as ɵbj, TaskNameService as ɵbp };
|
|
6659
7326
|
|
|
6660
7327
|
//# sourceMappingURL=hmcts-rpx-xui-common-lib.js.map
|