{ "version": 3, "sources": ["src/app/_services/reading-list.service.ts", "src/app/cards/_modals/bulk-add-to-collection/bulk-add-to-collection.component.ts", "src/app/cards/_modals/bulk-add-to-collection/bulk-add-to-collection.component.html", "src/app/reading-list/_modals/add-to-list-modal/add-to-list-modal.component.ts", "src/app/reading-list/_modals/add-to-list-modal/add-to-list-modal.component.html", "src/app/reading-list/_modals/edit-reading-list-modal/edit-reading-list-modal.component.ts", "src/app/reading-list/_modals/edit-reading-list-modal/edit-reading-list-modal.component.html", "src/app/_services/action.service.ts", "src/app/shared/a11y-click.directive.ts", "src/app/shared/badge-expander/badge-expander.component.ts", "src/app/shared/badge-expander/badge-expander.component.html", "src/app/series-detail/_components/metadata-detail/metadata-detail.component.ts", "src/app/series-detail/_components/metadata-detail/metadata-detail.component.html", "src/app/shared/person-badge/person-badge.component.ts", "src/app/shared/person-badge/person-badge.component.html", "src/app/_single-module/series-preview-drawer/series-preview-drawer.component.ts", "src/app/_single-module/series-preview-drawer/series-preview-drawer.component.html", "src/app/cards/series-card/series-card.component.ts", "src/app/cards/series-card/series-card.component.html"], "sourcesContent": ["import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UtilityService } from '../shared/_services/utility.service';\r\nimport { Person } from '../_models/metadata/person';\r\nimport { PaginatedResult } from '../_models/pagination';\r\nimport { ReadingList, ReadingListItem } from '../_models/reading-list';\r\nimport { CblImportSummary } from '../_models/reading-list/cbl/cbl-import-summary';\r\nimport { TextResonse } from '../_types/text-response';\r\nimport { ActionItem } from './action-factory.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReadingListService {\r\n\r\n baseUrl = environment.apiUrl;\r\n\r\n constructor(private httpClient: HttpClient, private utilityService: UtilityService) { }\r\n\r\n getReadingList(readingListId: number) {\r\n return this.httpClient.get(this.baseUrl + 'readinglist?readingListId=' + readingListId);\r\n }\r\n\r\n getReadingLists(includePromoted: boolean = true, sortByLastModified: boolean = false, pageNum?: number, itemsPerPage?: number) {\r\n let params = new HttpParams();\r\n params = this.utilityService.addPaginationIfExists(params, pageNum, itemsPerPage);\r\n\r\n return this.httpClient.post>(this.baseUrl + 'readinglist/lists?includePromoted=' + includePromoted\r\n + '&sortByLastModified=' + sortByLastModified, {}, {observe: 'response', params}).pipe(\r\n map((response: any) => {\r\n return this.utilityService.createPaginatedResult(response, new PaginatedResult());\r\n })\r\n );\r\n }\r\n\r\n getReadingListsForSeries(seriesId: number) {\r\n return this.httpClient.get(this.baseUrl + 'readinglist/lists-for-series?seriesId=' + seriesId);\r\n }\r\n\r\n getListItems(readingListId: number) {\r\n return this.httpClient.get(this.baseUrl + 'readinglist/items?readingListId=' + readingListId);\r\n }\r\n\r\n createList(title: string) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/create', {title});\r\n }\r\n\r\n update(model: {readingListId: number, title?: string, summary?: string, promoted: boolean}) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update', model, TextResonse);\r\n }\r\n\r\n updateByMultiple(readingListId: number, seriesId: number, volumeIds: Array, chapterIds?: Array) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-by-multiple', {readingListId, seriesId, volumeIds, chapterIds}, TextResonse);\r\n }\r\n\r\n updateByMultipleSeries(readingListId: number, seriesIds: Array) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-by-multiple-series', {readingListId, seriesIds}, TextResonse);\r\n }\r\n\r\n updateBySeries(readingListId: number, seriesId: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-by-series', {readingListId, seriesId}, TextResonse);\r\n }\r\n\r\n updateByVolume(readingListId: number, seriesId: number, volumeId: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-by-volume', {readingListId, seriesId, volumeId}, TextResonse);\r\n }\r\n\r\n updateByChapter(readingListId: number, seriesId: number, chapterId: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-by-chapter', {readingListId, seriesId, chapterId}, TextResonse);\r\n }\r\n\r\n delete(readingListId: number) {\r\n return this.httpClient.delete(this.baseUrl + 'readinglist?readingListId=' + readingListId, TextResonse);\r\n }\r\n\r\n updatePosition(readingListId: number, readingListItemId: number, fromPosition: number, toPosition: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/update-position', {readingListId, readingListItemId, fromPosition, toPosition}, TextResonse);\r\n }\r\n\r\n deleteItem(readingListId: number, readingListItemId: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/delete-item', {readingListId, readingListItemId}, TextResonse);\r\n }\r\n\r\n removeRead(readingListId: number) {\r\n return this.httpClient.post(this.baseUrl + 'readinglist/remove-read?readingListId=' + readingListId, {}, TextResonse);\r\n }\r\n\r\n actionListFilter(action: ActionItem, readingList: ReadingList, isAdmin: boolean) {\r\n if (readingList?.promoted && !isAdmin) return false;\r\n return true;\r\n }\r\n\r\n nameExists(name: string) {\r\n return this.httpClient.get(this.baseUrl + 'readinglist/name-exists?name=' + name);\r\n }\r\n\r\n validateCbl(form: FormData) {\r\n return this.httpClient.post(this.baseUrl + 'cbl/validate', form);\r\n }\r\n\r\n importCbl(form: FormData) {\r\n return this.httpClient.post(this.baseUrl + 'cbl/import', form);\r\n }\r\n\r\n getCharacters(readingListId: number) {\r\n return this.httpClient.get>(this.baseUrl + 'readinglist/characters?readingListId=' + readingListId);\r\n }\r\n}\r\n", "import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n inject,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {FormGroup, FormControl, ReactiveFormsModule} from '@angular/forms';\r\nimport {NgbActiveModal, NgbModalModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CollectionTag } from 'src/app/_models/collection-tag';\r\nimport { ReadingList } from 'src/app/_models/reading-list';\r\nimport { CollectionTagService } from 'src/app/_services/collection-tag.service';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {FilterPipe} from \"../../../_pipes/filter.pipe\";\r\nimport {translate, TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\r\n\r\n@Component({\r\n selector: 'app-bulk-add-to-collection',\r\n standalone: true,\r\n imports: [CommonModule, ReactiveFormsModule, FilterPipe, NgbModalModule, TranslocoDirective],\r\n templateUrl: './bulk-add-to-collection.component.html',\r\n styleUrls: ['./bulk-add-to-collection.component.scss'],\r\n encapsulation: ViewEncapsulation.None, // This is needed as per the bootstrap modal documentation to get styles to work.\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BulkAddToCollectionComponent implements OnInit, AfterViewInit {\r\n\r\n @Input({required: true}) title!: string;\r\n /**\r\n * Series Ids to add to Collection Tag\r\n */\r\n @Input() seriesIds: Array = [];\r\n\r\n /**\r\n * All existing collections sorted by recent use date\r\n */\r\n lists: Array = [];\r\n loading: boolean = false;\r\n listForm: FormGroup = new FormGroup({});\r\n\r\n collectionTitleTrackby = (index: number, item: CollectionTag) => `${item.title}`;\r\n\r\n\r\n @ViewChild('title') inputElem!: ElementRef;\r\n\r\n\r\n constructor(private modal: NgbActiveModal, private collectionService: CollectionTagService,\r\n private toastr: ToastrService, private readonly cdRef: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.listForm.addControl('title', new FormControl(this.title, []));\r\n this.listForm.addControl('filterQuery', new FormControl('', []));\r\n\r\n this.loading = true;\r\n this.cdRef.markForCheck();\r\n this.collectionService.allTags().subscribe(tags => {\r\n this.lists = tags;\r\n this.loading = false;\r\n this.cdRef.markForCheck();\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Shift focus to input\r\n if (this.inputElem) {\r\n this.inputElem.nativeElement.select();\r\n this.cdRef.markForCheck();\r\n }\r\n }\r\n\r\n close() {\r\n this.modal.close();\r\n }\r\n\r\n create() {\r\n const tagName = this.listForm.value.title;\r\n this.collectionService.addByMultiple(0, this.seriesIds, tagName).subscribe(() => {\r\n this.toastr.success(translate('toasts.series-added-to-collection', {collectionName: tagName}));\r\n this.modal.close();\r\n });\r\n }\r\n\r\n addToCollection(tag: CollectionTag) {\r\n if (this.seriesIds.length === 0) return;\r\n\r\n this.collectionService.addByMultiple(tag.id, this.seriesIds, '').subscribe(() => {\r\n this.toastr.success(translate('toasts.series-added-to-collection', {collectionName: tag.title}));\r\n this.modal.close();\r\n });\r\n\r\n }\r\n\r\n filterList = (listItem: ReadingList) => {\r\n return listItem.title.toLowerCase().indexOf((this.listForm.value.filterQuery || '').toLowerCase()) >= 0;\r\n }\r\n\r\n}\r\n", "\r\n\r\n
\r\n

{{t('title')}}

\r\n \r\n
\r\n
\r\n
\r\n
= 5\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{collectionTag.title}} \r\n
  • \r\n
  • {{t('no-data')}}
  • \r\n
  • \r\n
    \r\n {{t('loading')}}\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n", "import {AfterViewInit, Component, ElementRef, inject, Input, OnInit, ViewChild} from '@angular/core';\r\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ReadingList } from 'src/app/_models/reading-list';\r\nimport { ReadingListService } from 'src/app/_services/reading-list.service';\r\nimport { FilterPipe } from '../../../_pipes/filter.pipe';\r\nimport { NgIf, NgFor } from '@angular/common';\r\nimport {TranslocoDirective, TranslocoService} from \"@ngneat/transloco\";\r\n\r\nexport enum ADD_FLOW {\r\n Series = 0,\r\n Volume = 1,\r\n Chapter = 2,\r\n Multiple = 3,\r\n Multiple_Series\r\n}\r\n\r\n@Component({\r\n selector: 'app-add-to-list-modal',\r\n templateUrl: './add-to-list-modal.component.html',\r\n styleUrls: ['./add-to-list-modal.component.scss'],\r\n standalone: true,\r\n imports: [ReactiveFormsModule, NgIf, NgFor, FilterPipe, TranslocoDirective]\r\n})\r\nexport class AddToListModalComponent implements OnInit, AfterViewInit {\r\n\r\n @Input({required: true}) title!: string;\r\n /**\r\n * Only used in Series flow\r\n */\r\n @Input() seriesId?: number;\r\n /**\r\n * Only used in Volume flow\r\n */\r\n @Input() volumeId?: number;\r\n /**\r\n * Only used in Chapter flow\r\n */\r\n @Input() chapterId?: number;\r\n /**\r\n * Only used in Multiple flow\r\n */\r\n @Input() volumeIds?: Array;\r\n /**\r\n * Only used in Multiple flow\r\n */\r\n @Input() chapterIds?: Array;\r\n /**\r\n * Only used in Multiple_Series flow\r\n */\r\n @Input() seriesIds?: Array;\r\n\r\n /**\r\n * Determines which Input is required and which API is used to associate to the Reading List\r\n */\r\n @Input({required: true}) type!: ADD_FLOW;\r\n\r\n /**\r\n * All existing reading lists sorted by recent use date\r\n */\r\n lists: Array = [];\r\n loading: boolean = false;\r\n listForm: FormGroup = new FormGroup({});\r\n\r\n @ViewChild('title') inputElem!: ElementRef;\r\n\r\n filterList = (listItem: ReadingList) => {\r\n return listItem.title.toLowerCase().indexOf((this.listForm.value.filterQuery || '').toLowerCase()) >= 0;\r\n }\r\n\r\n translocoService = inject(TranslocoService);\r\n\r\n\r\n constructor(private modal: NgbActiveModal, private readingListService: ReadingListService, private toastr: ToastrService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n this.listForm.addControl('title', new FormControl(this.title, []));\r\n this.listForm.addControl('filterQuery', new FormControl('', []));\r\n\r\n this.loading = true;\r\n this.readingListService.getReadingLists(false, true).subscribe(lists => {\r\n this.lists = lists.result;\r\n this.loading = false;\r\n });\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n // Shift focus to input\r\n if (this.inputElem) {\r\n this.inputElem.nativeElement.select();\r\n }\r\n }\r\n\r\n close() {\r\n this.modal.close();\r\n }\r\n\r\n create() {\r\n this.readingListService.createList(this.listForm.value.title).subscribe(list => {\r\n this.addToList(list);\r\n });\r\n }\r\n\r\n addToList(readingList: ReadingList) {\r\n\r\n if (this.type === ADD_FLOW.Multiple_Series && this.seriesIds !== undefined) {\r\n this.readingListService.updateByMultipleSeries(readingList.id, this.seriesIds).subscribe(() => {\r\n this.toastr.success(this.translocoService.translate('toasts.series-added-to-reading-list'));\r\n this.modal.close();\r\n });\r\n }\r\n\r\n if (this.seriesId === undefined) return;\r\n\r\n if (this.type === ADD_FLOW.Series && this.seriesId !== undefined) {\r\n this.readingListService.updateBySeries(readingList.id, this.seriesId).subscribe(() => {\r\n this.toastr.success(this.translocoService.translate('toasts.series-added-to-reading-list'));\r\n this.modal.close();\r\n });\r\n } else if (this.type === ADD_FLOW.Volume && this.volumeId !== undefined) {\r\n this.readingListService.updateByVolume(readingList.id, this.seriesId, this.volumeId).subscribe(() => {\r\n this.toastr.success(this.translocoService.translate('toasts.volumes-added-to-reading-list'));\r\n this.modal.close();\r\n });\r\n } else if (this.type === ADD_FLOW.Chapter && this.chapterId !== undefined) {\r\n this.readingListService.updateByChapter(readingList.id, this.seriesId, this.chapterId).subscribe(() => {\r\n this.toastr.success(this.translocoService.translate('toasts.chapter-added-to-reading-list'));\r\n this.modal.close();\r\n });\r\n } else if (this.type === ADD_FLOW.Multiple && this.volumeIds !== undefined && this.chapterIds !== undefined) {\r\n this.readingListService.updateByMultiple(readingList.id, this.seriesId, this.volumeIds, this.chapterIds).subscribe(() => {\r\n this.toastr.success(this.translocoService.translate('toasts.multiple-added-to-reading-list'));\r\n this.modal.close();\r\n });\r\n }\r\n\r\n }\r\n}\r\n", "\r\n\r\n
