@hmcts/rpx-xui-common-lib 1.7.47-callback-apply-filter-v1 → 1.7.47-callback-copy-user-v1

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.
Files changed (37) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +279 -40
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +30 -28
  6. package/esm2015/lib/components/find-person/find-person.component.js +7 -6
  7. package/esm2015/lib/components/find-task-name/find-task-name.component.js +228 -0
  8. package/esm2015/lib/components/generic-filter/generic-filter.component.js +17 -6
  9. package/esm2015/lib/components/search-location/search-location.component.js +2 -3
  10. package/esm2015/lib/exui-common-lib.module.js +3 -1
  11. package/esm2015/lib/models/filter.model.js +18 -1
  12. package/esm2015/lib/models/task-name.model.js +16 -0
  13. package/esm2015/lib/services/find-person/find-person.service.js +10 -2
  14. package/esm2015/lib/services/task-name/task-name.service.js +65 -0
  15. package/esm5/hmcts-rpx-xui-common-lib.js +30 -28
  16. package/esm5/lib/components/find-person/find-person.component.js +7 -6
  17. package/esm5/lib/components/find-task-name/find-task-name.component.js +243 -0
  18. package/esm5/lib/components/generic-filter/generic-filter.component.js +22 -6
  19. package/esm5/lib/components/search-location/search-location.component.js +2 -3
  20. package/esm5/lib/exui-common-lib.module.js +3 -1
  21. package/esm5/lib/models/filter.model.js +18 -1
  22. package/esm5/lib/models/task-name.model.js +16 -0
  23. package/esm5/lib/services/find-person/find-person.service.js +10 -2
  24. package/esm5/lib/services/task-name/task-name.service.js +70 -0
  25. package/fesm2015/hmcts-rpx-xui-common-lib.js +235 -14
  26. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  27. package/fesm5/hmcts-rpx-xui-common-lib.js +259 -15
  28. package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
  29. package/hmcts-rpx-xui-common-lib.d.ts +29 -27
  30. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  31. package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
  32. package/lib/components/generic-filter/generic-filter.component.d.ts +1 -0
  33. package/lib/exui-common-lib.module.d.ts +2 -1
  34. package/lib/models/filter.model.d.ts +9 -1
  35. package/lib/models/task-name.model.d.ts +4 -0
  36. package/lib/services/task-name/task-name.service.d.ts +14 -0
  37. package/package.json +1 -1
@@ -956,6 +956,9 @@
956
956
  }
957
957
  this.mergeDefaultFields(this.settings);
958
958
  this.buildForm(this.config, this.settings);
959
+ if (this._config.copyFields) {
960
+ this.form = this._config.copyFields(this.form);
961
+ }
959
962
  this.formSub = this.form.valueChanges.subscribe(( /**
960
963
  * @return {?}
961
964
  */function () { return _this.submitted = false; }));
@@ -1216,6 +1219,19 @@
1216
1219
  }
1217
1220
  }
1218
1221
  };
1222
+ /**
1223
+ * @param {?} values
1224
+ * @param {?} field
1225
+ * @return {?}
1226
+ */
1227
+ GenericFilterComponent.prototype.updateTaskNameControls = /**
1228
+ * @param {?} values
1229
+ * @param {?} field
1230
+ * @return {?}
1231
+ */
1232
+ function (values, field) {
1233
+ this.form.get(field.name).patchValue(values);
1234
+ };
1219
1235
  /**
1220
1236
  * @param {?} event
1221
1237
  * @param {?} form
@@ -1473,11 +1489,11 @@
1473
1489
  if (field.type === 'find-person') {
1474
1490
  /** @type {?} */
1475
1491
  var formGroup = new forms.FormGroup({
1476
- domain: new forms.FormControl(''),
1492
+ domain: new forms.FormControl(defaultValue && defaultValue.hasOwnProperty('domain') ? defaultValue.domain : ''),
1477
1493
  email: new forms.FormControl(defaultValue && defaultValue.hasOwnProperty('email') ? defaultValue.email : '', validators),
1478
- id: new forms.FormControl(''),
1479
- name: new forms.FormControl(''),
1480
- knownAs: new forms.FormControl(''),
1494
+ id: new forms.FormControl(defaultValue && defaultValue.hasOwnProperty('id') ? defaultValue.id : ''),
1495
+ name: new forms.FormControl(defaultValue && defaultValue.hasOwnProperty('name') ? defaultValue.name : ''),
1496
+ knownAs: new forms.FormControl(defaultValue && defaultValue.hasOwnProperty('knownAs') ? defaultValue.knownAs : ''),
1481
1497
  });
