From 80e9738f672a4f746c9edbcaa97047ba574ab234 Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Sun, 16 Jan 2022 13:17:29 -0800 Subject: [PATCH] Metadata Tags (#947) * Implemented the ability to click a metadata tag (in series detail) and load a pre-filtered view. Apply still needs to be implemented (preset load is out of sync with external filter) * Refactored people to properly use typeahead so duplicates don't happen and use an observable chain so we can update the screen correctly * Many refactoring to ensure that the timings for filtering always works --- API/DTOs/SeriesMetadataDto.cs | 2 +- API/Data/Repositories/SeriesRepository.cs | 1 + API/Helpers/AutoMapperProfiles.cs | 2 +- UI/Web/src/app/_models/series-metadata.ts | 2 +- .../card-detail-layout.component.html | 50 +-- .../card-detail-layout.component.ts | 408 ++++++++---------- .../collection-detail.component.ts | 8 +- .../library-detail.component.ts | 12 +- .../series-metadata-detail.component.html | 44 +- .../series-metadata-detail.component.ts | 11 +- .../app/shared/_services/utility.service.ts | 113 +++++ .../person-badge/person-badge.component.html | 13 +- .../person-badge/person-badge.component.ts | 1 + 13 files changed, 374 insertions(+), 293 deletions(-) diff --git a/API/DTOs/SeriesMetadataDto.cs b/API/DTOs/SeriesMetadataDto.cs index bc1ff9eaa..fbee305ac 100644 --- a/API/DTOs/SeriesMetadataDto.cs +++ b/API/DTOs/SeriesMetadataDto.cs @@ -22,7 +22,7 @@ namespace API.DTOs /// public ICollection Tags { get; set; } public ICollection Writers { get; set; } = new List(); - public ICollection Artists { get; set; } = new List(); + public ICollection CoverArtists { get; set; } = new List(); public ICollection Publishers { get; set; } = new List(); public ICollection Characters { get; set; } = new List(); public ICollection Pencillers { get; set; } = new List(); diff --git a/API/Data/Repositories/SeriesRepository.cs b/API/Data/Repositories/SeriesRepository.cs index 2395bf987..b6070b9d9 100644 --- a/API/Data/Repositories/SeriesRepository.cs +++ b/API/Data/Repositories/SeriesRepository.cs @@ -452,6 +452,7 @@ public class SeriesRepository : ISeriesRepository allPeopleIds.AddRange(filter.Publisher); allPeopleIds.AddRange(filter.CoverArtist); allPeopleIds.AddRange(filter.Translators); + //allPeopleIds.AddRange(filter.Artist); hasPeopleFilter = allPeopleIds.Count > 0; hasGenresFilter = filter.Genres.Count > 0; diff --git a/API/Helpers/AutoMapperProfiles.cs b/API/Helpers/AutoMapperProfiles.cs index 5bbdb7af1..0b3f89161 100644 --- a/API/Helpers/AutoMapperProfiles.cs +++ b/API/Helpers/AutoMapperProfiles.cs @@ -63,7 +63,7 @@ namespace API.Helpers .ForMember(dest => dest.Writers, opt => opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.Writer))) - .ForMember(dest => dest.Artists, + .ForMember(dest => dest.CoverArtists, opt => opt.MapFrom(src => src.People.Where(p => p.Role == PersonRole.CoverArtist))) .ForMember(dest => dest.Characters, diff --git a/UI/Web/src/app/_models/series-metadata.ts b/UI/Web/src/app/_models/series-metadata.ts index 532dc1b9e..e143a9639 100644 --- a/UI/Web/src/app/_models/series-metadata.ts +++ b/UI/Web/src/app/_models/series-metadata.ts @@ -12,7 +12,7 @@ export interface SeriesMetadata { tags: Array; collectionTags: Array; writers: Array; - artists: Array; + coverArtists: Array; publishers: Array; characters: Array; pencillers: Array; diff --git a/UI/Web/src/app/cards/card-detail-layout/card-detail-layout.component.html b/UI/Web/src/app/cards/card-detail-layout/card-detail-layout.component.html index a5fd3269d..7ecb8d71a 100644 --- a/UI/Web/src/app/cards/card-detail-layout/card-detail-layout.component.html +++ b/UI/Web/src/app/cards/card-detail-layout/card-detail-layout.component.html @@ -61,10 +61,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -117,13 +117,13 @@
- + - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}}
@@ -134,10 +134,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}}
@@ -148,10 +148,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -162,10 +162,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -176,10 +176,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -190,10 +190,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -204,10 +204,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -218,10 +218,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -232,10 +232,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -246,10 +246,10 @@ - {{item.title}} + {{item.name}} - {{item.title}} + {{item.name}} @@ -328,9 +328,9 @@