\r\n

{{t('title')}}

\r\n \r\n
\r\n
\r\n
\r\n
= 5\">\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{readingList.title}} \r\n
  • \r\n
  • {{t('no-data')}}
  • \r\n
  • \r\n
    \r\n {{t('loading')}}\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n", "import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n DestroyRef,\r\n inject,\r\n Input,\r\n OnInit\r\n} from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgbActiveModal, NgbNav, NgbNavItem, NgbNavItemRole, NgbNavLink, NgbNavContent, NgbTooltip, NgbNavOutlet } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { debounceTime, distinctUntilChanged, forkJoin, switchMap, tap } from 'rxjs';\r\nimport { Breakpoint, UtilityService } from 'src/app/shared/_services/utility.service';\r\nimport { ReadingList } from 'src/app/_models/reading-list';\r\nimport { AccountService } from 'src/app/_services/account.service';\r\nimport { ImageService } from 'src/app/_services/image.service';\r\nimport { ReadingListService } from 'src/app/_services/reading-list.service';\r\nimport { UploadService } from 'src/app/_services/upload.service';\r\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\r\nimport { CoverImageChooserComponent } from '../../../cards/cover-image-chooser/cover-image-chooser.component';\r\nimport { NgIf, NgTemplateOutlet, AsyncPipe } from '@angular/common';\r\nimport {translate, TranslocoDirective} from \"@ngneat/transloco\";\r\n\r\nenum TabID {\r\n General = 'general-tab',\r\n CoverImage = 'cover-image-tab'\r\n}\r\n\r\n@Component({\r\n selector: 'app-edit-reading-list-modal',\r\n templateUrl: './edit-reading-list-modal.component.html',\r\n styleUrls: ['./edit-reading-list-modal.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [NgbNav, NgbNavItem, NgbNavItemRole, NgbNavLink, NgbNavContent, ReactiveFormsModule, NgIf, NgbTooltip, NgTemplateOutlet, CoverImageChooserComponent, NgbNavOutlet, AsyncPipe, TranslocoDirective]\r\n})\r\nexport class EditReadingListModalComponent implements OnInit {\r\n\r\n @Input({required: true}) readingList!: ReadingList;\r\n private readonly destroyRef = inject(DestroyRef);\r\n reviewGroup!: FormGroup;\r\n\r\n coverImageIndex: number = 0;\r\n /**\r\n * Url of the selected cover\r\n */\r\n selectedCover: string = '';\r\n coverImageLocked: boolean = false;\r\n imageUrls: Array = [];\r\n active = TabID.General;\r\n\r\n get Breakpoint() { return Breakpoint; }\r\n get TabID() { return TabID; }\r\n\r\n constructor(private ngModal: NgbActiveModal, private readingListService: ReadingListService,\r\n public utilityService: UtilityService, private uploadService: UploadService, private toastr: ToastrService,\r\n private imageService: ImageService, private readonly cdRef: ChangeDetectorRef, public accountService: AccountService) { }\r\n\r\n ngOnInit(): void {\r\n this.reviewGroup = new FormGroup({\r\n title: new FormControl(this.readingList.title, { nonNullable: true, validators: [Validators.required] }),\r\n summary: new FormControl(this.readingList.summary, { nonNullable: true, validators: [] }),\r\n promoted: new FormControl(this.readingList.promoted, { nonNullable: true, validators: [] }),\r\n startingMonth: new FormControl(this.readingList.startingMonth, { nonNullable: true, validators: [Validators.min(1), Validators.max(12)] }),\r\n startingYear: new FormControl(this.readingList.startingYear, { nonNullable: true, validators: [Validators.min(1000)] }),\r\n endingMonth: new FormControl(this.readingList.endingMonth, { nonNullable: true, validators: [Validators.min(1), Validators.max(12)] }),\r\n endingYear: new FormControl(this.readingList.endingYear, { nonNullable: true, validators: [Validators.min(1000)] }),\r\n });\r\n\r\n this.coverImageLocked = this.readingList.coverImageLocked;\r\n\r\n this.reviewGroup.get('title')?.valueChanges.pipe(\r\n debounceTime(100),\r\n distinctUntilChanged(),\r\n switchMap(name => this.readingListService.nameExists(name)),\r\n tap(exists => {\r\n const isExistingName = this.reviewGroup.get('title')?.value === this.readingList.title;\r\n if (!exists || isExistingName) {\r\n this.reviewGroup.get('title')?.setErrors(null);\r\n } else {\r\n this.reviewGroup.get('title')?.setErrors({duplicateName: true})\r\n }\r\n this.cdRef.markForCheck();\r\n }),\r\n takeUntilDestroyed(this.destroyRef)\r\n ).subscribe();\r\n\r\n this.imageUrls.push(this.imageService.randomize(this.imageService.getReadingListCoverImage(this.readingList.id)));\r\n if (!this.readingList.items || this.readingList.items.length === 0) {\r\n this.readingListService.getListItems(this.readingList.id).subscribe(items => {\r\n this.imageUrls.push(...(items).map(rli => this.imageService.getChapterCoverImage(rli.chapterId)));\r\n });\r\n } else {\r\n this.imageUrls.push(...(this.readingList.items).map(rli => this.imageService.getChapterCoverImage(rli.chapterId)));\r\n }\r\n }\r\n\r\n close() {\r\n this.ngModal.dismiss(undefined);\r\n }\r\n\r\n save() {\r\n if (this.reviewGroup.value.title.trim() === '') return;\r\n\r\n const model = {...this.reviewGroup.value, readingListId: this.readingList.id, coverImageLocked: this.coverImageLocked};\r\n model.startingMonth = model.startingMonth || 0;\r\n model.startingYear = model.startingYear || 0;\r\n model.endingMonth = model.endingMonth || 0;\r\n model.endingYear = model.endingYear || 0;\r\n const apis = [this.readingListService.update(model)];\r\n\r\n if (this.selectedCover !== '') {\r\n apis.push(this.uploadService.updateReadingListCoverImage(this.readingList.id, this.selectedCover))\r\n }\r\n\r\n forkJoin(apis).subscribe(results => {\r\n this.readingList.title = model.title;\r\n this.readingList.summary = model.summary;\r\n this.readingList.coverImageLocked = this.coverImageLocked;\r\n this.readingList.promoted = model.promoted;\r\n this.ngModal.close(this.readingList);\r\n this.toastr.success(translate('toasts.reading-list-updated'));\r\n });\r\n }\r\n\r\n updateSelectedIndex(index: number) {\r\n this.coverImageIndex = index;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n updateSelectedImage(url: string) {\r\n this.selectedCover = url;\r\n }\r\n\r\n handleReset() {\r\n this.coverImageLocked = false;\r\n }\r\n\r\n}\r\n", "\r\n\r\n