1482
1498
  this_1.form.addControl(field.name, formGroup);
1483
1499
  }
@@ -1835,7 +1851,7 @@
1835
1851
  GenericFilterComponent.decorators = [
1836
1852
  { type: i0.Component, args: [{
1837
1853
  selector: 'xuilib-generic-filter',
1838
- 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 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\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?.required) || form.get(field.name).errors?.maxlength || form.get(field.name).errors?.email)}\">\n\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\n <div *ngIf=\"field?.titleHint\" class=\"govuk-!-margin-left-2\">\n {{ field.titleHint }}\n </div>\n </div>\n\n <p class=\"govuk-body\" *ngIf=\"field.subTitle\">{{field.subTitle}}</p>\n\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *ngIf=\"field.displayMinSelectedError && submitted && (form.get(field.name).errors?.minlength || form.get(field.name).errors?.required)\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *ngIf=\"field.displayMaxSelectedError && submitted && form.get(field.name).errors?.maxlength\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.maxSelectedError}}\n </span>\n\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\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 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 selected value=\"\">{{field.disabledText}}</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=\"'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 ></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-service'\">\n <xuilib-find-service (serviceFieldChanged)=\"inputChanged(field)\"\n [form]=\"form\"\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\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m\"/>\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",
1854
+ 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 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?.required) || form.get(field.name).errors?.maxlength || form.get(field.name).errors?.email)}\">\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\"\n *ngIf=\"field.displayMinSelectedError && submitted && (form.get(field.name).errors?.minlength || form.get(field.name).errors?.required)\">\n <span class=\"govuk-visually-hidden\">Error:</span> {{field.minSelectedError}}\n </span>\n <span [id]=\"field.name + '-error'\" class=\"govuk-error-message\"\n *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=\"'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 ></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 [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 *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.enableAddLocationButton\"\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>\n </div>\n <hr class=\"govuk-section-break govuk-section-break--m\"/>\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",
1839
1855
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1840
1856
  encapsulation: i0.ViewEncapsulation.None,
1841
1857
  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%}"]
@@ -4370,8 +4386,7 @@
4370
4386
  bookingLocations = JSON.parse(this.sessionStorageService.getItem('bookingLocations'));
4371
4387
  }
4372
4388
  else if (this.bookingCheck === BookingCheckType.POSSIBLE_BOOKINGS) {
4373
- userLocations = JSON.parse(this.sessionStorageService.getItem('userLocations'));
4374
- this.serviceIds = JSON.parse(this.sessionStorageService.getItem('bookableServices'));
4389
+ this.serviceIds = this.serviceIds && this.serviceIds.length ? this.serviceIds : JSON.parse(this.sessionStorageService.getItem('bookableServices'));
4375
4390
  }
4376
4391
  return this.locationService.getAllLocations(this.serviceIds, this.locationType, term, userLocations, bookingLocations);
4377
4392
  };
@@ -5116,7 +5131,15 @@
5116
5131
  /** @type {?} */
5117
5132
  var roleCategory = RoleCategory.ALL;
5118
5133
  if (!(searchOptions.userRole === PersonRole.ALL)) {
5119
- roleCategory = searchOptions.userRole === PersonRole.CASEWORKER ? RoleCategory.CASEWORKER : RoleCategory.ADMIN;
5134
+ if (searchOptions.userRole === PersonRole.CASEWORKER) {
5135
+ roleCategory = RoleCategory.CASEWORKER;
5136
+ }
5137
+ else if (searchOptions.userRole === PersonRole.ADMIN) {
5138
+ roleCategory = RoleCategory.ADMIN;
5139
+ }
5140
+ else if (searchOptions.userRole === PersonRole.CTSC) {
5141
+ roleCategory = RoleCategory.CTSC;
5142
+ }
5120
5143
  }
5121
5144
  /** @type {?} */
5122
5145
  var searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
