diff --git a/src/app/shared/components/address-autocomplete/address-autocomplete.component.html b/src/app/shared/components/address-autocomplete/address-autocomplete.component.html index 537de506db8e233b34cf5ccf81e12f9c98f47f9a..043c1c0e698075ac29d83fd9205a0da20d422ca4 100644 --- a/src/app/shared/components/address-autocomplete/address-autocomplete.component.html +++ b/src/app/shared/components/address-autocomplete/address-autocomplete.component.html @@ -6,10 +6,11 @@ placeholder="ex: 20 rue du lac, Lyon" (input)="onSearchChange($event.target.value)" class="form-input" + autocomplete="off" #searchAddress /> </div> - <div class="autocomplete-items"> + <div class="autocomplete-items" *ngIf="!isAlreadySearch"> <p *ngFor="let hit of data" (click)="selectedResult(hit)" class="autocomplete-item"> {{ parseHitToAddress(hit) }} </p> diff --git a/src/app/shared/components/address-autocomplete/address-autocomplete.component.ts b/src/app/shared/components/address-autocomplete/address-autocomplete.component.ts index a5281bfd450b2615d38a36d17986d3120ee13159..40dd0dd31b44e68803ef53b173aead223fc582f6 100644 --- a/src/app/shared/components/address-autocomplete/address-autocomplete.component.ts +++ b/src/app/shared/components/address-autocomplete/address-autocomplete.component.ts @@ -10,6 +10,7 @@ import { AddressService } from '../../service/address.service'; export class AddressAutocompleteComponent implements OnInit { public readonly AUTOCOMPLETE_NBR = 5; public data = []; + public isAlreadySearch = false; @ViewChild('searchAddress', { static: true }) searchAddress: ElementRef; @Output() selectedAddress: EventEmitter<Address> = new EventEmitter<Address>(); @Output() inputAddress: EventEmitter<any> = new EventEmitter<any>(); @@ -24,11 +25,14 @@ export class AddressAutocompleteComponent implements OnInit { } } public onSearchChange(searchString: string) { + if (!this.isAlreadySearch) { + this.isAlreadySearch = true; + this.addressService.searchAddress(searchString).subscribe((data) => { + this.data = data.hits.hits.slice(0, this.AUTOCOMPLETE_NBR); + this.isAlreadySearch = false; + }); + } this.inputAddress.emit(); - - this.addressService.searchAddress(searchString).subscribe((data) => { - this.data = data.hits.hits.slice(0, this.AUTOCOMPLETE_NBR); - }); } public selectedResult(hit: any): void {