\r\n

{{t('title', {name: readingList.title})}}

\r\n \r\n
\r\n
\r\n
    \r\n
  • \r\n {{t(TabID.General)}}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{t('required-field')}}\r\n
    \r\n
    \r\n {{t('name-unique-validation')}}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n {{t('promote-tooltip')}}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    {{t('starting-title')}}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{t('month-validation')}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{t('year-validation')}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    {{t('ending-title')}}
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{t('month-validation')}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {{t('year-validation')}}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n {{t(TabID.CoverImage)}}\r\n \r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n\r\n
\r\n", "import { Injectable, OnDestroy } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subject } from 'rxjs';\r\nimport { take } from 'rxjs/operators';\r\nimport { BulkAddToCollectionComponent } from '../cards/_modals/bulk-add-to-collection/bulk-add-to-collection.component';\r\nimport { AddToListModalComponent, ADD_FLOW } from '../reading-list/_modals/add-to-list-modal/add-to-list-modal.component';\r\nimport { EditReadingListModalComponent } from '../reading-list/_modals/edit-reading-list-modal/edit-reading-list-modal.component';\r\nimport { ConfirmService } from '../shared/confirm.service';\r\nimport { LibrarySettingsModalComponent } from '../sidenav/_modals/library-settings-modal/library-settings-modal.component';\r\nimport { Chapter } from '../_models/chapter';\r\nimport { Device } from '../_models/device/device';\r\nimport { Library } from '../_models/library/library';\r\nimport { ReadingList } from '../_models/reading-list';\r\nimport { Series } from '../_models/series';\r\nimport { Volume } from '../_models/volume';\r\nimport { DeviceService } from './device.service';\r\nimport { LibraryService } from './library.service';\r\nimport { MemberService } from './member.service';\r\nimport { ReaderService } from './reader.service';\r\nimport { SeriesService } from './series.service';\r\nimport {translate, TranslocoService} from \"@ngneat/transloco\";\r\n\r\nexport type LibraryActionCallback = (library: Partial) => void;\r\nexport type SeriesActionCallback = (series: Series) => void;\r\nexport type VolumeActionCallback = (volume: Volume) => void;\r\nexport type ChapterActionCallback = (chapter: Chapter) => void;\r\nexport type ReadingListActionCallback = (readingList: ReadingList) => void;\r\nexport type VoidActionCallback = () => void;\r\nexport type BooleanActionCallback = (result: boolean) => void;\r\n\r\n/**\r\n * Responsible for executing actions\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ActionService implements OnDestroy {\r\n\r\n private readonly onDestroy = new Subject();\r\n private readingListModalRef: NgbModalRef | null = null;\r\n private collectionModalRef: NgbModalRef | null = null;\r\n\r\n constructor(private libraryService: LibraryService, private seriesService: SeriesService,\r\n private readerService: ReaderService, private toastr: ToastrService, private modalService: NgbModal,\r\n private confirmService: ConfirmService, private memberService: MemberService, private deviceService: DeviceService) { }\r\n\r\n ngOnDestroy() {\r\n this.onDestroy.next();\r\n this.onDestroy.complete();\r\n }\r\n\r\n /**\r\n * Request a file scan for a given Library\r\n * @param library Partial Library, must have id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n * @returns\r\n */\r\n async scanLibrary(library: Partial, callback?: LibraryActionCallback) {\r\n if (!library.hasOwnProperty('id') || library.id === undefined) {\r\n return;\r\n }\r\n\r\n // Prompt user if we should do a force or not\r\n const force = false; // await this.promptIfForce();\r\n\r\n this.libraryService.scan(library.id, force).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.scan-queued', {name: library.name}));\r\n if (callback) {\r\n callback(library);\r\n }\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Request a refresh of Metadata for a given Library\r\n * @param library Partial Library, must have id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n * @returns\r\n */\r\n async refreshMetadata(library: Partial, callback?: LibraryActionCallback) {\r\n if (!library.hasOwnProperty('id') || library.id === undefined) {\r\n return;\r\n }\r\n\r\n if (!await this.confirmService.confirm(translate('toasts.confirm-regen-covers'))) {\r\n if (callback) {\r\n callback(library);\r\n }\r\n return;\r\n }\r\n\r\n const forceUpdate = true; //await this.promptIfForce();\r\n\r\n this.libraryService.refreshMetadata(library?.id, forceUpdate).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.scan-queued', {name: library.name}));\r\n if (callback) {\r\n callback(library);\r\n }\r\n });\r\n }\r\n\r\n editLibrary(library: Partial, callback?: LibraryActionCallback) {\r\n const modalRef = this.modalService.open(LibrarySettingsModalComponent, {size: 'xl', fullscreen: 'md'});\r\n modalRef.componentInstance.library = library;\r\n modalRef.closed.subscribe((closeResult: {success: boolean, library: Library, coverImageUpdate: boolean}) => {\r\n if (callback) callback(library)\r\n });\r\n }\r\n\r\n /**\r\n * Request an analysis of files for a given Library (currently just word count)\r\n * @param library Partial Library, must have id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n * @returns\r\n */\r\n async analyzeFiles(library: Partial, callback?: LibraryActionCallback) {\r\n if (!library.hasOwnProperty('id') || library.id === undefined) {\r\n return;\r\n }\r\n\r\n if (!await this.confirmService.alert(translate('toasts.alert-long-running'))) {\r\n if (callback) {\r\n callback(library);\r\n }\r\n return;\r\n }\r\n\r\n this.libraryService.analyze(library?.id).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.library-file-analysis-queued', {name: library.name}));\r\n if (callback) {\r\n callback(library);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark a series as read; updates the series pagesRead\r\n * @param series Series, must have id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markSeriesAsRead(series: Series, callback?: SeriesActionCallback) {\r\n this.seriesService.markRead(series.id).pipe(take(1)).subscribe(res => {\r\n series.pagesRead = series.pages;\r\n this.toastr.success(translate('toasts.entity-read', {name: series.name}));\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark a series as unread; updates the series pagesRead\r\n * @param series Series, must have id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markSeriesAsUnread(series: Series, callback?: SeriesActionCallback) {\r\n this.seriesService.markUnread(series.id).pipe(take(1)).subscribe(res => {\r\n series.pagesRead = 0;\r\n this.toastr.success(translate('toasts.entity-unread', {name: series.name}));\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Start a file scan for a Series\r\n * @param series Series, must have libraryId and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n async scanSeries(series: Series, callback?: SeriesActionCallback) {\r\n this.seriesService.scan(series.libraryId, series.id).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.scan-queued', {name: series.name}));\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Start a file scan for analyze files for a Series\r\n * @param series Series, must have libraryId and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n analyzeFilesForSeries(series: Series, callback?: SeriesActionCallback) {\r\n this.seriesService.analyzeFiles(series.libraryId, series.id).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.scan-queued', {name: series.name}));\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Start a metadata refresh for a Series\r\n * @param series Series, must have libraryId, id and name populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n async refreshMetdata(series: Series, callback?: SeriesActionCallback) {\r\n if (!await this.confirmService.confirm(translate('toasts.confirm-regen-covers'))) {\r\n if (callback) {\r\n callback(series);\r\n }\r\n return;\r\n }\r\n\r\n this.seriesService.refreshMetadata(series).pipe(take(1)).subscribe((res: any) => {\r\n this.toastr.info(translate('toasts.refresh-covers-queued', {name: series.name}));\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all chapters and the volume as Read\r\n * @param seriesId Series Id\r\n * @param volume Volume, should have id, chapters and pagesRead populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markVolumeAsRead(seriesId: number, volume: Volume, callback?: VolumeActionCallback) {\r\n this.readerService.markVolumeRead(seriesId, volume.id).pipe(take(1)).subscribe(() => {\r\n volume.pagesRead = volume.pages;\r\n volume.chapters?.forEach(c => c.pagesRead = c.pages);\r\n this.toastr.success(translate('toasts.mark-read'));\r\n\r\n if (callback) {\r\n callback(volume);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all chapters and the volume as unread\r\n * @param seriesId Series Id\r\n * @param volume Volume, should have id, chapters and pagesRead populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markVolumeAsUnread(seriesId: number, volume: Volume, callback?: VolumeActionCallback) {\r\n this.readerService.markVolumeUnread(seriesId, volume.id).subscribe(() => {\r\n volume.pagesRead = 0;\r\n volume.chapters?.forEach(c => c.pagesRead = 0);\r\n this.toastr.success(translate('toasts.mark-unread'));\r\n if (callback) {\r\n callback(volume);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark a chapter as read\r\n * @param seriesId Series Id\r\n * @param chapter Chapter, should have id, pages, volumeId populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markChapterAsRead(libraryId: number, seriesId: number, chapter: Chapter, callback?: ChapterActionCallback) {\r\n this.readerService.saveProgress(libraryId, seriesId, chapter.volumeId, chapter.id, chapter.pages).pipe(take(1)).subscribe(results => {\r\n chapter.pagesRead = chapter.pages;\r\n this.toastr.success(translate('toasts.mark-read'));\r\n if (callback) {\r\n callback(chapter);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark a chapter as unread\r\n * @param seriesId Series Id\r\n * @param chapter Chapter, should have id, pages, volumeId populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markChapterAsUnread(libraryId: number, seriesId: number, chapter: Chapter, callback?: ChapterActionCallback) {\r\n this.readerService.saveProgress(libraryId, seriesId, chapter.volumeId, chapter.id, 0).pipe(take(1)).subscribe(results => {\r\n chapter.pagesRead = 0;\r\n this.toastr.success(translate('toasts.mark-unread'));\r\n if (callback) {\r\n callback(chapter);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all chapters and the volumes as Read. All volumes and chapters must belong to a series\r\n * @param seriesId Series Id\r\n * @param volumes Volumes, should have id, chapters and pagesRead populated\r\n * @param chapters? Chapters, should have id\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markMultipleAsRead(seriesId: number, volumes: Array, chapters?: Array, callback?: VoidActionCallback) {\r\n this.readerService.markMultipleRead(seriesId, volumes.map(v => v.id), chapters?.map(c => c.id)).pipe(take(1)).subscribe(() => {\r\n volumes.forEach(volume => {\r\n volume.pagesRead = volume.pages;\r\n volume.chapters?.forEach(c => c.pagesRead = c.pages);\r\n });\r\n chapters?.forEach(c => c.pagesRead = c.pages);\r\n this.toastr.success(translate('toasts.mark-read'));\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all chapters and the volumes as Unread. All volumes must belong to a series\r\n * @param seriesId Series Id\r\n * @param volumes Volumes, should have id, chapters and pagesRead populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markMultipleAsUnread(seriesId: number, volumes: Array, chapters?: Array, callback?: VoidActionCallback) {\r\n this.readerService.markMultipleUnread(seriesId, volumes.map(v => v.id), chapters?.map(c => c.id)).pipe(take(1)).subscribe(() => {\r\n volumes.forEach(volume => {\r\n volume.pagesRead = 0;\r\n volume.chapters?.forEach(c => c.pagesRead = 0);\r\n });\r\n chapters?.forEach(c => c.pagesRead = 0);\r\n this.toastr.success(translate('toasts.mark-unread'));\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all series as Read.\r\n * @param series Series, should have id, pagesRead populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markMultipleSeriesAsRead(series: Array, callback?: VoidActionCallback) {\r\n this.readerService.markMultipleSeriesRead(series.map(v => v.id)).pipe(take(1)).subscribe(() => {\r\n series.forEach(s => {\r\n s.pagesRead = s.pages;\r\n });\r\n this.toastr.success(translate('toasts.mark-read'));\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all series as Unread.\r\n * @param series Series, should have id, pagesRead populated\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n markMultipleSeriesAsUnread(series: Array, callback?: VoidActionCallback) {\r\n this.readerService.markMultipleSeriesUnread(series.map(v => v.id)).pipe(take(1)).subscribe(() => {\r\n series.forEach(s => {\r\n s.pagesRead = s.pages;\r\n });\r\n this.toastr.success(translate('toasts.mark-unread'));\r\n\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n addMultipleToReadingList(seriesId: number, volumes: Array, chapters?: Array, callback?: BooleanActionCallback) {\r\n if (this.readingListModalRef != null) { return; }\r\n this.readingListModalRef = this.modalService.open(AddToListModalComponent, { scrollable: true, size: 'md', fullscreen: 'md' });\r\n this.readingListModalRef.componentInstance.seriesId = seriesId;\r\n this.readingListModalRef.componentInstance.volumeIds = volumes.map(v => v.id);\r\n this.readingListModalRef.componentInstance.chapterIds = chapters?.map(c => c.id);\r\n this.readingListModalRef.componentInstance.title = 'Multiple Selections';\r\n this.readingListModalRef.componentInstance.type = ADD_FLOW.Multiple;\r\n\r\n\r\n this.readingListModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(true);\r\n }\r\n });\r\n this.readingListModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(false);\r\n }\r\n });\r\n }\r\n\r\n addMultipleSeriesToWantToReadList(seriesIds: Array, callback?: VoidActionCallback) {\r\n this.memberService.addSeriesToWantToRead(seriesIds).subscribe(() => {\r\n this.toastr.success('Series added to Want to Read list');\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n removeMultipleSeriesFromWantToReadList(seriesIds: Array, callback?: VoidActionCallback) {\r\n this.memberService.removeSeriesToWantToRead(seriesIds).subscribe(() => {\r\n this.toastr.success(translate('toasts.series-removed-want-to-read'));\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n addMultipleSeriesToReadingList(series: Array, callback?: BooleanActionCallback) {\r\n if (this.readingListModalRef != null) { return; }\r\n this.readingListModalRef = this.modalService.open(AddToListModalComponent, { scrollable: true, size: 'md', fullscreen: 'md' });\r\n this.readingListModalRef.componentInstance.seriesIds = series.map(v => v.id);\r\n this.readingListModalRef.componentInstance.title = 'Multiple Selections';\r\n this.readingListModalRef.componentInstance.type = ADD_FLOW.Multiple_Series;\r\n\r\n\r\n this.readingListModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(true);\r\n }\r\n });\r\n this.readingListModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(false);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Adds a set of series to a collection tag\r\n * @param series\r\n * @param callback\r\n * @returns\r\n */\r\n addMultipleSeriesToCollectionTag(series: Array, callback?: BooleanActionCallback) {\r\n if (this.collectionModalRef != null) { return; }\r\n this.collectionModalRef = this.modalService.open(BulkAddToCollectionComponent, { scrollable: true, size: 'md', windowClass: 'collection', fullscreen: 'md' });\r\n this.collectionModalRef.componentInstance.seriesIds = series.map(v => v.id);\r\n this.collectionModalRef.componentInstance.title = 'New Collection';\r\n\r\n this.collectionModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.collectionModalRef = null;\r\n if (callback) {\r\n callback(true);\r\n }\r\n });\r\n this.collectionModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.collectionModalRef = null;\r\n if (callback) {\r\n callback(false);\r\n }\r\n });\r\n }\r\n\r\n addSeriesToReadingList(series: Series, callback?: SeriesActionCallback) {\r\n if (this.readingListModalRef != null) { return; }\r\n this.readingListModalRef = this.modalService.open(AddToListModalComponent, { scrollable: true, size: 'md', fullscreen: 'md' });\r\n this.readingListModalRef.componentInstance.seriesId = series.id;\r\n this.readingListModalRef.componentInstance.title = series.name;\r\n this.readingListModalRef.componentInstance.type = ADD_FLOW.Series;\r\n\r\n\r\n this.readingListModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n this.readingListModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(series);\r\n }\r\n });\r\n }\r\n\r\n addVolumeToReadingList(volume: Volume, seriesId: number, callback?: VolumeActionCallback) {\r\n if (this.readingListModalRef != null) { return; }\r\n this.readingListModalRef = this.modalService.open(AddToListModalComponent, { scrollable: true, size: 'md', fullscreen: 'md' });\r\n this.readingListModalRef.componentInstance.seriesId = seriesId;\r\n this.readingListModalRef.componentInstance.volumeId = volume.id;\r\n this.readingListModalRef.componentInstance.type = ADD_FLOW.Volume;\r\n\r\n\r\n this.readingListModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(volume);\r\n }\r\n });\r\n this.readingListModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(volume);\r\n }\r\n });\r\n }\r\n\r\n addChapterToReadingList(chapter: Chapter, seriesId: number, callback?: ChapterActionCallback) {\r\n if (this.readingListModalRef != null) { return; }\r\n this.readingListModalRef = this.modalService.open(AddToListModalComponent, { scrollable: true, size: 'md', fullscreen: 'md' });\r\n this.readingListModalRef.componentInstance.seriesId = seriesId;\r\n this.readingListModalRef.componentInstance.chapterId = chapter.id;\r\n this.readingListModalRef.componentInstance.type = ADD_FLOW.Chapter;\r\n\r\n\r\n this.readingListModalRef.closed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(chapter);\r\n }\r\n });\r\n this.readingListModalRef.dismissed.pipe(take(1)).subscribe(() => {\r\n this.readingListModalRef = null;\r\n if (callback) {\r\n callback(chapter);\r\n }\r\n });\r\n }\r\n\r\n editReadingList(readingList: ReadingList, callback?: ReadingListActionCallback) {\r\n const readingListModalRef = this.modalService.open(EditReadingListModalComponent, { scrollable: true, size: 'lg', fullscreen: 'md' });\r\n readingListModalRef.componentInstance.readingList = readingList;\r\n readingListModalRef.closed.pipe(take(1)).subscribe((list) => {\r\n if (callback && list !== undefined) {\r\n callback(readingList);\r\n }\r\n });\r\n readingListModalRef.dismissed.pipe(take(1)).subscribe((list) => {\r\n if (callback && list !== undefined) {\r\n callback(readingList);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Mark all chapters and the volumes as Read. All volumes and chapters must belong to a series\r\n * @param seriesId Series Id\r\n * @param volumes Volumes, should have id, chapters and pagesRead populated\r\n * @param chapters? Chapters, should have id\r\n * @param callback Optional callback to perform actions after API completes\r\n */\r\n async deleteMultipleSeries(seriesIds: Array, callback?: BooleanActionCallback) {\r\n if (!await this.confirmService.confirm(translate('toasts.confirm-delete-multiple-series', {count: seriesIds.length}))) {\r\n if (callback) {\r\n callback(false);\r\n }\r\n return;\r\n }\r\n this.seriesService.deleteMultipleSeries(seriesIds.map(s => s.id)).pipe(take(1)).subscribe(() => {\r\n this.toastr.success(translate('toasts.series-deleted'));\r\n\r\n if (callback) {\r\n callback(true);\r\n }\r\n });\r\n }\r\n\r\n async deleteSeries(series: Series, callback?: BooleanActionCallback) {\r\n if (!await this.confirmService.confirm(translate('toasts.confirm-delete-series'))) {\r\n if (callback) {\r\n callback(false);\r\n }\r\n return;\r\n }\r\n\r\n this.seriesService.delete(series.id).subscribe((res: boolean) => {\r\n if (callback) {\r\n this.toastr.success(translate('toasts.series-deleted'));\r\n callback(res);\r\n }\r\n });\r\n }\r\n\r\n sendToDevice(chapterIds: Array, device: Device, callback?: VoidActionCallback) {\r\n this.deviceService.sendTo(chapterIds, device.id).subscribe(() => {\r\n this.toastr.success(translate('toasts.file-send-to', {name: device.name}));\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n sendSeriesToDevice(seriesId: number, device: Device, callback?: VoidActionCallback) {\r\n this.deviceService.sendSeriesTo(seriesId, device.id).subscribe(() => {\r\n this.toastr.success(translate('toasts.file-send-to', {name: device.name}));\r\n if (callback) {\r\n callback();\r\n }\r\n });\r\n }\r\n\r\n}\r\n", "import { Directive, Input, HostListener, OnInit, ElementRef, Inject } from '@angular/core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[a11y-click]',\r\n standalone: true\r\n})\r\nexport class A11yClickDirective implements OnInit {\r\n @Input('a11y-click') keyCodes!: string;\r\n keyCodeArray!: string[];\r\n\r\n constructor(@Inject(ElementRef) private element : ElementRef){}\r\n\r\n ngOnInit(){\r\n if(this.keyCodes) {\r\n this.keyCodeArray = this.keyCodes.split(',');\r\n }\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onEvent(event: any) {\r\n var keyCodeCondition = function (that: any) {\r\n var flag = false;\r\n if (!(event.keyCode)) {\r\n if (event.which) {\r\n event.keyCode = event.which;\r\n } else if (event.charCode) {\r\n event.keyCode = event.charCode;\r\n }\r\n }\r\n if ((event.keyCode && that.keyCodeArray.indexOf(event.keyCode.toString()) > -1)) {\r\n flag = true;\r\n }\r\n return flag;\r\n };\r\n const that = this;\r\n if (this.keyCodeArray.length > 0 && keyCodeCondition(that)) {\r\n this.element.nativeElement.click();\r\n event.preventDefault();\r\n }\r\n\r\n }\r\n\r\n}\r\n", "import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChild,\r\n inject,\r\n Input,\r\n OnInit,\r\n TemplateRef\r\n} from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TranslocoDirective} from \"@ngneat/transloco\";\r\n\r\n@Component({\r\n selector: 'app-badge-expander',\r\n standalone: true,\r\n imports: [CommonModule, TranslocoDirective],\r\n templateUrl: './badge-expander.component.html',\r\n styleUrls: ['./badge-expander.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class BadgeExpanderComponent implements OnInit {\r\n\r\n private readonly cdRef = inject(ChangeDetectorRef);\r\n\r\n @Input() items: Array = [];\r\n @Input() itemsTillExpander: number = 4;\r\n @ContentChild('badgeExpanderItem') itemTemplate!: TemplateRef;\r\n\r\n\r\n visibleItems: Array = [];\r\n isCollapsed: boolean = false;\r\n\r\n get itemsLeft() {\r\n return Math.max(this.items.length - this.itemsTillExpander, 0);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.visibleItems = this.items.slice(0, this.itemsTillExpander);\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n toggleVisible() {\r\n this.isCollapsed = !this.isCollapsed;\r\n this.visibleItems = this.items;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n}\r\n", "\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n", "import {ChangeDetectionStrategy, Component, ContentChild, inject, Input, TemplateRef} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {A11yClickDirective} from \"../../../shared/a11y-click.directive\";\r\nimport {BadgeExpanderComponent} from \"../../../shared/badge-expander/badge-expander.component\";\r\nimport {TagBadgeComponent, TagBadgeCursor} from \"../../../shared/tag-badge/tag-badge.component\";\r\nimport {FilterUtilitiesService} from \"../../../shared/_services/filter-utilities.service\";\r\nimport {FilterComparison} from \"../../../_models/metadata/v2/filter-comparison\";\r\nimport {FilterField} from \"../../../_models/metadata/v2/filter-field\";\r\nimport {Breakpoint, UtilityService} from \"../../../shared/_services/utility.service\";\r\n\r\n@Component({\r\n selector: 'app-metadata-detail',\r\n standalone: true,\r\n imports: [CommonModule, A11yClickDirective, BadgeExpanderComponent, TagBadgeComponent],\r\n templateUrl: './metadata-detail.component.html',\r\n styleUrls: ['./metadata-detail.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class MetadataDetailComponent {\r\n\r\n private readonly filterUtilityService = inject(FilterUtilitiesService);\r\n public readonly utilityService = inject(UtilityService);\r\n protected readonly TagBadgeCursor = TagBadgeCursor;\r\n protected readonly Breakpoint = Breakpoint;\r\n\r\n @Input({required: true}) tags: Array = [];\r\n @Input({required: true}) libraryId!: number;\r\n @Input({required: true}) heading!: string;\r\n @Input() queryParam: FilterField = FilterField.None;\r\n @ContentChild('titleTemplate') titleTemplate!: TemplateRef;\r\n @ContentChild('itemTemplate') itemTemplate?: TemplateRef;\r\n\r\n\r\n goTo(queryParamName: FilterField, filter: any) {\r\n if (queryParamName === FilterField.None) return;\r\n this.filterUtilityService.applyFilter(['library', this.libraryId], queryParamName, FilterComparison.Equal, filter).subscribe();\r\n }\r\n\r\n\r\n}\r\n", "
0\">\r\n
\r\n
{{heading}}
\r\n
\r\n
\r\n = Breakpoint.Desktop ? 30 : 4\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n", "import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit} from '@angular/core';\r\nimport { Person } from '../../_models/metadata/person';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SeriesStaff} from \"../../_models/series-detail/external-series-detail\";\r\nimport {ImageComponent} from \"../image/image.component\";\r\n\r\n@Component({\r\n selector: 'app-person-badge',\r\n standalone: true,\r\n imports: [CommonModule, ImageComponent],\r\n templateUrl: './person-badge.component.html',\r\n styleUrls: ['./person-badge.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PersonBadgeComponent implements OnInit {\r\n\r\n @Input({required: true}) person!: Person | SeriesStaff;\r\n @Input() isStaff = false;\r\n\r\n private readonly cdRef = inject(ChangeDetectorRef);\r\n\r\n staff!: SeriesStaff;\r\n\r\n ngOnInit() {\r\n this.staff = this.person as SeriesStaff;\r\n this.cdRef.markForCheck();\r\n }\r\n}\r\n", "
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{person.name}}\r\n \r\n
\r\n
\r\n
\r\n", "import {ChangeDetectionStrategy, ChangeDetectorRef, Component, inject, Input, OnInit} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {TranslocoDirective} from \"@ngneat/transloco\";\r\nimport {NgbActiveOffcanvas, NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport {ExternalSeriesDetail, SeriesStaff} from \"../../_models/series-detail/external-series-detail\";\r\nimport {SeriesService} from \"../../_services/series.service\";\r\nimport {ImageComponent} from \"../../shared/image/image.component\";\r\nimport {LoadingComponent} from \"../../shared/loading/loading.component\";\r\nimport {SafeHtmlPipe} from \"../../_pipes/safe-html.pipe\";\r\nimport {A11yClickDirective} from \"../../shared/a11y-click.directive\";\r\nimport {MetadataDetailComponent} from \"../../series-detail/_components/metadata-detail/metadata-detail.component\";\r\nimport {PersonBadgeComponent} from \"../../shared/person-badge/person-badge.component\";\r\nimport {TagBadgeComponent} from \"../../shared/tag-badge/tag-badge.component\";\r\nimport {ImageService} from \"../../_services/image.service\";\r\nimport {PublicationStatusPipe} from \"../../_pipes/publication-status.pipe\";\r\nimport {SeriesMetadata} from \"../../_models/metadata/series-metadata\";\r\nimport {ReadMoreComponent} from \"../../shared/read-more/read-more.component\";\r\nimport {ActionService} from \"../../_services/action.service\";\r\n\r\n@Component({\r\n selector: 'app-series-preview-drawer',\r\n standalone: true,\r\n imports: [CommonModule, TranslocoDirective, ImageComponent, LoadingComponent, SafeHtmlPipe, A11yClickDirective, MetadataDetailComponent, PersonBadgeComponent, TagBadgeComponent, PublicationStatusPipe, ReadMoreComponent, NgbTooltip],\r\n templateUrl: './series-preview-drawer.component.html',\r\n styleUrls: ['./series-preview-drawer.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SeriesPreviewDrawerComponent implements OnInit {\r\n @Input({required: true}) name!: string;\r\n @Input() aniListId?: number;\r\n @Input() malId?: number;\r\n @Input() seriesId?: number;\r\n @Input() libraryId: number = 0;\r\n @Input({required: true}) isExternalSeries: boolean = true;\r\n\r\n isLoading: boolean = true;\r\n localStaff: Array = [];\r\n externalSeries: ExternalSeriesDetail | undefined;\r\n localSeries: SeriesMetadata | undefined;\r\n url: string = '';\r\n wantToRead: boolean = false;\r\n\r\n private readonly activeOffcanvas = inject(NgbActiveOffcanvas);\r\n private readonly seriesService = inject(SeriesService);\r\n private readonly imageService = inject(ImageService);\r\n private readonly actionService = inject(ActionService);\r\n private readonly cdRef = inject(ChangeDetectorRef);\r\n\r\n get CoverUrl() {\r\n if (this.isExternalSeries) {\r\n if (this.externalSeries) return this.externalSeries.coverUrl;\r\n return this.imageService.placeholderImage;\r\n }\r\n return this.imageService.getSeriesCoverImage(this.seriesId!);\r\n }\r\n\r\n\r\n ngOnInit() {\r\n if (this.isExternalSeries) {\r\n this.seriesService.getExternalSeriesDetails(this.aniListId, this.malId).subscribe(externalSeries => {\r\n this.externalSeries = externalSeries;\r\n\r\n this.isLoading = false;\r\n if (this.externalSeries.siteUrl) {\r\n this.url = this.externalSeries.siteUrl;\r\n }\r\n\r\n this.cdRef.markForCheck();\r\n });\r\n } else {\r\n this.seriesService.getMetadata(this.seriesId!).subscribe(data => {\r\n this.localSeries = data;\r\n\r\n // Consider the localSeries has no metadata, try to merge the external Series metadata\r\n if (this.localSeries.summary === '' && this.localSeries.genres.length === 0) {\r\n this.seriesService.getExternalSeriesDetails(0, 0, this.seriesId).subscribe(externalSeriesData => {\r\n this.isExternalSeries = true;\r\n this.externalSeries = externalSeriesData;\r\n this.cdRef.markForCheck();\r\n })\r\n }\r\n\r\n this.seriesService.isWantToRead(this.seriesId!).subscribe(wantToRead => {\r\n this.wantToRead = wantToRead;\r\n this.cdRef.markForCheck();\r\n });\r\n\r\n this.isLoading = false;\r\n this.url = 'library/' + this.libraryId + '/series/' + this.seriesId;\r\n this.localStaff = data.writers.map(p => {\r\n return {name: p.name, role: 'Story & Art'} as SeriesStaff;\r\n });\r\n this.cdRef.markForCheck();\r\n });\r\n }\r\n\r\n }\r\n\r\n toggleWantToRead() {\r\n if (this.wantToRead) {\r\n this.actionService.removeMultipleSeriesFromWantToReadList([this.seriesId!]);\r\n } else {\r\n this.actionService.addMultipleSeriesToWantToReadList([this.seriesId!]);\r\n }\r\n\r\n this.wantToRead = !this.wantToRead;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n close() {\r\n this.activeOffcanvas.close();\r\n }\r\n}\r\n", "\r\n
\r\n
\r\n {{name}}\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
0 || (externalSeries.chapterCount || 0) > 0\" class=\"text-muted muted mb-2\">\r\n {{t('series-preview-drawer.vols-and-chapters', {volCount: externalSeries.volumeCount, chpCount: externalSeries.chapterCount})}}\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{item}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
{{item.name}}
\r\n

{{item.role}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n {{localSeries.publicationStatus | publicationStatus}}\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n {{item.title}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{item.title}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{item.name}}
\r\n

{{item.role}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n {{t('series-preview-drawer.view-series')}}\r\n \r\n
\r\n
\r\n", "import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter, inject,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport {Router} from '@angular/router';\r\nimport {NgbModal, NgbOffcanvas} from '@ng-bootstrap/ng-bootstrap';\r\nimport {ToastrService} from 'ngx-toastr';\r\nimport {Series} from 'src/app/_models/series';\r\nimport {ImageService} from 'src/app/_services/image.service';\r\nimport {Action, ActionFactoryService, ActionItem} from 'src/app/_services/action-factory.service';\r\nimport {SeriesService} from 'src/app/_services/series.service';\r\nimport {ActionService} from 'src/app/_services/action.service';\r\nimport {EditSeriesModalComponent} from '../_modals/edit-series-modal/edit-series-modal.component';\r\nimport {RelationKind} from 'src/app/_models/series-detail/relation-kind';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CardItemComponent} from \"../card-item/card-item.component\";\r\nimport {RelationshipPipe} from \"../../_pipes/relationship.pipe\";\r\nimport {Device} from \"../../_models/device/device\";\r\nimport {translate, TranslocoService} from \"@ngneat/transloco\";\r\nimport {SeriesPreviewDrawerComponent} from \"../../_single-module/series-preview-drawer/series-preview-drawer.component\";\r\n\r\nfunction deepClone(obj: any): any {\r\n if (obj === null || typeof obj !== 'object') {\r\n return obj;\r\n }\r\n\r\n if (obj instanceof Array) {\r\n return obj.map(item => deepClone(item));\r\n }\r\n\r\n const clonedObj: any = {};\r\n\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n if (typeof obj[key] === 'object' && obj[key] !== null) {\r\n clonedObj[key] = deepClone(obj[key]);\r\n } else {\r\n clonedObj[key] = obj[key];\r\n }\r\n }\r\n }\r\n\r\n return clonedObj;\r\n}\r\n\r\n@Component({\r\n selector: 'app-series-card',\r\n standalone: true,\r\n imports: [CommonModule, CardItemComponent, RelationshipPipe],\r\n templateUrl: './series-card.component.html',\r\n styleUrls: ['./series-card.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SeriesCardComponent implements OnInit, OnChanges {\r\n @Input({required: true}) data!: Series;\r\n @Input() libraryId = 0;\r\n @Input() suppressLibraryLink = false;\r\n /**\r\n * If the entity is selected or not.\r\n */\r\n @Input() selected: boolean = false;\r\n /**\r\n * If the entity should show selection code\r\n */\r\n @Input() allowSelection: boolean = false;\r\n /**\r\n * If the Series has a relationship to display\r\n */\r\n @Input() relation: RelationKind | undefined = undefined;\r\n /**\r\n * When a series card is shown on deck, a special actionable is added to the list\r\n */\r\n @Input() isOnDeck: boolean = false;\r\n /**\r\n * Opens a drawer with a preview of the metadata for this series\r\n */\r\n @Input() previewOnClick: boolean = false;\r\n\r\n @Output() clicked = new EventEmitter();\r\n /**\r\n * Emits when a reload needs to occur and the id of the entity\r\n */\r\n @Output() reload = new EventEmitter();\r\n @Output() dataChanged = new EventEmitter();\r\n /**\r\n * When the card is selected.\r\n */\r\n @Output() selection = new EventEmitter();\r\n\r\n actions: ActionItem[] = [];\r\n imageUrl: string = '';\r\n\r\n private readonly offcanvasService = inject(NgbOffcanvas);\r\n\r\n constructor(private router: Router, private cdRef: ChangeDetectorRef,\r\n private seriesService: SeriesService, private toastr: ToastrService,\r\n private modalService: NgbModal, private imageService: ImageService,\r\n private actionFactoryService: ActionFactoryService,\r\n private actionService: ActionService) {}\r\n\r\n\r\n ngOnInit(): void {\r\n if (this.data) {\r\n this.imageUrl = this.imageService.getSeriesCoverImage(this.data.id);\r\n this.cdRef.markForCheck();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: any) {\r\n if (this.data) {\r\n this.actions = [...this.actionFactoryService.getSeriesActions((action: ActionItem, series: Series) => this.handleSeriesActionCallback(action, series))];\r\n if (this.isOnDeck) {\r\n const othersIndex = this.actions.findIndex(obj => obj.title === 'others');\r\n const othersAction = deepClone(this.actions[othersIndex]) as ActionItem;\r\n if (othersAction.children.findIndex(o => o.action === Action.RemoveFromOnDeck) < 0) {\r\n othersAction.children.push({\r\n action: Action.RemoveFromOnDeck,\r\n title: 'remove-from-on-deck',\r\n callback: (action: ActionItem, series: Series) => this.handleSeriesActionCallback(action, series),\r\n class: 'danger',\r\n requiresAdmin: false,\r\n children: [],\r\n });\r\n this.actions[othersIndex] = othersAction;\r\n }\r\n }\r\n this.cdRef.markForCheck();\r\n }\r\n }\r\n\r\n handleSeriesActionCallback(action: ActionItem, series: Series) {\r\n switch (action.action) {\r\n case(Action.MarkAsRead):\r\n this.markAsRead(series);\r\n break;\r\n case(Action.MarkAsUnread):\r\n this.markAsUnread(series);\r\n break;\r\n case(Action.Scan):\r\n this.scanLibrary(series);\r\n break;\r\n case(Action.RefreshMetadata):\r\n this.refreshMetadata(series);\r\n break;\r\n case(Action.Delete):\r\n this.deleteSeries(series);\r\n break;\r\n case(Action.Edit):\r\n this.openEditModal(series);\r\n break;\r\n case(Action.AddToReadingList):\r\n this.actionService.addSeriesToReadingList(series);\r\n break;\r\n case Action.AddToWantToReadList:\r\n this.actionService.addMultipleSeriesToWantToReadList([series.id]);\r\n break;\r\n case Action.RemoveFromWantToReadList:\r\n this.actionService.removeMultipleSeriesFromWantToReadList([series.id]);\r\n if (this.router.url.startsWith('/want-to-read')) {\r\n this.reload.emit(series.id);\r\n }\r\n break;\r\n case(Action.AddToCollection):\r\n this.actionService.addMultipleSeriesToCollectionTag([series]);\r\n break;\r\n case (Action.AnalyzeFiles):\r\n this.actionService.analyzeFilesForSeries(series);\r\n break;\r\n case Action.SendTo:\r\n const device = (action._extra!.data as Device);\r\n this.actionService.sendSeriesToDevice(series.id, device);\r\n break;\r\n case Action.RemoveFromOnDeck:\r\n this.seriesService.removeFromOnDeck(series.id).subscribe(() => this.reload.emit(series.id));\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n openEditModal(data: Series) {\r\n const modalRef = this.modalService.open(EditSeriesModalComponent, { size: 'lg' });\r\n modalRef.componentInstance.series = data;\r\n modalRef.closed.subscribe((closeResult: {success: boolean, series: Series, coverImageUpdate: boolean}) => {\r\n if (closeResult.success) {\r\n this.seriesService.getSeries(data.id).subscribe(series => {\r\n this.data = series;\r\n this.cdRef.markForCheck();\r\n this.reload.emit(series.id);\r\n this.dataChanged.emit(series);\r\n });\r\n }\r\n });\r\n }\r\n\r\n async refreshMetadata(series: Series) {\r\n await this.actionService.refreshMetdata(series);\r\n }\r\n\r\n async scanLibrary(series: Series) {\r\n this.seriesService.scan(series.libraryId, series.id).subscribe((res: any) => {\r\n this.toastr.success(translate('toasts.scan-queued', {name: series.name}));\r\n });\r\n }\r\n\r\n async deleteSeries(series: Series) {\r\n await this.actionService.deleteSeries(series, (result: boolean) => {\r\n if (result) {\r\n this.reload.emit(series.id);\r\n }\r\n });\r\n }\r\n\r\n markAsUnread(series: Series) {\r\n this.actionService.markSeriesAsUnread(series, () => {\r\n if (this.data) {\r\n this.data.pagesRead = 0;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n this.dataChanged.emit(series);\r\n });\r\n }\r\n\r\n markAsRead(series: Series) {\r\n this.actionService.markSeriesAsRead(series, () => {\r\n if (this.data) {\r\n this.data.pagesRead = series.pages;\r\n this.cdRef.markForCheck();\r\n }\r\n this.dataChanged.emit(series);\r\n });\r\n }\r\n\r\n handleClick() {\r\n if (this.previewOnClick) {\r\n const ref = this.offcanvasService.open(SeriesPreviewDrawerComponent, {position: 'end', panelClass: 'navbar-offset'});\r\n ref.componentInstance.isExternalSeries = false;\r\n ref.componentInstance.seriesId = this.data.id;\r\n ref.componentInstance.libraryId = this.data.libraryId;\r\n ref.componentInstance.name = this.data.name;\r\n return;\r\n }\r\n this.clicked.emit(this.data);\r\n this.router.navigate(['library', this.libraryId, 'series', this.data?.id]);\r\n }\r\n\r\n}\r\n", "\r\n \r\n"], "mappings": "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", "names": ["ReadingListService", "constructor", "httpClient", "utilityService", "baseUrl", "environment", "apiUrl", "getReadingList", "readingListId", "get", "getReadingLists", "includePromoted", "sortByLastModified", "pageNum", "itemsPerPage", "params", "HttpParams", "addPaginationIfExists", "post", "observe", "pipe", "map", "response", "createPaginatedResult", "PaginatedResult", "getReadingListsForSeries", "seriesId", "getListItems", "createList", "title", "update", "model", "TextResonse", "updateByMultiple", "volumeIds", "chapterIds", "updateByMultipleSeries", "seriesIds", "updateBySeries", "updateByVolume", "volumeId", "updateByChapter", "chapterId", "delete", "updatePosition", "readingListItemId", "fromPosition", "toPosition", "deleteItem", "removeRead", "actionListFilter", "action", "readingList", "isAdmin", "promoted", "nameExists", "name", "validateCbl", "form", "importCbl", "getCharacters", "\u0275\u0275inject", "HttpClient", "UtilityService", "factory", "\u0275fac", "providedIn", "_ReadingListService", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r8", "ctx_r7", "\u0275\u0275nextContext", "tmp_b_0", "\u0275\u0275resetView", "listForm", "get", "setValue", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "t_r1", "\u0275\u0275property", "collectionTag_r10", "_r15", "$implicit", "ctx_r14", "addToCollection", "\u0275\u0275template", "BulkAddToCollectionComponent_ng_container_0_li_9_i_2_Template", "\u0275\u0275textInterpolate1", "title", "promoted", "\u0275\u0275elementContainerStart", "_r19", "ctx_r18", "close", "BulkAddToCollectionComponent_ng_container_0_div_7_Template", "BulkAddToCollectionComponent_ng_container_0_li_9_Template", "BulkAddToCollectionComponent_ng_container_0_li_11_Template", "BulkAddToCollectionComponent_ng_container_0_li_12_Template", "ctx_r20", "create", "\u0275\u0275elementContainerEnd", "\u0275\u0275attribute", "ctx_r0", "lists", "length", "\u0275\u0275pipeBind2", "filterList", "collectionTitleTrackby", "loading", "BulkAddToCollectionComponent", "constructor", "modal", "collectionService", "toastr", "cdRef", "seriesIds", "FormGroup", "index", "item", "listItem", "toLowerCase", "indexOf", "value", "filterQuery", "ngOnInit", "addControl", "FormControl", "markForCheck", "allTags", "subscribe", "tags", "ngAfterViewInit", "inputElem", "nativeElement", "select", "tagName", "addByMultiple", "success", "translate", "collectionName", "tag", "id", "\u0275\u0275directiveInject", "NgbActiveModal", "CollectionTagService", "ToastrService", "ChangeDetectorRef", "selectors", "viewQuery", "rf", "ctx", "BulkAddToCollectionComponent_ng_container_0_Template", "CommonModule", "NgForOf", "NgIf", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "FilterPipe", "NgbModalModule", "TranslocoDirective", "styles", "encapsulation", "changeDetection", "_BulkAddToCollectionComponent", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r8", "ctx_r7", "\u0275\u0275nextContext", "tmp_b_0", "\u0275\u0275resetView", "listForm", "get", "setValue", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "t_r1", "\u0275\u0275property", "readingList_r10", "_r15", "$implicit", "ctx_r14", "addToList", "\u0275\u0275template", "AddToListModalComponent_ng_container_0_li_9_i_2_Template", "\u0275\u0275textInterpolate1", "title", "promoted", "\u0275\u0275elementContainerStart", "_r19", "ctx_r18", "close", "AddToListModalComponent_ng_container_0_div_7_Template", "AddToListModalComponent_ng_container_0_li_9_Template", "AddToListModalComponent_ng_container_0_li_11_Template", "AddToListModalComponent_ng_container_0_li_12_Template", "ctx_r20", "create", "\u0275\u0275elementContainerEnd", "\u0275\u0275attribute", "ctx_r0", "lists", "length", "\u0275\u0275pipeBind2", "filterList", "loading", "ADD_FLOW", "AddToListModalComponent", "constructor", "modal", "readingListService", "toastr", "FormGroup", "listItem", "toLowerCase", "indexOf", "value", "filterQuery", "translocoService", "inject", "TranslocoService", "ngOnInit", "addControl", "FormControl", "getReadingLists", "subscribe", "result", "ngAfterViewInit", "inputElem", "nativeElement", "select", "createList", "list", "readingList", "type", "Multiple_Series", "seriesIds", "undefined", "updateByMultipleSeries", "id", "success", "translate", "seriesId", "Series", "updateBySeries", "Volume", "volumeId", "updateByVolume", "Chapter", "chapterId", "updateByChapter", "Multiple", "volumeIds", "chapterIds", "updateByMultiple", "\u0275\u0275directiveInject", "NgbActiveModal", "ReadingListService", "ToastrService", "selectors", "viewQuery", "rf", "ctx", "AddToListModalComponent_ng_container_0_Template", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "NgIf", "NgFor", "FilterPipe", "TranslocoDirective", "styles", "_AddToListModalComponent", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "t_r1", "\u0275\u0275template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_6_div_1_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_6_div_2_Template", "\u0275\u0275property", "tmp_0_0", "ctx_r5", "reviewGroup", "get", "errors", "required", "tmp_1_0", "duplicateName", "\u0275\u0275textInterpolate", "\u0275\u0275element", "EditReadingListModalComponent_ng_container_0_ng_template_11_ng_container_7_div_1_ng_template_6_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275elementContainer", "_r18", "\u0275\u0275elementContainerStart", "EditReadingListModalComponent_ng_container_0_ng_template_11_ng_container_7_div_1_Template", "\u0275\u0275elementContainerEnd", "ctx_r6", "accountService", "hasAdminRole", "user_r15", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_13_div_4_div_1_Template", "formControl_r21", "min", "max", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_13_div_4_Template", "\u0275\u0275classProp", "invalid", "touched", "ctx_r7", "dirty", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_14_div_4_div_1_Template", "formControl_r27", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_14_div_4_Template", "ctx_r8", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_18_div_4_div_1_Template", "formControl_r33", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_18_div_4_Template", "ctx_r9", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_19_div_4_div_1_Template", "formControl_r39", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_19_div_4_Template", "ctx_r10", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_6_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_ng_container_7_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_13_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_14_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_18_Template", "EditReadingListModalComponent_ng_container_0_ng_template_11_div_19_Template", "ctx_r3", "\u0275\u0275pipeBind1", "currentUser$", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r47", "ctx_r46", "\u0275\u0275nextContext", "\u0275\u0275resetView", "imageUrls", "ctx_r48", "updateSelectedIndex", "ctx_r49", "updateSelectedImage", "ctx_r50", "handleReset", "ctx_r4", "readingList", "coverImageLocked", "_r52", "ctx_r51", "close", "ctx_r53", "active", "EditReadingListModalComponent_ng_container_0_ng_template_11_Template", "EditReadingListModalComponent_ng_container_0_ng_template_15_Template", "ctx_r54", "ctx_r55", "save", "\u0275\u0275pureFunction1", "_c0", "ctx_r0", "title", "\u0275\u0275attribute", "\u0275\u0275classMapInterpolate1", "utilityService", "getActiveBreakpoint", "Breakpoint", "Mobile", "\u0275\u0275propertyInterpolate", "TabID", "General", "CoverImage", "_r2", "EditReadingListModalComponent", "constructor", "ngModal", "readingListService", "uploadService", "toastr", "imageService", "cdRef", "destroyRef", "inject", "DestroyRef", "coverImageIndex", "selectedCover", "ngOnInit", "FormGroup", "FormControl", "nonNullable", "validators", "Validators", "summary", "promoted", "startingMonth", "startingYear", "endingMonth", "endingYear", "valueChanges", "pipe", "debounceTime", "distinctUntilChanged", "switchMap", "name", "nameExists", "tap", "exists", "isExistingName", "value", "setErrors", "markForCheck", "takeUntilDestroyed", "subscribe", "push", "randomize", "getReadingListCoverImage", "id", "items", "length", "getListItems", "map", "rli", "getChapterCoverImage", "chapterId", "dismiss", "undefined", "trim", "model", "__spreadProps", "__spreadValues", "readingListId", "apis", "update", "updateReadingListCoverImage", "forkJoin", "results", "success", "translate", "index", "detectChanges", "url", "\u0275\u0275directiveInject", "NgbActiveModal", "ReadingListService", "UtilityService", "UploadService", "ToastrService", "ImageService", "ChangeDetectorRef", "AccountService", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "EditReadingListModalComponent_ng_container_0_Template", "NgbNav", "NgbNavItem", "NgbNavItemRole", "NgbNavLink", "NgbNavContent", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NumberValueAccessor", "CheckboxControlValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "NgIf", "NgbTooltip", "NgTemplateOutlet", "CoverImageChooserComponent", "NgbNavOutlet", "AsyncPipe", "TranslocoDirective", "styles", "changeDetection", "_EditReadingListModalComponent", "ActionService", "constructor", "libraryService", "seriesService", "readerService", "toastr", "modalService", "confirmService", "memberService", "deviceService", "onDestroy", "Subject", "readingListModalRef", "collectionModalRef", "ngOnDestroy", "next", "complete", "scanLibrary", "library", "callback", "__async", "hasOwnProperty", "id", "undefined", "force", "scan", "pipe", "take", "subscribe", "res", "info", "translate", "name", "refreshMetadata", "confirm", "forceUpdate", "editLibrary", "modalRef", "open", "LibrarySettingsModalComponent", "size", "fullscreen", "componentInstance", "closed", "closeResult", "analyzeFiles", "alert", "analyze", "markSeriesAsRead", "series", "markRead", "pagesRead", "pages", "success", "markSeriesAsUnread", "markUnread", "scanSeries", "libraryId", "analyzeFilesForSeries", "refreshMetdata", "markVolumeAsRead", "seriesId", "volume", "markVolumeRead", "chapters", "forEach", "c", "markVolumeAsUnread", "markVolumeUnread", "markChapterAsRead", "chapter", "saveProgress", "volumeId", "results", "markChapterAsUnread", "markMultipleAsRead", "volumes", "markMultipleRead", "map", "v", "markMultipleAsUnread", "markMultipleUnread", "markMultipleSeriesAsRead", "markMultipleSeriesRead", "s", "markMultipleSeriesAsUnread", "markMultipleSeriesUnread", "addMultipleToReadingList", "AddToListModalComponent", "scrollable", "volumeIds", "chapterIds", "title", "type", "ADD_FLOW", "Multiple", "dismissed", "addMultipleSeriesToWantToReadList", "seriesIds", "addSeriesToWantToRead", "removeMultipleSeriesFromWantToReadList", "removeSeriesToWantToRead", "addMultipleSeriesToReadingList", "Multiple_Series", "addMultipleSeriesToCollectionTag", "BulkAddToCollectionComponent", "windowClass", "addSeriesToReadingList", "Series", "addVolumeToReadingList", "Volume", "addChapterToReadingList", "chapterId", "Chapter", "editReadingList", "readingList", "EditReadingListModalComponent", "list", "deleteMultipleSeries", "count", "length", "deleteSeries", "delete", "sendToDevice", "device", "sendTo", "sendSeriesToDevice", "sendSeriesTo", "\u0275\u0275inject", "LibraryService", "SeriesService", "ReaderService", "ToastrService", "NgbModal", "ConfirmService", "MemberService", "DeviceService", "factory", "\u0275fac", "providedIn", "_ActionService", "A11yClickDirective", "constructor", "element", "ngOnInit", "keyCodes", "keyCodeArray", "split", "onEvent", "event", "keyCodeCondition", "that", "flag", "keyCode", "which", "charCode", "indexOf", "toString", "length", "nativeElement", "click", "preventDefault", "\u0275\u0275directiveInject", "ElementRef", "selectors", "hostBindings", "rf", "ctx", "$event", "_A11yClickDirective", "\u0275\u0275elementContainer", "\u0275\u0275property", "ctx_r2", "itemTemplate", "\u0275\u0275pureFunction2", "_c1", "item_r4", "i_r5", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r7", "ctx_r6", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleVisible", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275attribute", "ctx_r3", "isCollapsed", "\u0275\u0275advance", "\u0275\u0275textInterpolate1", "t_r1", "\u0275\u0275pureFunction1", "_c2", "itemsLeft", "\u0275\u0275elementContainerStart", "\u0275\u0275template", "BadgeExpanderComponent_ng_container_0_ng_container_3_Template", "BadgeExpanderComponent_ng_container_0_button_4_Template", "\u0275\u0275elementContainerEnd", "ctx_r0", "visibleItems", "BadgeExpanderComponent", "constructor", "cdRef", "inject", "ChangeDetectorRef", "items", "itemsTillExpander", "Math", "max", "length", "ngOnInit", "slice", "markForCheck", "selectors", "contentQueries", "rf", "ctx", "dirIndex", "BadgeExpanderComponent_ng_container_0_Template", "CommonModule", "NgForOf", "NgIf", "NgTemplateOutlet", "TranslocoDirective", "styles", "changeDetection", "_BadgeExpanderComponent", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r9", "item_r3", "\u0275\u0275nextContext", "$implicit", "ctx_r8", "\u0275\u0275resetView", "goTo", "queryParam", "id", "\u0275\u0275elementContainer", "\u0275\u0275elementEnd", "\u0275\u0275elementContainerEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r5", "itemTemplate", "\u0275\u0275pureFunction2", "_c2", "position_r4", "_r13", "ctx_r12", "ctx_r6", "TagBadgeCursor", "Clickable", "titleTemplate", "\u0275\u0275template", "MetadataDetailComponent_div_0_ng_template_6_ng_container_0_Template", "MetadataDetailComponent_div_0_ng_template_6_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "ctx_r1", "_r7", "\u0275\u0275text", "MetadataDetailComponent_div_0_ng_template_6_Template", "\u0275\u0275textInterpolate", "ctx_r0", "heading", "tags", "utilityService", "getActiveBreakpoint", "Breakpoint", "Desktop", "MetadataDetailComponent", "constructor", "filterUtilityService", "inject", "FilterUtilitiesService", "UtilityService", "FilterField", "None", "queryParamName", "filter", "applyFilter", "libraryId", "FilterComparison", "Equal", "subscribe", "selectors", "contentQueries", "rf", "ctx", "dirIndex", "MetadataDetailComponent_div_0_Template", "length", "CommonModule", "NgIf", "NgTemplateOutlet", "A11yClickDirective", "BadgeExpanderComponent", "TagBadgeComponent", "styles", "changeDetection", "_MetadataDetailComponent", "\u0275\u0275elementContainerStart", "\u0275\u0275element", "\u0275\u0275elementContainerEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r1", "staff", "imageUrl", "\u0275\u0275elementStart", "\u0275\u0275template", "PersonBadgeComponent_div_0_ng_container_2_Template", "PersonBadgeComponent_div_0_ng_template_3_Template", "\u0275\u0275templateRefExtractor", "\u0275\u0275text", "\u0275\u0275elementEnd", "ctx_r0", "isStaff", "endsWith", "_r3", "\u0275\u0275textInterpolate1", "person", "name", "PersonBadgeComponent", "constructor", "cdRef", "inject", "ChangeDetectorRef", "ngOnInit", "markForCheck", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "PersonBadgeComponent_div_0_Template", "undefined", "CommonModule", "NgIf", "ImageComponent", "styles", "changeDetection", "_PersonBadgeComponent", "\u0275\u0275element", "\u0275\u0275property", "coverUrl_r6", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_6_app_image_2_Template", "\u0275\u0275elementEnd", "\u0275\u0275elementContainerEnd", "\u0275\u0275advance", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "t_r1", "\u0275\u0275pureFunction2", "_c0", "ctx_r9", "externalSeries", "volumeCount", "chapterCount", "ctx_r10", "summary", "item_r18", "item_r19", "name", "item_r20", "imageUrl", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_ng_template_13_ng_container_3_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_ng_template_13_ng_template_4_Template", "\u0275\u0275templateRefExtractor", "endsWith", "_r23", "\u0275\u0275textInterpolate", "role", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_div_1_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_app_read_more_2_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_ng_template_5_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_ng_template_9_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_ng_template_13_Template", "ctx_r3", "genres", "tags", "staff", "item_r33", "title", "item_r34", "item_r35", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r37", "ctx_r36", "\u0275\u0275nextContext", "\u0275\u0275resetView", "toggleWantToRead", "SeriesPreviewDrawerComponent_ng_container_0_ng_template_8_ng_container_0_ng_template_10_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_template_8_ng_container_0_ng_template_14_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_template_8_ng_container_0_ng_template_18_Template", "\u0275\u0275pipeBind1", "ctx_r26", "localSeries", "publicationStatus", "\u0275\u0275propertyInterpolate", "wantToRead", "\u0275\u0275classMapInterpolate1", "localStaff", "SeriesPreviewDrawerComponent_ng_container_0_ng_template_8_ng_container_0_Template", "ctx_r4", "_r40", "ctx_r39", "close", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_6_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_container_7_Template", "SeriesPreviewDrawerComponent_ng_container_0_ng_template_8_Template", "ctx_r0", "\u0275\u0275attribute", "CoverUrl", "_r5", "isLoading", "url", "\u0275\u0275sanitizeUrl", "SeriesPreviewDrawerComponent", "constructor", "libraryId", "isExternalSeries", "activeOffcanvas", "inject", "NgbActiveOffcanvas", "seriesService", "SeriesService", "imageService", "ImageService", "actionService", "ActionService", "cdRef", "ChangeDetectorRef", "coverUrl", "placeholderImage", "getSeriesCoverImage", "seriesId", "ngOnInit", "getExternalSeriesDetails", "aniListId", "malId", "subscribe", "siteUrl", "markForCheck", "getMetadata", "data", "length", "externalSeriesData", "isWantToRead", "writers", "map", "p", "removeMultipleSeriesFromWantToReadList", "addMultipleSeriesToWantToReadList", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "SeriesPreviewDrawerComponent_ng_container_0_Template", "CommonModule", "NgIf", "TranslocoDirective", "ImageComponent", "LoadingComponent", "MetadataDetailComponent", "TagBadgeComponent", "PublicationStatusPipe", "ReadMoreComponent", "NgbTooltip", "styles", "changeDetection", "_SeriesPreviewDrawerComponent", "\u0275\u0275elementContainerStart", "\u0275\u0275elementStart", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r2", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleClick", "ctx_r3", "selection", "emit", "selected", "\u0275\u0275elementEnd", "\u0275\u0275elementContainerEnd", "\u0275\u0275advance", "\u0275\u0275property", "ctx_r0", "data", "name", "actions", "suppressLibraryLink", "imageUrl", "pages", "pagesRead", "allowSelection", "\u0275\u0275pipeBind1", "relation", "deepClone", "obj", "Array", "map", "item", "clonedObj", "key", "Object", "prototype", "hasOwnProperty", "call", "SeriesCardComponent", "constructor", "router", "cdRef", "seriesService", "toastr", "modalService", "imageService", "actionFactoryService", "actionService", "libraryId", "undefined", "isOnDeck", "previewOnClick", "clicked", "EventEmitter", "reload", "dataChanged", "offcanvasService", "inject", "NgbOffcanvas", "ngOnInit", "getSeriesCoverImage", "id", "markForCheck", "ngOnChanges", "changes", "getSeriesActions", "action", "series", "handleSeriesActionCallback", "othersIndex", "findIndex", "title", "othersAction", "children", "o", "Action", "RemoveFromOnDeck", "push", "callback", "class", "requiresAdmin", "MarkAsRead", "markAsRead", "MarkAsUnread", "markAsUnread", "Scan", "scanLibrary", "RefreshMetadata", "refreshMetadata", "Delete", "deleteSeries", "Edit", "openEditModal", "AddToReadingList", "addSeriesToReadingList", "AddToWantToReadList", "addMultipleSeriesToWantToReadList", "RemoveFromWantToReadList", "removeMultipleSeriesFromWantToReadList", "url", "startsWith", "AddToCollection", "addMultipleSeriesToCollectionTag", "AnalyzeFiles", "analyzeFilesForSeries", "SendTo", "device", "_extra", "sendSeriesToDevice", "removeFromOnDeck", "subscribe", "modalRef", "open", "EditSeriesModalComponent", "size", "componentInstance", "closed", "closeResult", "success", "getSeries", "__async", "refreshMetdata", "scan", "res", "translate", "result", "markSeriesAsUnread", "markSeriesAsRead", "ref", "SeriesPreviewDrawerComponent", "position", "panelClass", "isExternalSeries", "seriesId", "navigate", "\u0275\u0275directiveInject", "Router", "ChangeDetectorRef", "SeriesService", "ToastrService", "NgbModal", "ImageService", "ActionFactoryService", "ActionService", "selectors", "inputs", "outputs", "standalone", "features", "\u0275\u0275NgOnChangesFeature", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "SeriesCardComponent_ng_container_0_Template", "CommonModule", "NgIf", "CardItemComponent", "RelationshipPipe", "styles", "changeDetection", "_SeriesCardComponent"] }