Ability to Search on Localized Name in Series Relationships (#3560)

This commit is contained in:
Fesaa 2025-03-23 14:38:19 +01:00 committed by GitHub
parent e1e00c8c47
commit acaf308c2e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 12 additions and 5 deletions

View File

@ -17,8 +17,13 @@
<ng-template #badgeItem let-item let-position="idx">
{{item.name}} ({{libraryNames[item.libraryId]}})
</ng-template>
<ng-template #optionItem let-item let-position="idx">
{{item.name}} ({{libraryNames[item.libraryId]}})
<ng-template #optionItem let-item let-position="idx" let-value="value">
@if (item.name.toLowerCase().trim().indexOf(value.toLowerCase().trim()) >= 0) {
{{item.name}}
} @else {
{{item.localizedName}}
}
({{libraryNames[item.libraryId]}})
</ng-template>
</app-typeahead>
</div>

View File

@ -153,7 +153,9 @@ export class EditSeriesRelationComponent implements OnInit {
);
seriesSettings.compareFn = (options: SearchResult[], filter: string) => {
return options.filter(m => this.utilityService.filter(m.name, filter));
return options.filter(m => {
return this.utilityService.filter(m.name, filter) || this.utilityService.filter(m.localizedName, filter);
});
}
seriesSettings.selectionCompareFn = (a: SearchResult, b: SearchResult) => {

View File

@ -8,7 +8,7 @@
</ng-container>
<div class="typeahead-input" [ngClass]="{'disabled': disabled}" (click)="onInputFocus($event)">
<app-tag-badge *ngFor="let option of optionSelection.selected(); let i = index" fillStyle="filled">
<ng-container [ngTemplateOutlet]="badgeTemplate" [ngTemplateOutletContext]="{ $implicit: option, idx: i }"></ng-container>
<ng-container [ngTemplateOutlet]="badgeTemplate" [ngTemplateOutletContext]="{ $implicit: option, idx: i, value: typeaheadControl.value }"></ng-container>
<i class="fa fa-times" *ngIf="!disabled" (click)="toggleSelection(option)" tabindex="0" [attr.aria-label]="t('close')"></i>
</app-tag-badge>
<input #input [id]="settings.id" type="text" autocomplete="off" formControlName="typeahead" *ngIf="!disabled">
@ -31,7 +31,7 @@
<li *ngFor="let option of options; let index = index; trackBy: settings.trackByIdentityFn" (click)="handleOptionClick(option)"
class="list-group-item" role="option" [attr.data-index]="index"
(mouseenter)="focusedIndex = index + (showAddItem ? 1 : 0); updateHighlight();">
<ng-container [ngTemplateOutlet]="optionTemplate" [ngTemplateOutletContext]="{ $implicit: option, idx: index }"></ng-container>
<ng-container [ngTemplateOutlet]="optionTemplate" [ngTemplateOutletContext]="{ $implicit: option, idx: index, value: typeaheadControl.value }"></ng-container>
</li>
<li *ngIf="options.length === 0 && !showAddItem" class="list-group-item no-hover" role="status">
{{t('no-data')}}{{this.settings.addIfNonExisting ? t('add-custom-item') : ''}}