The changes here fix issue seen with agency picker in single select mode in sam-front-end3. If the ngModel of the autocomplete is changed from an external component (the agency picker modal in this case), that change was not reflected in the autocomplete input field. This is because the autocomplete.component.ts was modifying the model in such a way that the reference to the model itself was not changed. So the internal component - autocomplete-search.component.ts would not fire its writeValue method to update the input because the reference to its ngModel was not changed, just the items array in the ngModel object. This change resolves the issue by letting autocomplete.component.ts create a new instance of the model object rather than just modifying the items array, which forces the autocomplete-search.component.ts to register the change in ngModel value, and update accordingly.
Type of Change (Select One and Apply Github Label)
[ x ] Bug fix (non-breaking change which fixes an issue) -> Apply bugfix label
[ ] New feature (non-breaking change which adds functionality) -> Apply enhancement label
[ ] Breaking change (fix or feature that would cause existing functionality to change) -> Apply breaking label
The changes here fix issue seen with agency picker in single select mode in sam-front-end3. If the ngModel of the autocomplete is changed from an external component (the agency picker modal in this case), that change was not reflected in the autocomplete input field. This is because the
autocomplete.component.ts
was modifying the model in such a way that the reference to the model itself was not changed. So the internal component -autocomplete-search.component.ts
would not fire its writeValue method to update the input because the reference to its ngModel was not changed, just the items array in the ngModel object. This change resolves the issue by lettingautocomplete.component.ts
create a new instance of the model object rather than just modifying the items array, which forces theautocomplete-search.component.ts
to register the change in ngModel value, and update accordingly.Type of Change (Select One and Apply Github Label)
Screenshots (if appropriate):
Which browsers have you tested?
Checklist: