@hmcts/rpx-xui-common-lib 1.8.10-task-name-field-generic-filter → 1.8.10-task-name-filter-2
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 +175 -109
- 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/lib/components/find-location/find-location.component.js +8 -5
- package/esm2015/lib/components/find-service/find-service.component.js +7 -3
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +77 -35
- package/esm2015/lib/components/search-service/search-service.component.js +12 -5
- package/esm2015/lib/models/filter.model.js +1 -1
- package/fesm2015/hmcts-rpx-xui-common-lib.js +133 -78
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/find-service/find-service.component.d.ts +3 -0
- package/lib/components/generic-filter/generic-filter.component.d.ts +2 -1
- package/lib/components/search-service/search-service.component.d.ts +2 -1
- package/lib/models/filter.model.d.ts +2 -0
- package/package.json +1 -1
|
@@ -856,6 +856,9 @@
|
|
|
856
856
|
_this.form.get('user-services').push(new forms.FormControl({ key: 'All', label: 'All' }));
|
|
857
857
|
}
|
|
858
858
|
};
|
|
859
|
+
this.searchTermServiceForm = this.fb.group({
|
|
860
|
+
searchTerm: ['']
|
|
861
|
+
});
|
|
859
862
|
}
|
|
860
863
|
Object.defineProperty(GenericFilterComponent.prototype, "config", {
|
|
861
864
|
get: function () {
|
|
@@ -909,7 +912,9 @@
|
|
|
909
912
|
var services = this.config.fields.find(function (field) { return field.name === 'user-services'; });
|
|
910
913
|
if (services) {
|
|
911
914
|
this.startFilterSkillsByServices(this.form, services);
|
|
912
|
-
this.
|
|
915
|
+
if (!this._config.copyFields) {
|
|
916
|
+
this.initValuesFromCacheForSkillsByServices();
|
|
917
|
+
}
|
|
913
918
|
}
|
|
914
919
|
};
|
|
915
920
|
GenericFilterComponent.prototype.ngOnDestroy = function () {
|
|
@@ -986,6 +991,7 @@
|
|
|
986
991
|
return field.disable ? field.disable : null;
|
|
987
992
|
};
|
|
988
993
|
GenericFilterComponent.prototype.applyFilter = function (form) {
|
|
994
|
+
var e_1, _b;
|
|
989
995
|
this.submitted = true;
|
|
990
996
|
form.markAsTouched();
|
|
991
997
|
if (form.valid) {
|
|
@@ -1001,13 +1007,29 @@
|
|
|
1001
1007
|
else {
|
|
1002
1008
|
this.emitFormErrors(form);
|
|
1003
1009
|
}
|
|
1010
|
+
try {
|
|
1011
|
+
for (var _c = __values(this.config.fields), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
1012
|
+
var field = _d.value;
|
|
1013
|
+
var fieldName = field.name;
|
|
1014
|
+
if (fieldName === 'user-services') {
|
|
1015
|
+
this.searchTermServiceForm.reset();
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
1020
|
+
finally {
|
|
1021
|
+
try {
|
|
1022
|
+
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1023
|
+
}
|
|
1024
|
+
finally { if (e_1) throw e_1.error; }
|
|
1025
|
+
}
|
|
1004
1026
|
if (this._config.applyButtonCallback) {
|
|
1005
1027
|
this._config.applyButtonCallback();
|
|
1006
1028
|
}
|
|
1007
1029
|
};
|
|
1008
1030
|
// when domain changes ensure that person field is reset
|
|
1009
1031
|
GenericFilterComponent.prototype.fieldChanged = function (field, form) {
|
|
1010
|
-
var
|
|
1032
|
+
var e_2, _b;
|
|
1011
1033
|
// TODO - Do similar with jurisdiction/service for caseworkers by services
|
|
1012
1034
|
if (field.changeResetFields && field.changeResetFields.length) {
|
|
1013
1035
|
try {
|
|
@@ -1016,12 +1038,12 @@
|
|
|
1016
1038
|
this.resetField(resetField, form);
|
|
1017
1039
|
}
|
|
1018
1040
|
}
|
|
1019
|
-
catch (
|
|
1041
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
1020
1042
|
finally {
|
|
1021
1043
|
try {
|
|
1022
1044
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1023
1045
|
}
|
|
1024
|
-
finally { if (
|
|
1046
|
+
finally { if (e_2) throw e_2.error; }
|
|
1025
1047
|
}
|
|
1026
1048
|
}
|
|
1027
1049
|
};
|
|
@@ -1032,8 +1054,8 @@
|
|
|
1032
1054
|
this.form.get(name).patchValue(value);
|
|
1033
1055
|
}
|
|
1034
1056
|
};
|
|
1035
|
-
GenericFilterComponent.prototype.inputServiceChanged = function (
|
|
1036
|
-
if (
|
|
1057
|
+
GenericFilterComponent.prototype.inputServiceChanged = function (selectedNotAddedService, field) {
|
|
1058
|
+
if (selectedNotAddedService === undefined) {
|
|
1037
1059
|
this.addAllOption(field);
|
|
1038
1060
|
}
|
|
1039
1061
|
else {
|
|
@@ -1058,7 +1080,7 @@
|
|
|
1058
1080
|
}
|
|
1059
1081
|
};
|
|
1060
1082
|
GenericFilterComponent.prototype.updatePersonControls = function (values, field) {
|
|
1061
|
-
var
|
|
1083
|
+
var e_3, _b;
|
|
1062
1084
|
var keys;
|
|
1063
1085
|
if (!values) {
|
|
1064
1086
|
keys = Object.keys(this.form.get(field.name).value);
|
|
@@ -1075,19 +1097,19 @@
|
|
|
1075
1097
|
}
|
|
1076
1098
|
}
|
|
1077
1099
|
}
|
|
1078
|
-
catch (
|
|
1100
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
1079
1101
|
finally {
|
|
1080
1102
|
try {
|
|
1081
1103
|
if (keys_1_1 && !keys_1_1.done && (_b = keys_1.return)) _b.call(keys_1);
|
|
1082
1104
|
}
|
|
1083
|
-
finally { if (
|
|
1105
|
+
finally { if (e_3) throw e_3.error; }
|
|
1084
1106
|
}
|
|
1085
1107
|
};
|
|
1086
1108
|
GenericFilterComponent.prototype.checkBoxChecked = function (field, i) {
|
|
1087
1109
|
return this.form.get(field.name)['controls'][i]['value'];
|
|
1088
1110
|
};
|
|
1089
1111
|
GenericFilterComponent.prototype.updateTaskNameControls = function (values, field) {
|
|
1090
|
-
var
|
|
1112
|
+
var e_4, _b;
|
|
1091
1113
|
var keys;
|
|
1092
1114
|
if (!values) {
|
|
1093
1115
|
keys = Object.keys(this.form.get(field.name).value);
|
|
@@ -1104,16 +1126,16 @@
|
|
|
1104
1126
|
}
|
|
1105
1127
|
}
|
|
1106
1128
|
}
|
|
1107
|
-
catch (
|
|
1129
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
1108
1130
|
finally {
|
|
1109
1131
|
try {
|
|
1110
1132
|
if (keys_2_1 && !keys_2_1.done && (_b = keys_2.return)) _b.call(keys_2);
|
|
1111
1133
|
}
|
|
1112
|
-
finally { if (
|
|
1134
|
+
finally { if (e_4) throw e_4.error; }
|
|
1113
1135
|
}
|
|
1114
1136
|
};
|
|
1115
1137
|
GenericFilterComponent.prototype.toggleSelectAll = function (event, form, item, field) {
|
|
1116
|
-
var
|
|
1138
|
+
var e_5, _b;
|
|
1117
1139
|
var isChecked = event.target.checked;
|
|
1118
1140
|
var formArray = form.get(field.name);
|
|
1119
1141
|
if (!item.selectAll) {
|
|
@@ -1158,12 +1180,12 @@
|
|
|
1158
1180
|
this.resetField(resetField, form);
|
|
1159
1181
|
}
|
|
1160
1182
|
}
|
|
1161
|
-
catch (
|
|
1183
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
1162
1184
|
finally {
|
|
1163
1185
|
try {
|
|
1164
1186
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1165
1187
|
}
|
|
1166
|
-
finally { if (
|
|
1188
|
+
finally { if (e_5) throw e_5.error; }
|
|
1167
1189
|
}
|
|
1168
1190
|
}
|
|
1169
1191
|
if (field.name === 'user-services') {
|
|
@@ -1195,7 +1217,7 @@
|
|
|
1195
1217
|
this.filterSkillsByServices(servicesArray, this.config);
|
|
1196
1218
|
};
|
|
1197
1219
|
GenericFilterComponent.prototype.resetField = function (resetField, form) {
|
|
1198
|
-
var
|
|
1220
|
+
var e_6, _b;
|
|
1199
1221
|
var control = form.get(resetField);
|
|
1200
1222
|
var defaultValue = this.config.cancelSetting.fields.find(function (f) { return f.name === resetField; });
|
|
1201
1223
|
if (control instanceof forms.FormArray) {
|
|
@@ -1211,12 +1233,12 @@
|
|
|
1211
1233
|
this.resetField(key, control);
|
|
1212
1234
|
}
|
|
1213
1235
|
}
|
|
1214
|
-
catch (
|
|
1236
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
1215
1237
|
finally {
|
|
1216
1238
|
try {
|
|
1217
1239
|
if (keys_3_1 && !keys_3_1.done && (_b = keys_3.return)) _b.call(keys_3);
|
|
1218
1240
|
}
|
|
1219
|
-
finally { if (
|
|
1241
|
+
finally { if (e_6) throw e_6.error; }
|
|
1220
1242
|
}
|
|
1221
1243
|
}
|
|
1222
1244
|
else if (control instanceof forms.FormControl) {
|
|
@@ -1239,7 +1261,7 @@
|
|
|
1239
1261
|
this._settings = this.filterService.get(this.config.id);
|
|
1240
1262
|
};
|
|
1241
1263
|
GenericFilterComponent.prototype.buildForm = function (config, settings, reset) {
|
|
1242
|
-
var
|
|
1264
|
+
var e_7, _b;
|
|
1243
1265
|
var _a;
|
|
1244
1266
|
var findPersonControl = this.form ? this.form.get('findPersonControl') : null;
|
|
1245
1267
|
var findTaskNameControl = this.form ? this.form.get('findTaskNameControl') : null;
|
|
@@ -1319,16 +1341,16 @@
|
|
|
1319
1341
|
_loop_1(field);
|
|
1320
1342
|
}
|
|
1321
1343
|
}
|
|
1322
|
-
catch (
|
|
1344
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
1323
1345
|
finally {
|
|
1324
1346
|
try {
|
|
1325
1347
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1326
1348
|
}
|
|
1327
|
-
finally { if (
|
|
1349
|
+
finally { if (e_7) throw e_7.error; }
|
|
1328
1350
|
}
|
|
1329
1351
|
};
|
|
1330
1352
|
GenericFilterComponent.prototype.buildCheckBoxFormArray = function (field, settings) {
|
|
1331
|
-
var
|
|
1353
|
+
var e_8, _b;
|
|
1332
1354
|
var validators = GenericFilterComponent.addFormValidators(field);
|
|
1333
1355
|
var formArray = this.fb.array([], validators);
|
|
1334
1356
|
var defaultValues;
|
|
@@ -1348,17 +1370,17 @@
|
|
|
1348
1370
|
_loop_2(option);
|
|
1349
1371
|
}
|
|
1350
1372
|
}
|
|
1351
|
-
catch (
|
|
1373
|
+
catch (e_8_1) { e_8 = { error: e_8_1 }; }
|
|
1352
1374
|
finally {
|
|
1353
1375
|
try {
|
|
1354
1376
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1355
1377
|
}
|
|
1356
|
-
finally { if (
|
|
1378
|
+
finally { if (e_8) throw e_8.error; }
|
|
1357
1379
|
}
|
|
1358
1380
|
return formArray;
|
|
1359
1381
|
};
|
|
1360
1382
|
GenericFilterComponent.prototype.buildFormArray = function (field, settings) {
|
|
1361
|
-
var
|
|
1383
|
+
var e_9, _b;
|
|
1362
1384
|
var validators = GenericFilterComponent.addFormValidators(field);
|
|
1363
1385
|
var formArray = this.fb.array([], validators);
|
|
1364
1386
|
var defaultValues;
|
|
@@ -1371,12 +1393,12 @@
|
|
|
1371
1393
|
formArray.push(new forms.FormControl(defaultValue));
|
|
1372
1394
|
}
|
|
1373
1395
|
}
|
|
1374
|
-
catch (
|
|
1396
|
+
catch (e_9_1) { e_9 = { error: e_9_1 }; }
|
|
1375
1397
|
finally {
|
|
1376
1398
|
try {
|
|
1377
1399
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1378
1400
|
}
|
|
1379
|
-
finally { if (
|
|
1401
|
+
finally { if (e_9) throw e_9.error; }
|
|
1380
1402
|
}
|
|
1381
1403
|
}
|
|
1382
1404
|
}
|
|
@@ -1400,26 +1422,30 @@
|
|
|
1400
1422
|
});
|
|
1401
1423
|
};
|
|
1402
1424
|
GenericFilterComponent.prototype.emitFormErrors = function (form) {
|
|
1403
|
-
var
|
|
1425
|
+
var e_10, _b;
|
|
1404
1426
|
var errors = [];
|
|
1405
1427
|
try {
|
|
1406
1428
|
for (var _c = __values(this.config.fields), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
1407
1429
|
var field = _d.value;
|
|
1408
|
-
var
|
|
1430
|
+
var fieldName = field.name;
|
|
1431
|
+
var formGroup = form.get(fieldName);
|
|
1409
1432
|
if (formGroup && formGroup.errors && (formGroup.errors.minlength || formGroup.errors.required)) {
|
|
1410
|
-
errors.push({ name:
|
|
1433
|
+
errors.push({ name: fieldName, error: field.minSelectedError });
|
|
1434
|
+
if (fieldName === 'user-services') {
|
|
1435
|
+
this.searchTermServiceForm.reset();
|
|
1436
|
+
}
|
|
1411
1437
|
}
|
|
1412
1438
|
if (formGroup && formGroup.errors && formGroup.errors.maxlength) {
|
|
1413
|
-
errors.push({ name:
|
|
1439
|
+
errors.push({ name: fieldName, error: field.maxSelectedError });
|
|
1414
1440
|
}
|
|
1415
1441
|
}
|
|
1416
1442
|
}
|
|
1417
|
-
catch (
|
|
1443
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
1418
1444
|
finally {
|
|
1419
1445
|
try {
|
|
1420
1446
|
if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
|
|
1421
1447
|
}
|
|
1422
|
-
finally { if (
|
|
1448
|
+
finally { if (e_10) throw e_10.error; }
|
|
1423
1449
|
}
|
|
1424
1450
|
// remove duplicates
|
|
1425
1451
|
errors = errors.filter(function (filterError, i, arr) {
|
|
@@ -1431,10 +1457,10 @@
|
|
|
1431
1457
|
};
|
|
1432
1458
|
GenericFilterComponent.prototype.initValuesFromCacheForSkillsByServices = function () {
|
|
1433
1459
|
var _this = this;
|
|
1434
|
-
|
|
1435
|
-
var
|
|
1436
|
-
|
|
1437
|
-
var isSelectedUserSkill
|
|
1460
|
+
if (this.settings && this.settings.fields) {
|
|
1461
|
+
var cachedValues = this.filteredSkillsByServicesCheckbox.map(function (skill) {
|
|
1462
|
+
var selected = false;
|
|
1463
|
+
var isSelectedUserSkill;
|
|
1438
1464
|
var selectedUserSkills = _this.settings.fields.find(function (setting) { return setting.name === 'user-skills'; });
|
|
1439
1465
|
if (selectedUserSkills && selectedUserSkills.value && selectedUserSkills.value.length > 0) {
|
|
1440
1466
|
isSelectedUserSkill = selectedUserSkills.value.findIndex(function (val) {
|
|
@@ -1442,11 +1468,11 @@
|
|
|
1442
1468
|
});
|
|
1443
1469
|
selected = isSelectedUserSkill !== -1;
|
|
1444
1470
|
}
|
|
1471
|
+
return selected;
|
|
1472
|
+
});
|
|
1473
|
+
if (cachedValues.length > 0) {
|
|
1474
|
+
this.form.get('user-skills').setValue(cachedValues);
|
|
1445
1475
|
}
|
|
1446
|
-
return selected;
|
|
1447
|
-
});
|
|
1448
|
-
if (cachedValues.length > 0) {
|
|
1449
|
-
this.form.get('user-skills').setValue(cachedValues);
|
|
1450
1476
|
}
|
|
1451
1477
|
};
|
|
1452
1478
|
GenericFilterComponent.prototype.filterSkillsByServices = function (services, config) {
|
|
@@ -1489,29 +1515,56 @@
|
|
|
1489
1515
|
userSkillsCheckboxField.options = [];
|
|
1490
1516
|
userSkillsCheckboxField.options = this.filteredSkillsByServicesCheckbox;
|
|
1491
1517
|
this.form.setControl('user-skills', new forms.FormArray([]));
|
|
1492
|
-
this.
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
var
|
|
1497
|
-
|
|
1498
|
-
if (_this.
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1518
|
+
if (!this._config.copyFields) {
|
|
1519
|
+
this.filteredSkillsByServicesCheckbox.forEach(function () {
|
|
1520
|
+
_this.form.get('user-skills').push(new forms.FormControl(false));
|
|
1521
|
+
});
|
|
1522
|
+
var prevValues = this.filteredSkillsByServicesCheckbox.map(function (skill) {
|
|
1523
|
+
var selected = false;
|
|
1524
|
+
if (_this.settings && _this.settings.fields) {
|
|
1525
|
+
if (_this.previousSelectedNestedCheckbox.length > 0) {
|
|
1526
|
+
selected = _this.previousSelectedNestedCheckbox.includes(skill.key);
|
|
1527
|
+
}
|
|
1528
|
+
var isSelectedUserSkill = void 0;
|
|
1529
|
+
var selectedUserSkills = _this.settings.fields.find(function (setting) { return setting.name === 'user-skills'; });
|
|
1530
|
+
if (selectedUserSkills && selectedUserSkills.value && selectedUserSkills.value.length > 0) {
|
|
1531
|
+
isSelectedUserSkill = selectedUserSkills.value.findIndex(function (val) { return Number(val) === Number(skill.key); });
|
|
1532
|
+
selected = isSelectedUserSkill !== -1;
|
|
1533
|
+
}
|
|
1534
|
+
if (_this.previousSelectedNestedCheckbox.length > 0) {
|
|
1535
|
+
// Pick up from previous selected
|
|
1536
|
+
selected = _this.previousSelectedNestedCheckbox.includes(String(skill.key));
|
|
1537
|
+
}
|
|
1506
1538
|
}
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1539
|
+
return selected;
|
|
1540
|
+
});
|
|
1541
|
+
this.form.get('user-skills').setValue(prevValues);
|
|
1542
|
+
}
|
|
1543
|
+
else {
|
|
1544
|
+
var preSelectedSkills_1 = [];
|
|
1545
|
+
this.filteredSkillsByServicesCheckbox.map(function (skillsByServices, index) {
|
|
1546
|
+
for (var i = 0; i < _this._config.preSelectedNestedCheckbox.length; i++) {
|
|
1547
|
+
var skillCopyValue = _this._config.preSelectedNestedCheckbox[i];
|
|
1548
|
+
if (skillCopyValue.toString() === skillsByServices.key.toString()) {
|
|
1549
|
+
preSelectedSkills_1[index] = true;
|
|
1550
|
+
break;
|
|
1551
|
+
}
|
|
1552
|
+
else {
|
|
1553
|
+
preSelectedSkills_1[index] = false;
|
|
1554
|
+
}
|
|
1510
1555
|
}
|
|
1556
|
+
});
|
|
1557
|
+
if (preSelectedSkills_1.length > 0) {
|
|
1558
|
+
preSelectedSkills_1.forEach(function (h) {
|
|
1559
|
+
_this.form.get('user-skills').push(new forms.FormControl(h));
|
|
1560
|
+
});
|
|
1511
1561
|
}
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1562
|
+
else {
|
|
1563
|
+
this.filteredSkillsByServicesCheckbox.map(function () {
|
|
1564
|
+
_this.form.get('user-skills').push(new forms.FormControl(false));
|
|
1565
|
+
});
|
|
1566
|
+
}
|
|
1567
|
+
}
|
|
1515
1568
|
return this.filteredSkillsByServicesCheckbox;
|
|
1516
1569
|
}
|
|
1517
1570
|
}
|
|
@@ -1551,7 +1604,7 @@
|
|
|
1551
1604
|
GenericFilterComponent.decorators = [
|
|
1552
1605
|
{ type: i0.Component, args: [{
|
|
1553
1606
|
selector: 'xuilib-generic-filter',
|
|
1554
|
-
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 [services]=\"form.get(field.servicesField)?.value\"\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-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?.task_type_name\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputServiceChanged($event, field)\"\n [form]=\"form\"\n [fields]=\"config.fields\"\n [title]=\"field.title\"\n [enableAddServiceButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\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",
|
|
1607
|
+
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_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + 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_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + 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_' + field.name + item.key\"\n [name]=\"'checkbox_' + field.name + item.key\"\n />\n <label\n [for]=\"'checkbox_' + field.name + 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 [services]=\"form.get(field.servicesField)?.value\"\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-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?.task_type_name\"\n [placeholderContent]=\"field.placeholderContent ? field.placeholderContent : ''\"\n [services]=\"form.get(field.servicesField)?.value\"\n ></xuilib-find-task-name>\n </ng-container>\n <ng-container *ngSwitchCase=\"'find-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputServiceChanged($event, field)\"\n [form]=\"form\"\n [searchTermServiceForm]=\"searchTermServiceForm\"\n [fields]=\"config.fields\"\n [title]=\"field.title\"\n [enableAddServiceButton]=\"field.enableAddButton\"\n [disabled]=\"disabled(field, form)\"\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 [readonly]=\"field.readonly\"\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 [readonly]=\"field.readonly\"\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",
|
|
1555
1608
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
1556
1609
|
encapsulation: i0.ViewEncapsulation.None,
|
|
1557
1610
|
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%}"]
|
|
@@ -3222,14 +3275,17 @@
|
|
|
3222
3275
|
}
|
|
3223
3276
|
};
|
|
3224
3277
|
FindLocationComponent.prototype.removeSelectedValues = function () {
|
|
3225
|
-
var
|
|
3226
|
-
|
|
3227
|
-
|
|
3278
|
+
var _a;
|
|
3279
|
+
var formArray = this.form.get((_a = this.field) === null || _a === void 0 ? void 0 : _a.name);
|
|
3280
|
+
if (formArray) {
|
|
3281
|
+
for (var i = 0; i < formArray.length; i++) {
|
|
3282
|
+
formArray.removeAt(i);
|
|
3283
|
+
}
|
|
3284
|
+
this.selectedLocations = [];
|
|
3228
3285
|
}
|
|
3229
|
-
this.selectedLocations = [];
|
|
3230
3286
|
};
|
|
3231
3287
|
FindLocationComponent.prototype.addSelectedLocationsToForm = function (locations) {
|
|
3232
|
-
var e_1,
|
|
3288
|
+
var e_1, _b;
|
|
3233
3289
|
var formArray = this.form.get(this.field.name);
|
|
3234
3290
|
try {
|
|
3235
3291
|
for (var locations_1 = __values(locations), locations_1_1 = locations_1.next(); !locations_1_1.done; locations_1_1 = locations_1.next()) {
|
|
@@ -3240,7 +3296,7 @@
|
|
|
3240
3296
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
3241
3297
|
finally {
|
|
3242
3298
|
try {
|
|
3243
|
-
if (locations_1_1 && !locations_1_1.done && (
|
|
3299
|
+
if (locations_1_1 && !locations_1_1.done && (_b = locations_1.return)) _b.call(locations_1);
|
|
3244
3300
|
}
|
|
3245
3301
|
finally { if (e_1) throw e_1.error; }
|
|
3246
3302
|
}
|
|
@@ -3914,6 +3970,53 @@
|
|
|
3914
3970
|
xuilibLet: [{ type: i0.Input }]
|
|
3915
3971
|
};
|
|
3916
3972
|
|
|
3973
|
+
var SearchServiceComponent = /** @class */ (function () {
|
|
3974
|
+
function SearchServiceComponent(fb) {
|
|
3975
|
+
this.fb = fb;
|
|
3976
|
+
this.showAutocomplete = false;
|
|
3977
|
+
this.serviceChanged = new i0.EventEmitter();
|
|
3978
|
+
this.minSearchCharacters = 3;
|
|
3979
|
+
this.term = '';
|
|
3980
|
+
this.form = this.fb.group({
|
|
3981
|
+
searchTerm: ['']
|
|
3982
|
+
});
|
|
3983
|
+
}
|
|
3984
|
+
SearchServiceComponent.prototype.onInput = function () {
|
|
3985
|
+
// Todo
|
|
3986
|
+
};
|
|
3987
|
+
SearchServiceComponent.prototype.resetSearchTerm = function () {
|
|
3988
|
+
this.form.controls.searchTerm.patchValue('', { emitEvent: false, onlySelf: true });
|
|
3989
|
+
};
|
|
3990
|
+
SearchServiceComponent.prototype.onSelectionChanged = function ($event) {
|
|
3991
|
+
var _a;
|
|
3992
|
+
var label = (_a = $event.source) === null || _a === void 0 ? void 0 : _a.value;
|
|
3993
|
+
if (label && $event.source.selected) {
|
|
3994
|
+
var selectedService = this.services.find(function (s) { return s.label === label; });
|
|
3995
|
+
this.serviceChanged.emit(selectedService);
|
|
3996
|
+
}
|
|
3997
|
+
};
|
|
3998
|
+
return SearchServiceComponent;
|
|
3999
|
+
}());
|
|
4000
|
+
SearchServiceComponent.decorators = [
|
|
4001
|
+
{ type: i0.Component, args: [{
|
|
4002
|
+
selector: 'exui-search-service',
|
|
4003
|
+
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)=\"onSelectionChanged($event)\" [value]=\"service.label\">\n {{ service.label }}\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",
|
|
4004
|
+
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:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;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}"]
|
|
4005
|
+
},] }
|
|
4006
|
+
];
|
|
4007
|
+
SearchServiceComponent.ctorParameters = function () { return [
|
|
4008
|
+
{ type: forms.FormBuilder }
|
|
4009
|
+
]; };
|
|
4010
|
+
SearchServiceComponent.propDecorators = {
|
|
4011
|
+
services: [{ type: i0.Input }],
|
|
4012
|
+
selectedServices: [{ type: i0.Input }],
|
|
4013
|
+
disabled: [{ type: i0.Input }],
|
|
4014
|
+
delay: [{ type: i0.Input }],
|
|
4015
|
+
form: [{ type: i0.Input }],
|
|
4016
|
+
showAutocomplete: [{ type: i0.Input }],
|
|
4017
|
+
serviceChanged: [{ type: i0.Output }]
|
|
4018
|
+
};
|
|
4019
|
+
|
|
3917
4020
|
var FindServiceComponent = /** @class */ (function () {
|
|
3918
4021
|
function FindServiceComponent() {
|
|
3919
4022
|
this.services = [];
|
|
@@ -3964,6 +4067,7 @@
|
|
|
3964
4067
|
}
|
|
3965
4068
|
this.tempSelectedService = null;
|
|
3966
4069
|
this.serviceFieldChanged.emit(this.tempSelectedService);
|
|
4070
|
+
this.searchServiceComponent.resetSearchTerm();
|
|
3967
4071
|
};
|
|
3968
4072
|
FindServiceComponent.prototype.removeService = function (service) {
|
|
3969
4073
|
if (service.key) {
|
|
@@ -4034,7 +4138,7 @@
|
|
|
4034
4138
|
FindServiceComponent.decorators = [
|
|
4035
4139
|
{ type: i0.Component, args: [{
|
|
4036
4140
|
selector: 'xuilib-find-service',
|
|
4037
|
-
template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [services]=\"services\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n (serviceChanged)=\"onServiceSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"enableAddServiceButton\" id=\"add-service\">\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 selectedServices\">\n <a *ngIf=\"selection.key!=='All'\" class=\"hmcts-filter__tag\" (click)=\"removeService(selection)\" href=\"javascript:void(0)\">\n {{ selection.label }}\n </a>\n </li>\n </ul>\n</div>\n",
|
|
4141
|
+
template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [services]=\"services\"\n [form]=\"searchTermServiceForm\"\n [selectedServices]=\"selectedServices\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n (serviceChanged)=\"onServiceSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addService()\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"enableAddServiceButton\" id=\"add-service\">\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 selectedServices\">\n <a *ngIf=\"selection.key!=='All'\" class=\"hmcts-filter__tag\" (click)=\"removeService(selection)\" href=\"javascript:void(0)\">\n {{ selection.label }}\n </a>\n </li>\n </ul>\n</div>\n",
|
|
4038
4142
|
styles: ["#add-service{background-color:#ddd}"]
|
|
4039
4143
|
},] }
|
|
4040
4144
|
];
|
|
@@ -4043,11 +4147,13 @@
|
|
|
4043
4147
|
fields: [{ type: i0.Input }],
|
|
4044
4148
|
serviceTitle: [{ type: i0.Input }],
|
|
4045
4149
|
form: [{ type: i0.Input }],
|
|
4150
|
+
searchTermServiceForm: [{ type: i0.Input }],
|
|
4046
4151
|
services: [{ type: i0.Input }],
|
|
4047
4152
|
selectedServices: [{ type: i0.Input }],
|
|
4048
4153
|
enableAddServiceButton: [{ type: i0.Input }],
|
|
4049
4154
|
disabled: [{ type: i0.Input }],
|
|
4050
4155
|
disableInputField: [{ type: i0.Input }],
|
|
4156
|
+
searchServiceComponent: [{ type: i0.ViewChild, args: [SearchServiceComponent, { static: true },] }],
|
|
4051
4157
|
serviceFieldChanged: [{ type: i0.Output }]
|
|
4052
4158
|
};
|
|
4053
4159
|
|
|
@@ -4176,46 +4282,6 @@
|
|
|
4176
4282
|
disabled: [{ type: i0.Input }]
|
|
4177
4283
|
};
|
|
4178
4284
|
|
|
4179
|
-
var SearchServiceComponent = /** @class */ (function () {
|
|
4180
|
-
function SearchServiceComponent(fb) {
|
|
4181
|
-
this.fb = fb;
|
|
4182
|
-
this.showAutocomplete = false;
|
|
4183
|
-
this.serviceChanged = new i0.EventEmitter();
|
|
4184
|
-
this.minSearchCharacters = 3;
|
|
4185
|
-
this.term = '';
|
|
4186
|
-
this.form = this.fb.group({
|
|
4187
|
-
searchTerm: ['']
|
|
4188
|
-
});
|
|
4189
|
-
}
|
|
4190
|
-
SearchServiceComponent.prototype.onInput = function () {
|
|
4191
|
-
// Todo
|
|
4192
|
-
};
|
|
4193
|
-
SearchServiceComponent.prototype.onSelectionChanged = function (label) {
|
|
4194
|
-
var selectedService = this.services.find(function (s) { return s.label === label; });
|
|
4195
|
-
this.serviceChanged.emit(selectedService);
|
|
4196
|
-
};
|
|
4197
|
-
return SearchServiceComponent;
|
|
4198
|
-
}());
|
|
4199
|
-
SearchServiceComponent.decorators = [
|
|
4200
|
-
{ type: i0.Component, args: [{
|
|
4201
|
-
selector: 'exui-search-service',
|
|
4202
|
-
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)=\"onSelectionChanged($event.source.value)\" [value]=\"service.label\">\n {{ service.label }}\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",
|
|
4203
|
-
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:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;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}"]
|
|
4204
|
-
},] }
|
|
4205
|
-
];
|
|
4206
|
-
SearchServiceComponent.ctorParameters = function () { return [
|
|
4207
|
-
{ type: forms.FormBuilder }
|
|
4208
|
-
]; };
|
|
4209
|
-
SearchServiceComponent.propDecorators = {
|
|
4210
|
-
services: [{ type: i0.Input }],
|
|
4211
|
-
selectedServices: [{ type: i0.Input }],
|
|
4212
|
-
disabled: [{ type: i0.Input }],
|
|
4213
|
-
delay: [{ type: i0.Input }],
|
|
4214
|
-
form: [{ type: i0.Input }],
|
|
4215
|
-
showAutocomplete: [{ type: i0.Input }],
|
|
4216
|
-
serviceChanged: [{ type: i0.Output }]
|
|
4217
|
-
};
|
|
4218
|
-
|
|
4219
4285
|
/*
|
|
4220
4286
|
* Gov Uk Checkbox Dumb Component responsible for
|
|
4221
4287
|
* displaying checkbox input and hint
|