{ "version": 3, "sources": ["src/app/cards/chapter-card/chapter-card.component.ts", "src/app/cards/chapter-card/chapter-card.component.html"], "sourcesContent": ["import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n DestroyRef,\r\n EventEmitter, HostListener,\r\n inject,\r\n Input, OnInit,\r\n Output\r\n} from '@angular/core';\r\nimport {ImageService} from \"../../_services/image.service\";\r\nimport {BulkSelectionService} from \"../bulk-selection.service\";\r\nimport {DownloadEvent, DownloadService} from \"../../shared/_services/download.service\";\r\nimport {EVENTS, MessageHubService} from \"../../_services/message-hub.service\";\r\nimport {AccountService} from \"../../_services/account.service\";\r\nimport {ScrollService} from \"../../_services/scroll.service\";\r\nimport {Action, ActionFactoryService, ActionItem} from \"../../_services/action-factory.service\";\r\nimport {Chapter} from \"../../_models/chapter\";\r\nimport {Observable} from \"rxjs\";\r\nimport {User} from \"../../_models/user\";\r\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\r\nimport {NgbProgressbar, NgbTooltip} from \"@ng-bootstrap/ng-bootstrap\";\r\nimport {DecimalPipe} from \"@angular/common\";\r\nimport {ImageComponent} from \"../../shared/image/image.component\";\r\nimport {DownloadIndicatorComponent} from \"../download-indicator/download-indicator.component\";\r\nimport {FormsModule} from \"@angular/forms\";\r\nimport {EntityTitleComponent} from \"../entity-title/entity-title.component\";\r\nimport {CardActionablesComponent} from \"../../_single-module/card-actionables/card-actionables.component\";\r\nimport {Router, RouterLink} from \"@angular/router\";\r\nimport {TranslocoDirective} from \"@jsverse/transloco\";\r\nimport {DefaultValuePipe} from \"../../_pipes/default-value.pipe\";\r\nimport {filter, map} from \"rxjs/operators\";\r\nimport {UserProgressUpdateEvent} from \"../../_models/events/user-progress-update-event\";\r\nimport {ReaderService} from \"../../_services/reader.service\";\r\nimport {LibraryType} from \"../../_models/library/library\";\r\nimport {Device} from \"../../_models/device/device\";\r\nimport {ActionService} from \"../../_services/action.service\";\r\n\r\n@Component({\r\n selector: 'app-chapter-card',\r\n standalone: true,\r\n imports: [\r\n NgbTooltip,\r\n NgbProgressbar,\r\n DecimalPipe,\r\n ImageComponent,\r\n DownloadIndicatorComponent,\r\n FormsModule,\r\n EntityTitleComponent,\r\n CardActionablesComponent,\r\n RouterLink,\r\n TranslocoDirective,\r\n DefaultValuePipe\r\n ],\r\n templateUrl: './chapter-card.component.html',\r\n styleUrl: './chapter-card.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ChapterCardComponent implements OnInit {\r\n private readonly destroyRef = inject(DestroyRef);\r\n public readonly imageService = inject(ImageService);\r\n public readonly bulkSelectionService = inject(BulkSelectionService);\r\n private readonly downloadService = inject(DownloadService);\r\n private readonly actionService = inject(ActionService);\r\n private readonly messageHub = inject(MessageHubService);\r\n private readonly accountService = inject(AccountService);\r\n private readonly scrollService = inject(ScrollService);\r\n private readonly cdRef = inject(ChangeDetectorRef);\r\n private readonly actionFactoryService = inject(ActionFactoryService);\r\n private readonly router = inject(Router);\r\n private readonly readerService = inject(ReaderService);\r\n\r\n @Input({required: true}) libraryId: number = 0;\r\n @Input({required: true}) seriesId: number = 0;\r\n @Input({required: true}) chapter!: Chapter;\r\n @Input({required: true}) libraryType!: LibraryType;\r\n /**\r\n * Any actions to perform on the card\r\n */\r\n @Input() actions: ActionItem[] = [];\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 * This will suppress the \"cannot read archive warning\" when total pages is 0\r\n */\r\n @Input() suppressArchiveWarning: boolean = false;\r\n /**\r\n * When the card is selected.\r\n */\r\n @Output() selection = new EventEmitter();\r\n\r\n /**\r\n * This is the download we get from download service.\r\n */\r\n download$: Observable | null = null;\r\n /**\r\n * Handles touch events for selection on mobile devices\r\n */\r\n prevTouchTime: number = 0;\r\n /**\r\n * Handles touch events for selection on mobile devices to ensure you aren't touch scrolling\r\n */\r\n prevOffset: number = 0;\r\n selectionInProgress: boolean = false;\r\n\r\n private user: User | undefined;\r\n\r\n @HostListener('touchmove', ['$event'])\r\n onTouchMove(event: TouchEvent) {\r\n if (!this.allowSelection) return;\r\n\r\n this.selectionInProgress = false;\r\n this.cdRef.markForCheck();\r\n }\r\n\r\n @HostListener('touchstart', ['$event'])\r\n onTouchStart(event: TouchEvent) {\r\n if (!this.allowSelection) return;\r\n\r\n this.prevTouchTime = event.timeStamp;\r\n this.prevOffset = this.scrollService.scrollPosition;\r\n this.selectionInProgress = true;\r\n }\r\n\r\n @HostListener('touchend', ['$event'])\r\n onTouchEnd(event: TouchEvent) {\r\n if (!this.allowSelection) return;\r\n const delta = event.timeStamp - this.prevTouchTime;\r\n const verticalOffset = this.scrollService.scrollPosition;\r\n\r\n if (delta >= 300 && delta <= 1000 && (verticalOffset === this.prevOffset) && this.selectionInProgress) {\r\n this.handleSelection();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n this.prevTouchTime = 0;\r\n this.selectionInProgress = false;\r\n }\r\n\r\n ngOnInit() {\r\n this.filterSendTo();\r\n\r\n this.accountService.currentUser$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(user => {\r\n this.user = user;\r\n });\r\n\r\n this.download$ = this.downloadService.activeDownloads$.pipe(takeUntilDestroyed(this.destroyRef), map((events) => {\r\n return this.downloadService.mapToEntityType(events, this.chapter);\r\n }));\r\n\r\n\r\n this.messageHub.messages$.pipe(filter(event => event.event === EVENTS.UserProgressUpdate),\r\n map(evt => evt.payload as UserProgressUpdateEvent), takeUntilDestroyed(this.destroyRef)).subscribe(updateEvent => {\r\n if (this.user === undefined || this.user.username !== updateEvent.username) return;\r\n if (updateEvent.chapterId !== this.chapter.id) return;\r\n\r\n this.chapter.pagesRead = updateEvent.pagesRead;\r\n this.cdRef.detectChanges();\r\n });\r\n }\r\n\r\n handleSelection(event?: any) {\r\n if (event) {\r\n event.stopPropagation();\r\n }\r\n this.selection.emit(this.selected);\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n\r\n filterSendTo() {\r\n if (!this.actions || this.actions.length === 0) return;\r\n\r\n this.actions = this.actionFactoryService.filterSendToAction(this.actions, this.chapter);\r\n }\r\n\r\n performAction(action: ActionItem) {\r\n if (action.action == Action.Download) {\r\n this.downloadService.download('chapter', this.chapter);\r\n return; // Don't propagate the download from a card\r\n }\r\n\r\n if (action.action == Action.SendTo) {\r\n const device = (action._extra!.data as Device);\r\n this.actionService.sendToDevice([this.chapter.id], device);\r\n return;\r\n }\r\n\r\n if (typeof action.callback === 'function') {\r\n action.callback(action, this.chapter);\r\n }\r\n }\r\n\r\n handleClick(event: any) {\r\n if (this.bulkSelectionService.hasSelections()) {\r\n this.handleSelection(event);\r\n return;\r\n }\r\n\r\n this.router.navigate(['library', this.libraryId, 'series', this.seriesId, 'chapter', this.chapter.id]);\r\n }\r\n\r\n read(event: any) {\r\n event.stopPropagation();\r\n this.readerService.readChapter(this.libraryId, this.seriesId, this.chapter, false);\r\n }\r\n\r\n\r\n protected readonly LibraryType = LibraryType;\r\n}\r\n", "\r\n
\r\n
\r\n @if (chapter.pages > 0 || suppressArchiveWarning) {\r\n \r\n } @else if (chapter.pages === 0 && !suppressArchiveWarning) {\r\n \r\n }\r\n\r\n
\r\n @if (chapter.pagesRead > 0 && chapter.pagesRead < chapter.pages && chapter.pages > 0 && chapter.pagesRead !== chapter.pages) {\r\n

\r\n \r\n

\r\n }\r\n\r\n \r\n \r\n \r\n
\r\n\r\n @if(chapter.pages === 0 && !suppressArchiveWarning) {\r\n
\r\n {{t('cannot-read')}}\r\n
\r\n }\r\n\r\n @if (chapter.pagesRead === 0 && chapter.pages > 0) {\r\n
\r\n
\r\n
\r\n }\r\n\r\n @if (allowSelection) {\r\n
\r\n \r\n
\r\n }\r\n\r\n @if (chapter.files.length > 1) {\r\n
\r\n {{chapter.files.length}}\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 @if (chapter.isSpecial) {\r\n
34 ? chapter.title : null\">\r\n
\r\n {{chapter.title || chapter.range}}\r\n
\r\n
\r\n\r\n } @else if (chapter.titleName) {\r\n
34 ? chapter.titleName : null\">\r\n
\r\n {{chapter.titleName}}\r\n
\r\n
\r\n }\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n @if (chapter.isSpecial) {\r\n {{chapter.title || chapter.range}}\r\n } @else {\r\n \r\n }\r\n \r\n \r\n \r\n @if (actions && actions.length > 0) {\r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n"], "mappings": "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", "names": ["\u0275\u0275element", "\u0275\u0275property", "\u0275\u0275pureFunction0", "_c0", "ctx_r1", "imageService", "getChapterCoverImage", "chapter", "id", "errorImage", "\u0275\u0275elementStart", "\u0275\u0275elementEnd", "\u0275\u0275propertyInterpolate1", "\u0275\u0275pipeBind2", "pagesRead", "pages", "\u0275\u0275advance", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "t_r3", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r4", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleSelection", "\u0275\u0275classMapInterpolate1", "bulkSelectionService", "hasSelections", "selected", "_c1", "\u0275\u0275textInterpolate", "files", "length", "title", "range", "titleName", "libraryType", "_r5", "performAction", "actions", "\u0275\u0275elementContainerStart", "_r1", "handleClick", "\u0275\u0275template", "ChapterCardComponent_ng_container_0_Conditional_3_Template", "ChapterCardComponent_ng_container_0_Conditional_4_Template", "ChapterCardComponent_ng_container_0_Conditional_6_Template", "ChapterCardComponent_ng_container_0_Conditional_9_Template", "ChapterCardComponent_ng_container_0_Conditional_10_Template", "ChapterCardComponent_ng_container_0_Conditional_11_Template", "ChapterCardComponent_ng_container_0_Conditional_12_Template", "read", "ChapterCardComponent_ng_container_0_Conditional_19_Template", "ChapterCardComponent_ng_container_0_Conditional_20_Template", "ChapterCardComponent_ng_container_0_Conditional_25_Template", "ChapterCardComponent_ng_container_0_Conditional_26_Template", "ChapterCardComponent_ng_container_0_Conditional_28_Template", "\u0275\u0275conditional", "suppressArchiveWarning", "download$", "allowSelection", "isSpecial", "\u0275\u0275propertyInterpolate", "\u0275\u0275propertyInterpolate3", "libraryId", "seriesId", "ChapterCardComponent", "constructor", "destroyRef", "inject", "DestroyRef", "ImageService", "BulkSelectionService", "downloadService", "DownloadService", "actionService", "ActionService", "messageHub", "MessageHubService", "accountService", "AccountService", "scrollService", "ScrollService", "cdRef", "ChangeDetectorRef", "actionFactoryService", "ActionFactoryService", "router", "Router", "readerService", "ReaderService", "selection", "EventEmitter", "prevTouchTime", "prevOffset", "selectionInProgress", "LibraryType", "onTouchMove", "event", "markForCheck", "onTouchStart", "timeStamp", "scrollPosition", "onTouchEnd", "delta", "verticalOffset", "stopPropagation", "preventDefault", "ngOnInit", "filterSendTo", "currentUser$", "pipe", "takeUntilDestroyed", "subscribe", "user", "activeDownloads$", "map", "events", "mapToEntityType", "messages$", "filter", "EVENTS", "UserProgressUpdate", "evt", "payload", "updateEvent", "undefined", "username", "chapterId", "detectChanges", "emit", "filterSendToAction", "action", "Action", "Download", "download", "SendTo", "device", "_extra", "data", "sendToDevice", "callback", "navigate", "readChapter", "selectors", "hostBindings", "rf", "ctx", "ChapterCardComponent_ng_container_0_Template", "NgbTooltip", "NgbProgressbar", "DecimalPipe", "ImageComponent", "DownloadIndicatorComponent", "FormsModule", "CheckboxControlValueAccessor", "NgControlStatus", "NgModel", "EntityTitleComponent", "CardActionablesComponent", "RouterLink", "TranslocoDirective", "styles", "changeDetection"] }