{ "version": 3, "sources": ["src/app/want-to-read/_components/want-to-read/want-to-read.component.ts", "src/app/want-to-read/_components/want-to-read/want-to-read.component.html", "src/app/_routes/want-to-read-routing.module.ts"], "sourcesContent": ["import { DOCUMENT, NgStyle, NgIf, DecimalPipe } from '@angular/common';\nimport {\n AfterContentChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component, DestroyRef,\n ElementRef,\n EventEmitter,\n HostListener,\n inject,\n Inject,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { take, debounceTime } from 'rxjs';\nimport { BulkSelectionService } from 'src/app/cards/bulk-selection.service';\nimport { FilterSettings } from 'src/app/metadata-filter/filter-settings';\nimport { FilterUtilitiesService } from 'src/app/shared/_services/filter-utilities.service';\nimport { UtilityService, KEY_CODES } from 'src/app/shared/_services/utility.service';\nimport { SeriesRemovedEvent } from 'src/app/_models/events/series-removed-event';\nimport { JumpKey } from 'src/app/_models/jumpbar/jump-key';\nimport { Pagination } from 'src/app/_models/pagination';\nimport { Series } from 'src/app/_models/series';\nimport { FilterEvent } from 'src/app/_models/metadata/series-filter';\nimport { Action, ActionItem } from 'src/app/_services/action-factory.service';\nimport { ActionService } from 'src/app/_services/action.service';\nimport { ImageService } from 'src/app/_services/image.service';\nimport { JumpbarService } from 'src/app/_services/jumpbar.service';\nimport { MessageHubService, EVENTS } from 'src/app/_services/message-hub.service';\nimport { ScrollService } from 'src/app/_services/scroll.service';\nimport { SeriesService } from 'src/app/_services/series.service';\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\nimport { SeriesCardComponent } from '../../../cards/series-card/series-card.component';\nimport { CardDetailLayoutComponent } from '../../../cards/card-detail-layout/card-detail-layout.component';\nimport { BulkOperationsComponent } from '../../../cards/bulk-operations/bulk-operations.component';\nimport { SideNavCompanionBarComponent } from '../../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component';\nimport {translate, TranslocoDirective} from \"@ngneat/transloco\";\nimport {SeriesFilterV2} from \"../../../_models/metadata/v2/series-filter-v2\";\n\n\n@Component({\n selector: 'app-want-to-read',\n templateUrl: './want-to-read.component.html',\n styleUrls: ['./want-to-read.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [SideNavCompanionBarComponent, NgStyle, BulkOperationsComponent, CardDetailLayoutComponent, SeriesCardComponent, NgIf, DecimalPipe, TranslocoDirective]\n})\nexport class WantToReadComponent implements OnInit, AfterContentChecked {\n\n @ViewChild('scrollingBlock') scrollingBlock: ElementRef | undefined;\n @ViewChild('companionBar') companionBar: ElementRef | undefined;\n private readonly destroyRef = inject(DestroyRef);\n\n isLoading: boolean = true;\n series: Array = [];\n pagination: Pagination = new Pagination();\n filter: SeriesFilterV2 | undefined = undefined;\n filterSettings: FilterSettings = new FilterSettings();\n refresh: EventEmitter = new EventEmitter();\n\n filterActiveCheck!: SeriesFilterV2;\n filterActive: boolean = false;\n\n jumpbarKeys: Array = [];\n\n filterOpen: EventEmitter = new EventEmitter();\n\n trackByIdentity = (index: number, item: Series) => `${item.name}_${item.localizedName}_${item.pagesRead}`;\n\n bulkActionCallback = (action: ActionItem, data: any) => {\n const selectedSeriesIndices = this.bulkSelectionService.getSelectedCardsForSource('series');\n const selectedSeries = this.series.filter((series, index: number) => selectedSeriesIndices.includes(index + ''));\n\n switch (action.action) {\n case Action.RemoveFromWantToReadList:\n this.actionService.removeMultipleSeriesFromWantToReadList(selectedSeries.map(s => s.id), () => {\n this.bulkSelectionService.deselectAll();\n this.loadPage();\n });\n break;\n }\n }\n\n collectionTag: any;\n\n get ScrollingBlockHeight() {\n if (this.scrollingBlock === undefined) return 'calc(var(--vh)*100)';\n const navbar = this.document.querySelector('.navbar') as HTMLElement;\n if (navbar === null) return 'calc(var(--vh)*100)';\n\n const companionHeight = this.companionBar!.nativeElement.offsetHeight;\n const navbarHeight = navbar.offsetHeight;\n const totalHeight = companionHeight + navbarHeight + 21; //21px to account for padding\n return 'calc(var(--vh)*100 - ' + totalHeight + 'px)';\n }\n\n constructor(public imageService: ImageService, private router: Router, private route: ActivatedRoute,\n private seriesService: SeriesService, private titleService: Title,\n public bulkSelectionService: BulkSelectionService, private actionService: ActionService, private messageHub: MessageHubService,\n private filterUtilityService: FilterUtilitiesService, private utilityService: UtilityService, @Inject(DOCUMENT) private document: Document,\n private readonly cdRef: ChangeDetectorRef, private scrollService: ScrollService, private hubService: MessageHubService,\n private jumpbarService: JumpbarService) {\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\n this.titleService.setTitle('Kavita - ' + translate('want-to-read.title'));\n\n this.filterUtilityService.filterPresetsFromUrl(this.route.snapshot).subscribe(filter => {\n this.filter = filter;\n\n this.filterActiveCheck = this.filterUtilityService.createSeriesV2Filter();\n this.filterActiveCheck!.statements.push(this.filterUtilityService.createSeriesV2DefaultStatement());\n this.filterSettings.presetsV2 = this.filter;\n\n this.cdRef.markForCheck();\n });\n\n this.hubService.messages$.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((event) => {\n if (event.event === EVENTS.SeriesRemoved) {\n const seriesRemoved = event.payload as SeriesRemovedEvent;\n if (!this.utilityService.deepEqual(this.filter, this.filterActiveCheck)) {\n this.loadPage();\n return;\n }\n\n this.series = this.series.filter(s => s.id != seriesRemoved.seriesId);\n this.pagination.totalItems--;\n this.cdRef.markForCheck();\n this.refresh.emit();\n }\n });\n\n }\n\n ngOnInit(): void {\n this.messageHub.messages$.pipe(takeUntilDestroyed(this.destroyRef), debounceTime(2000)).subscribe(event => {\n if (event.event === EVENTS.SeriesRemoved) {\n this.loadPage();\n }\n });\n }\n\n ngAfterContentChecked(): void {\n this.scrollService.setScrollContainer(this.scrollingBlock);\n }\n\n @HostListener('document:keydown.shift', ['$event'])\n handleKeypress(event: KeyboardEvent) {\n if (event.key === KEY_CODES.SHIFT) {\n this.bulkSelectionService.isShiftDown = true;\n }\n }\n\n @HostListener('document:keyup.shift', ['$event'])\n handleKeyUp(event: KeyboardEvent) {\n if (event.key === KEY_CODES.SHIFT) {\n this.bulkSelectionService.isShiftDown = false;\n }\n }\n\n removeSeries(seriesId: number) {\n this.series = this.series.filter(s => s.id != seriesId);\n this.pagination.totalItems--;\n this.cdRef.markForCheck();\n this.refresh.emit();\n }\n\n loadPage() {\n this.filterActive = !this.utilityService.deepEqual(this.filter, this.filterActiveCheck);\n this.isLoading = true;\n this.cdRef.markForCheck();\n\n this.seriesService.getWantToRead(undefined, undefined, this.filter).pipe(take(1)).subscribe(paginatedList => {\n this.series = paginatedList.result;\n this.pagination = paginatedList.pagination;\n this.jumpbarKeys = this.jumpbarService.getJumpKeys(this.series, (series: Series) => series.name);\n this.isLoading = false;\n this.cdRef.markForCheck();\n });\n }\n\n updateFilter(data: FilterEvent) {\n if (data.filterV2 === undefined) return;\n this.filter = data.filterV2;\n\n if (data.isFirst) {\n this.loadPage();\n return;\n }\n\n this.filterUtilityService.updateUrlFromFilter(this.filter).subscribe((encodedFilter) => {\n this.loadPage();\n });\n }\n}\n\n\n", "\n
\n \n \n

\n {{t('title')}}\n

\n
\n
{{t('series-count', {num: (pagination.totalItems | number)})}}
\n
\n
\n\n
\n \n\n \n \n \n \n\n
\n \n {{t('no-items')}}\n \n
\n\n
\n \n {{t('no-items-filtered')}}\n \n
\n\n
\n
\n
\n", "import { Routes } from '@angular/router';\nimport { WantToReadComponent } from '../want-to-read/_components/want-to-read/want-to-read.component';\n\nexport const routes: Routes = [\n {path: '', component: WantToReadComponent, pathMatch: 'full'},\n];\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275listener", "$event", "\u0275\u0275restoreView", "_r4", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "removeSeries", "position_r5", "idx", "bulkSelectionService", "handleCardSelection", "series", "length", "\u0275\u0275elementEnd", "\u0275\u0275property", "item_r6", "libraryId", "isCardSelected", "\u0275\u0275text", "\u0275\u0275textInterpolate1", "t_r7", "\u0275\u0275template", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_div_3_ng_template_1_Template", "\u0275\u0275templateRefExtractor", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_div_4_ng_template_1_Template", "_r3", "updateFilter", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_ng_template_1_Template", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_div_3_Template", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_div_4_Template", "isLoading", "pagination", "filterSettings", "filterOpen", "jumpbarKeys", "trackByIdentity", "refresh", "\u0275\u0275advance", "filterActive", "\u0275\u0275elementContainerStart", "_r1", "emit", "\u0275\u0275element", "WantToReadComponent_ng_container_0_app_card_detail_layout_13_Template", "\u0275\u0275textInterpolate", "\u0275\u0275pureFunction1", "_c2", "\u0275\u0275pipeBind1", "totalItems", "_c3", "ScrollingBlockHeight", "bulkActionCallback", "filter", "WantToReadComponent", "scrollingBlock", "undefined", "navbar", "document", "querySelector", "companionHeight", "companionBar", "nativeElement", "offsetHeight", "navbarHeight", "constructor", "imageService", "router", "route", "seriesService", "titleService", "actionService", "messageHub", "filterUtilityService", "utilityService", "cdRef", "scrollService", "hubService", "jumpbarService", "destroyRef", "inject", "DestroyRef", "Pagination", "FilterSettings", "EventEmitter", "index", "item", "name", "localizedName", "pagesRead", "action", "data", "selectedSeriesIndices", "getSelectedCardsForSource", "selectedSeries", "includes", "Action", "RemoveFromWantToReadList", "removeMultipleSeriesFromWantToReadList", "map", "s", "id", "deselectAll", "loadPage", "routeReuseStrategy", "shouldReuseRoute", "setTitle", "translate", "filterPresetsFromUrl", "snapshot", "subscribe", "filterActiveCheck", "createSeriesV2Filter", "statements", "push", "createSeriesV2DefaultStatement", "presetsV2", "markForCheck", "messages$", "pipe", "takeUntilDestroyed", "event", "EVENTS", "SeriesRemoved", "seriesRemoved", "payload", "deepEqual", "seriesId", "ngOnInit", "debounceTime", "ngAfterContentChecked", "setScrollContainer", "handleKeypress", "key", "KEY_CODES", "SHIFT", "isShiftDown", "handleKeyUp", "getWantToRead", "take", "paginatedList", "result", "getJumpKeys", "filterV2", "isFirst", "updateUrlFromFilter", "encodedFilter", "\u0275\u0275directiveInject", "ImageService", "Router", "ActivatedRoute", "SeriesService", "Title", "BulkSelectionService", "ActionService", "MessageHubService", "FilterUtilitiesService", "UtilityService", "DOCUMENT", "ChangeDetectorRef", "ScrollService", "JumpbarService", "selectors", "viewQuery", "rf", "ctx", "\u0275\u0275resolveDocument", "WantToReadComponent_ng_container_0_Template", "SideNavCompanionBarComponent", "NgStyle", "BulkOperationsComponent", "CardDetailLayoutComponent", "SeriesCardComponent", "NgIf", "DecimalPipe", "TranslocoDirective", "styles", "changeDetection", "_WantToReadComponent", "routes", "path", "component", "WantToReadComponent", "pathMatch"] }