diff --git a/src/app/components/player-registrations/player-registrations.component.html b/src/app/components/player-registrations/player-registrations.component.html
index f9f717c..09cf309 100644
--- a/src/app/components/player-registrations/player-registrations.component.html
+++ b/src/app/components/player-registrations/player-registrations.component.html
@@ -23,8 +23,8 @@
[matAutocomplete]="auto"
[disabled]="!tournamentRegistration.editable || !eventRegistration.registered"
[(ngModel)]="eventRegistration.partner"
- (ngModelChange)="onPartnerSearch($event, eventRegistration)">
-
+ (input)="onPartnerSearch($any($event.target).value, eventRegistration)"
+ [name]="'partner-' + eventRegistration.id">
@@ -36,19 +36,6 @@
}
-
}
diff --git a/src/app/components/player-registrations/player-registrations.component.ts b/src/app/components/player-registrations/player-registrations.component.ts
index 8da67e8..7356c4d 100644
--- a/src/app/components/player-registrations/player-registrations.component.ts
+++ b/src/app/components/player-registrations/player-registrations.component.ts
@@ -9,7 +9,6 @@ import {RegistrationService} from "../../service/registration.service";
import {MatCheckbox, MatCheckboxChange} from "@angular/material/checkbox";
import {EventRegistration, TournamentRegistration} from "../../model/tournamentRegistration";
import {MatOption} from "@angular/material/core";
-import {MatSelect} from "@angular/material/select";
import {MatIcon} from "@angular/material/icon";
import {MatAnchor, MatButton} from "@angular/material/button";
import {MatSnackBar} from "@angular/material/snack-bar";
@@ -17,7 +16,6 @@ import {FullNamePipe} from "../../pipes/fullname-pipe";
import {HeaderService} from "../../service/header.service";
import {MatAutocomplete, MatAutocompleteTrigger} from "@angular/material/autocomplete";
import {MatInput} from "@angular/material/input";
-import {NgForOf} from "@angular/common";
@Component({
selector: 'app-player-registrations',
@@ -58,6 +56,8 @@ export class PlayerRegistrationsComponent implements OnInit {
waitingForBackend: boolean = false;
+ private partnerSearchTerms: Map = new Map();
+
constructor(
private _snackBar: MatSnackBar,
private playerService: PlayerService,
@@ -82,11 +82,11 @@ export class PlayerRegistrationsComponent implements OnInit {
});
}
- private partnerSearchTerms: Map = new Map();
-
-// Add methods
- onPartnerSearch(searchTerm: string, eventRegistration: EventRegistration) {
- this.partnerSearchTerms.set(eventRegistration.id, searchTerm?.toLowerCase() || '');
+ onPartnerSearch(searchTerm: any, eventRegistration: EventRegistration) {
+ // Only treat as search if it's a string (typed input)
+ if (typeof searchTerm === 'string') {
+ this.partnerSearchTerms.set(eventRegistration.id, searchTerm?.toLowerCase() || '');
+ }
}
getFilteredPlayers(eventRegistration: EventRegistration): Player[] {
@@ -111,19 +111,10 @@ export class PlayerRegistrationsComponent implements OnInit {
onPartnerSelected(event: any, eventRegistration: EventRegistration) {
eventRegistration.partner = event.option.value;
+ // Clear the search term when a partner is selected
+ this.partnerSearchTerms.delete(eventRegistration.id);
}
- onPartnerInputFocus(eventRegistration: EventRegistration) {
- // If there's already a partner selected, use their name as initial filter
- if (eventRegistration.partner && this.allPlayers) {
- const partner = this.allPlayers.find(p => p.id === eventRegistration.partner);
- if (partner) {
- const partnerName = this.fullNamePipe.transform(partner);
- eventRegistration.partner = partnerName;
- this.partnerSearchTerms.set(eventRegistration.id, partnerName.toLowerCase());
- }
- }
- }
saveRegistration(tournamentRegistration: TournamentRegistration, event: MouseEvent) {
this.waitingForBackend = true;