@@ -5254,13 +5277,13 @@
5254
5277
  function (searchTerm) {
5255
5278
  var _this = this;
5256
5279
  /** @type {?} */
5257
- var findJudicialPeople = this.findPersonService.find({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
5280
+ var findJudicialOrCTSCPeople = this.findPersonService.find({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
5258
5281
  /** @type {?} */
5259
- var findCaseworkersOrAdmins = this.findPersonService.findCaseworkers({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
5282
+ var findCaseworkersOrAdminsOrCtsc = this.findPersonService.findCaseworkers({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
5260
5283
  if (searchTerm && searchTerm.length > this.minSearchCharacters) {
5261
5284
  switch (this.domain) {
5262
5285
  case PersonRole.JUDICIAL: {
5263
- return findJudicialPeople.pipe(operators.map(( /**
5286
+ return findJudicialOrCTSCPeople.pipe(operators.map(( /**
5264
5287
  * @param {?} persons
5265
5288
  * @return {?}
5266
5289
  */function (persons) {
@@ -5282,14 +5305,15 @@
5282
5305
  })));
5283
5306
  }
5284
5307
  case PersonRole.ALL: {
5285
- return rxjs.zip(findJudicialPeople, findCaseworkersOrAdmins).pipe(operators.map(( /**
5308
+ return rxjs.zip(findJudicialOrCTSCPeople, findCaseworkersOrAdminsOrCtsc).pipe(operators.map(( /**
5286
5309
  * @param {?} separatePeople
5287
5310
  * @return {?}
5288
5311
  */function (separatePeople) { return separatePeople[0].concat(separatePeople[1]); })));
5289
5312
  }
5313
+ case PersonRole.CTSC:
5290
5314
  case PersonRole.CASEWORKER:
5291
5315
  case PersonRole.ADMIN: {
5292
- return findCaseworkersOrAdmins;
5316
+ return findCaseworkersOrAdminsOrCtsc;
5293
5317
  }
5294
5318
  default: {
5295
5319
  return rxjs.of([]);
@@ -5566,6 +5590,218 @@
5566
5590
  return FindServiceComponent;
5567
5591
  }());
5568
5592
 
5593
+ /**
5594
+ * @fileoverview added by tsickle
5595
+ * Generated from: lib/services/task-name/task-name.service.ts
5596
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5597
+ */
5598
+ var TaskNameService = /** @class */ (function () {
5599
+ function TaskNameService(http, sessionStorageService) {
5600
+ this.http = http;
5601
+ this.sessionStorageService = sessionStorageService;
5602
+ }
5603
+ /**
5604
+ * @return Observable<any[]>: Array of taskName in Observable
5605
+ */
5606
+ /**
5607
+ * @return {?} Observable<any[]>: Array of taskName in Observable
5608
+ */
5609
+ TaskNameService.prototype.getTaskName = /**
5610
+ * @return {?} Observable<any[]>: Array of taskName in Observable
5611
+ */
5612
+ function () {
5613
+ var _this = this;
5614
+ if (this.sessionStorageService.getItem(TaskNameService.taskNamesKey)) {
5615
+ /** @type {?} */
5616
+ var taskNames = JSON.parse(this.sessionStorageService.getItem(TaskNameService.taskNamesKey));
5617
+ return rxjs.of(( /** @type {?} */(taskNames)));
5618
+ }
5619
+ return this.http.get("/workallocation/taskNames").pipe(operators.tap(( /**
5620
+ * @param {?} taskNames
5621
+ * @return {?}
5622
+ */function (taskNames) { return _this.sessionStorageService.setItem(TaskNameService.taskNamesKey, JSON.stringify(taskNames)); })));
5623
+ };
5624
+ TaskNameService.taskNamesKey = 'taskNames';
5625
+ TaskNameService.decorators = [
5626
+ { type: i0.Injectable, args: [{
5627
+ providedIn: 'root'
5628
+ },] }
5629
+ ];
5630
+ /** @nocollapse */
5631
+ TaskNameService.ctorParameters = function () {
5632
+ return [
5633
+ { type: i1.HttpClient },
5634
+ { type: SessionStorageService }
5635
+ ];
5636
+ };
5637
+ /** @nocollapse */ TaskNameService.ngInjectableDef = i0.defineInjectable({ factory: function TaskNameService_Factory() { return new TaskNameService(i0.inject(i1.HttpClient), i0.inject(SessionStorageService)); }, token: TaskNameService, providedIn: "root" });
5638
+ return TaskNameService;
5639
+ }());
5640
+
5641
+ /**
5642
+ * @fileoverview added by tsickle
5643
+ * Generated from: lib/components/find-task-name/find-task-name.component.ts
5644
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5645
+ */
5646
+ var FindTaskNameComponent = /** @class */ (function () {
5647
+ function FindTaskNameComponent(cd, taskService) {
5648
+ this.cd = cd;
5649
+ this.taskService = taskService;
5650
+ this.taskNameSelected = new i0.EventEmitter();
5651
+ this.taskNameFieldChanged = new i0.EventEmitter();
5652
+ this.boldTitle = 'Find the task name';
5653
+ this.subTitle = 'Type the name of the task name and select them.';
5654
+ this.domain = PersonRole.ALL;
5655
+ this.findTaskNameGroup = new forms.FormGroup({});
5656
+ this.submitted = true;
5657
+ this.userIncluded = false;
5658
+ this.placeholderContent = '';
5659
+ this.isNoResultsShown = true;
5660
+ this.showUpdatedColor = false;
5661
+ this.selectedTaskNames = [];
5662
+ this.errorMessage = 'You must select a name';
5663
+ this.idValue = '';
5664
+ this.services = ['IA'];
5665
+ this.disabled = null;
5666
+ this.showAutocomplete = false;
5667
+ this.filteredOptions = [];
5668
+ this.minSearchCharacters = 1;
5669
+ this.searchTerm = '';
5670
+ }
5671
+ /**
5672
+ * @return {?}
5673
+ */
5674
+ FindTaskNameComponent.prototype.ngOnDestroy = /**
5675
+ * @return {?}
5676
+ */
5677
+ function () {
5678
+ if (this.sub) {
5679
+ this.sub.unsubscribe();
5680
+ }
5681
+ };
5682
+ /**
5683
+ * @return {?}
5684
+ */
5685
+ FindTaskNameComponent.prototype.ngOnChanges = /**
5686
+ * @return {?}
5687
+ */
5688
+ function () {
5689
+ var _this = this;
5690
+ this.findTaskNameControl = new forms.FormControl(this.selectedTaskName);
5691
+ this.findTaskNameGroup.addControl('findTaskNameControl', this.findTaskNameControl);
5692
+ this.sub = this.findTaskNameControl.valueChanges
5693
+ .pipe(operators.tap(( /**
5694
+ * @return {?}
5695
+ */function () { return _this.showAutocomplete = false; })), operators.tap(( /**
5696
+ * @return {?}
5697
+ */function () { return _this.filteredOptions = []; })), operators.tap(( /**
5698
+ * @param {?} term
5699
+ * @return {?}
5700
+ */function (term) { return _this.searchTerm = term; })), operators.debounceTime(300), operators.tap(( /**
5701
+ * @param {?} searchTerm
5702
+ * @return {?}
5703
+ */function (searchTerm) {
5704
+ if (!searchTerm) {
5705
+ _this.taskNameSelected.emit('');
5706
+ }
5707
+ return searchTerm;
5708
+ })),
5709
+ // tap((searchTerm) => typeof searchTerm === 'string' ? this.taskNameSelected.emit('null') : void 0),
5710
+ operators.filter(( /**
5711
+ * @param {?} searchTerm
5712
+ * @return {?}
5713
+ */function (searchTerm) { return searchTerm && searchTerm.length >= _this.minSearchCharacters; })), operators.mergeMap(( /**
5714
+ * @return {?}
5715
+ */function () { return _this.getTaskName(); }))).subscribe(( /**
5716
+ * @param {?} taskNameModel
5717
+ * @return {?}
5718
+ */function (taskNameModel) {
5719
+ _this.filteredOptions = taskNameModel.map(( /**
5720
+ * @param {?} task
5721
+ * @return {?}
5722
+ */function (task) { return task.taskName; }));
5723
+ if (_this.searchTerm) {
5724
+ _this.filteredOptions = _this.filteredOptions.filter(( /**
5725
+ * @param {?} taskName
5726
+ * @return {?}
5727
+ */function (taskName) { return taskName.toLocaleLowerCase().includes(_this.searchTerm.toLocaleLowerCase()); })).map(( /**
5728
+ * @param {?} taskName
5729
+ * @return {?}
5730
+ */function (taskName) { return taskName; }));
5731
+ }
5732
+ _this.cd.detectChanges();
5733
+ }));
5734
+ };
5735
+ /**
5736
+ * @return {?}
5737
+ */
5738
+ FindTaskNameComponent.prototype.getTaskName = /**
5739
+ * @return {?}
5740
+ */
5741
+ function () {
5742
+ return this.taskService.getTaskName();
5743
+ };
5744
+ /**
5745
+ * @param {?} selectedTaskName
5746
+ * @return {?}
5747
+ */
5748
+ FindTaskNameComponent.prototype.onSelectionChange = /**
5749
+ * @param {?} selectedTaskName
5750
+ * @return {?}
5751
+ */
5752
+ function (selectedTaskName) {
5753
+ if (selectedTaskName) {
5754
+ this.taskNameSelected.emit(selectedTaskName);
5755
+ this.findTaskNameControl.setValue(selectedTaskName);
5756
+ }
5757
+ };
5758
+ /**
5759
+ * @return {?}
5760
+ */
5761
+ FindTaskNameComponent.prototype.onInput = /**
5762
+ * @return {?}
5763
+ */
5764
+ function () {
5765
+ this.taskNameFieldChanged.emit();
5766
+ };
5767
+ FindTaskNameComponent.decorators = [
5768
+ { type: i0.Component, args: [{
5769
+ selector: 'xuilib-find-task-name',
5770
+ 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",
5771
+ styles: [""]
5772
+ }] }
5773
+ ];
5774
+ /** @nocollapse */
5775
+ FindTaskNameComponent.ctorParameters = function () {
5776
+ return [
5777
+ { type: i0.ChangeDetectorRef },
5778
+ { type: TaskNameService }
5779
+ ];
5780
+ };
5781
+ FindTaskNameComponent.propDecorators = {
5782
+ taskNameSelected: [{ type: i0.Output }],
5783
+ taskNameFieldChanged: [{ type: i0.Output }],
5784
+ title: [{ type: i0.Input }],
5785
+ boldTitle: [{ type: i0.Input }],
5786
+ subTitle: [{ type: i0.Input }],
5787
+ domain: [{ type: i0.Input }],
5788
+ findTaskNameGroup: [{ type: i0.Input }],
5789
+ selectedTaskName: [{ type: i0.Input }],
5790
+ submitted: [{ type: i0.Input }],
5791
+ userIncluded: [{ type: i0.Input }],
5792
+ assignedUser: [{ type: i0.Input }],
5793
+ placeholderContent: [{ type: i0.Input }],
5794
+ isNoResultsShown: [{ type: i0.Input }],
5795
+ showUpdatedColor: [{ type: i0.Input }],
5796
+ selectedTaskNames: [{ type: i0.Input }],
5797
+ errorMessage: [{ type: i0.Input }],
5798
+ idValue: [{ type: i0.Input }],
5799
+ services: [{ type: i0.Input }],
5800
+ disabled: [{ type: i0.Input }]
5801
+ };
5802
+ return FindTaskNameComponent;
5803
+ }());
5804
+
5569
5805
  /**
5570
5806
  * @fileoverview added by tsickle
5571
5807
  * Generated from: lib/components/search-judicials/search-judicials.component.ts
@@ -7268,6 +7504,7 @@
7268
7504
  FindPersonComponent,
7269
7505
  SearchJudicialsComponent,
7270
7506
  FindLocationComponent,
7507
+ FindTaskNameComponent,
7271
7508
  SearchLocationComponent,
7272
7509
  FindServiceComponent,
7273
7510
  SearchServiceComponent,
@@ -8404,17 +8641,18 @@
8404
8641
  exports.ɵa = ExuiPageWrapperComponent;
8405
8642
  exports.ɵbl = FindLocationComponent;
8406
8643
  exports.ɵbh = FindPersonComponent;
8407
- exports.ɵbo = FindServiceComponent;
8644
+ exports.ɵbq = FindServiceComponent;
8645
+ exports.ɵbo = FindTaskNameComponent;
8408
8646
  exports.ɵbd = GenericFilterComponent;
8409
8647
  exports.ɵk = HmctsSessionDialogComponent;
8410
8648
  exports.ɵo = InviteUserFormComponent;
8411
8649
  exports.ɵn = InviteUserPermissionComponent;
8412
8650
  exports.ɵbc = LoadingSpinnerComponent;
8413
- exports.ɵbr = PaginationComponent;
8651
+ exports.ɵbt = PaginationComponent;
8414
8652
  exports.ɵbk = SearchJudicialsComponent;
8415
8653
  exports.ɵbm = SearchLocationComponent;
8416
- exports.ɵbp = SearchServiceComponent;
8417
- exports.ɵbq = SearchVenueComponent;
8654
+ exports.ɵbr = SearchServiceComponent;
8655
+ exports.ɵbs = SearchVenueComponent;
8418
8656
  exports.ɵv = SelectedCaseConfirmComponent;
8419
8657
  exports.ɵt = SelectedCaseListComponent;
8420
8658
  exports.ɵu = SelectedCaseComponent;
@@ -8433,29 +8671,29 @@
8433
8671
  exports.ɵg = FeatureToggleDirective;
8434
8672
  exports.ɵi = LetContext;
8435
8673
  exports.ɵj = LetDirective;
8436
- exports.ɵcb = GovUkCheckboxComponent;
8437
- exports.ɵch = GovUkCheckboxesComponent;
8438
- exports.ɵcg = GovUkDateComponent;
8439
- exports.ɵce = GovUkErrorMessageComponent;
8440
- exports.ɵcf = GovUkFieldsetComponent;
8441
- exports.ɵcm = GovUkFileUploadComponent;
8442
- exports.ɵcc = GovUkFormGroupWrapperComponent;
8443
- exports.ɵca = GovUkInputComponent;
8444
- exports.ɵcd = GovUkLabelComponent;
8445
- exports.ɵci = GovUkRadioComponent;
8446
- exports.ɵcj = GovUkRadiosComponent;
8447
- exports.ɵck = GovUkSelectComponent;
8448
- exports.ɵbz = GovukTableComponent;
8449
- exports.ɵcl = GovUkTextareaComponent;
8450
- exports.ɵby = HmctsBannerComponent;
8451
- exports.ɵbw = HmctsErrorSummaryComponent;
8452
- exports.ɵbs = HmctsIdentityBarComponent;
8453
- exports.ɵbx = HmctsMainWrapperComponent;
8454
- exports.ɵbt = HmctsPaginationComponent;
8455
- exports.ɵbv = HmctsPrimaryNavigationComponent;
8456
- exports.ɵbu = HmctsSubNavigationComponent;
8457
- exports.ɵcn = RemoveHostDirective;
8458
- exports.ɵco = CapitalizePipe;
8674
+ exports.ɵcd = GovUkCheckboxComponent;
8675
+ exports.ɵcj = GovUkCheckboxesComponent;
8676
+ exports.ɵci = GovUkDateComponent;
8677
+ exports.ɵcg = GovUkErrorMessageComponent;
8678
+ exports.ɵch = GovUkFieldsetComponent;
8679
+ exports.ɵco = GovUkFileUploadComponent;
8680
+ exports.ɵce = GovUkFormGroupWrapperComponent;
8681
+ exports.ɵcc = GovUkInputComponent;
8682
+ exports.ɵcf = GovUkLabelComponent;
8683
+ exports.ɵck = GovUkRadioComponent;
8684
+ exports.ɵcl = GovUkRadiosComponent;
8685
+ exports.ɵcm = GovUkSelectComponent;
8686
+ exports.ɵcb = GovukTableComponent;
8687
+ exports.ɵcn = GovUkTextareaComponent;
8688
+ exports.ɵca = HmctsBannerComponent;
8689
+ exports.ɵby = HmctsErrorSummaryComponent;
8690
+ exports.ɵbu = HmctsIdentityBarComponent;
8691
+ exports.ɵbz = HmctsMainWrapperComponent;
8692
+ exports.ɵbv = HmctsPaginationComponent;
8693
+ exports.ɵbx = HmctsPrimaryNavigationComponent;
8694
+ exports.ɵbw = HmctsSubNavigationComponent;
8695
+ exports.ɵcp = RemoveHostDirective;
8696
+ exports.ɵcq = CapitalizePipe;
8459
8697
  exports.ɵr = CaseSharingStateService;
8460
8698
  exports.ɵbg = CookieService;
8461
8699
  exports.ɵh = FeatureToggleService;
@@ -8463,6 +8701,7 @@
8463
8701
  exports.ɵbi = FindAPersonService;
8464
8702
  exports.ɵbn = LocationService;
8465
8703
  exports.ɵbj = SessionStorageService;
8704
+ exports.ɵbp = TaskNameService;
8466
8705
 
8467
8706
  Object.defineProperty(exports, '__esModule', { value: true });
8468
8707