Metadata Editing from the UI! (#1135)
* Added the skeleton code for layout, hooked up Age Rating, Publication Status, and Tags * Tweaked message of Scan service to Finished scan of to better indicate the total scan time * Hooked in foundation for person typeaheads * Fixed people not populating typeaheads on load * For manga/comics, when parsing, set the SeriesSort from ComicInfo if it exists. * Implemented the ability to override and create new genre tags. Code is ready to flush out the rest. * Ability to update metadata from the UI is hooked up. Next is locking. * Updated typeahead to allow for non-multiple usage. Implemented ability to update Language tag in Series Metadata. * Fixed a bug in GetContinuePoint for a case where we have Volumes, Loose Leaf chapters and no read progress. * Added ETag headers on Images to allow for better caching (bookmarks and images in manga reader) * Built out UI code to show locked indication to user * Implemented Series locking and refactored a lot of styles in typeahead to make the lock setting work, plus misc cleanup. * Added locked properties to dtos. Updated typeahead loading indicator to not interfere with close button if present * Hooked up locking flags in UI * Integrated regular field locking/unlocking * Removed some old code * Prevent input group from wrapping * Implemented some basic layout for metadata on volume/chapter card modal. Refactored out all metadata from Chapter object in terms of UI and put into a separate call to ensure speedy delivery and simplicity of code. * Refactored code to hide covers section if not an admin * Implemented ability to modify a chapter/volume cover from the detail modal * Removed a few variables and change cover image modal * Added bookmark to single chapter view * Put a temp fix in for a ngb v12 z-index bug (reported). Bumped ngb to 12.0 stable and fixed some small rendering bugs * loading buttons ftw * Lots of cleanup, looks like the story is finished * Changed action name from Info to Details * Style tweaks * Fixed an issue where Summary would assume it's locked due to a subscription firing on setting the model * Fixed some misc bugs * Code smells Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
This commit is contained in:
parent
47a92a2e01
commit
ba77954d5c
60 changed files with 3605 additions and 723 deletions
26
UI/Web/src/app/pipe/person-role.pipe.ts
Normal file
26
UI/Web/src/app/pipe/person-role.pipe.ts
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import { PersonRole } from '../_models/person';
|
||||
|
||||
@Pipe({
|
||||
name: 'personRole'
|
||||
})
|
||||
export class PersonRolePipe implements PipeTransform {
|
||||
|
||||
transform(value: PersonRole): string {
|
||||
switch (value) {
|
||||
case PersonRole.Artist: return 'Artist';
|
||||
case PersonRole.Character: return 'Character';
|
||||
case PersonRole.Colorist: return 'Colorist';
|
||||
case PersonRole.CoverArtist: return 'Cover Artist';
|
||||
case PersonRole.Editor: return 'Editor';
|
||||
case PersonRole.Inker: return 'Inker';
|
||||
case PersonRole.Letterer: return 'Letterer';
|
||||
case PersonRole.Penciller: return 'Penciller';
|
||||
case PersonRole.Publisher: return 'Publisher';
|
||||
case PersonRole.Writer: return 'Writer';
|
||||
case PersonRole.Other: return '';
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,18 +1,24 @@
|
|||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { FilterPipe } from './filter.pipe';
|
||||
import { PersonRolePipe } from './person-role.pipe';
|
||||
import { PublicationStatusPipe } from './publication-status.pipe';
|
||||
|
||||
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
FilterPipe
|
||||
FilterPipe,
|
||||
PersonRolePipe,
|
||||
PublicationStatusPipe
|
||||
],
|
||||
imports: [
|
||||
CommonModule,
|
||||
],
|
||||
exports: [
|
||||
FilterPipe
|
||||
FilterPipe,
|
||||
PersonRolePipe,
|
||||
PublicationStatusPipe
|
||||
]
|
||||
})
|
||||
export class PipeModule { }
|
||||
|
|
|
|||
19
UI/Web/src/app/pipe/publication-status.pipe.ts
Normal file
19
UI/Web/src/app/pipe/publication-status.pipe.ts
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
import { Pipe, PipeTransform } from '@angular/core';
|
||||
import { PublicationStatus } from '../_models/metadata/publication-status';
|
||||
|
||||
@Pipe({
|
||||
name: 'publicationStatus'
|
||||
})
|
||||
export class PublicationStatusPipe implements PipeTransform {
|
||||
|
||||
transform(value: PublicationStatus): string {
|
||||
switch (value) {
|
||||
case PublicationStatus.OnGoing: return 'Ongoing';
|
||||
case PublicationStatus.Hiatus: return 'Hiatus';
|
||||
case PublicationStatus.Completed: return 'Completed';
|
||||
|
||||
default: return '';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue