Skip to content

Commit 39017bf

Browse files
committed
Add more detail to search results
Adds getSummary to the MediaTypeModel.ts abstract class, which allows individual models to give more detail to better allow people to pick the right result
1 parent e478875 commit 39017bf

File tree

7 files changed

+23
-1
lines changed

7 files changed

+23
-1
lines changed

src/modals/MediaDbSearchResultModal.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
2929
// Renders each suggestion item.
3030
renderElement(item: MediaTypeModel, el: HTMLElement) {
3131
el.createEl('div', {text: this.plugin.mediaTypeManager.getFileName(item)});
32-
el.createEl('small', {text: `${item.englishTitle}\n`});
32+
el.createEl('small', {text: `${item.getSummary()}\n`});
3333
el.createEl('small', {text: `${item.type.toUpperCase() + (item.subType ? ` (${item.subType})` : '')} from ${item.dataSource}`});
3434
}
3535

src/models/GameModel.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,8 @@ export class GameModel extends MediaTypeModel {
4242
return MediaType.Game;
4343
}
4444

45+
getSummary(): string {
46+
return this.englishTitle + ' (' + this.year + ')';
47+
}
48+
4549
}

src/models/MediaTypeModel.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ export abstract class MediaTypeModel {
1414

1515
abstract getMediaType(): MediaType;
1616

17+
//a string that contains enough info to disambiguate from similar media
18+
abstract getSummary(): string;
19+
1720
abstract getTags(): string[];
1821

1922
toMetaDataObject(): object {

src/models/MovieModel.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,7 @@ export class MovieModel extends MediaTypeModel {
4444
return MediaType.Movie;
4545
}
4646

47+
getSummary(): string {
48+
return this.englishTitle + ' (' + this.year + ')';
49+
}
4750
}

src/models/MusicReleaseModel.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,10 @@ export class MusicReleaseModel extends MediaTypeModel {
3737
return MediaType.MusicRelease;
3838
}
3939

40+
getSummary(): string {
41+
var summary = this.title + ' (' + this.year + ')';
42+
if(this.artists.length > 0)
43+
summary += ' - ' + this.artists.join(', ')
44+
return summary;
45+
}
4046
}

src/models/SeriesModel.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,7 @@ export class SeriesModel extends MediaTypeModel {
4747
return MediaType.Series;
4848
}
4949

50+
getSummary(): string {
51+
return this.title + ' (' + this.year + ')';
52+
}
5053
}

src/models/WikiModel.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,7 @@ export class WikiModel extends MediaTypeModel {
4343
return copy;
4444
}
4545

46+
getSummary(): string {
47+
return this.title;
48+
}
4649
}

0 commit comments

Comments
 (0)