mirror of
https://github.com/adityachandelgit/BookLore.git
synced 2026-01-09 06:21:08 +08:00
Upgrade Angular to v21 and update all major frontend dependencies (#1674)
This commit is contained in:
parent
7ff72a8916
commit
16ffd5f558
5198
booklore-ui/package-lock.json
generated
5198
booklore-ui/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -12,59 +12,58 @@
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^20.3.5",
|
||||
"@angular/common": "^20.3.5",
|
||||
"@angular/compiler": "^20.3.5",
|
||||
"@angular/core": "^20.3.5",
|
||||
"@angular/forms": "^20.3.5",
|
||||
"@angular/platform-browser": "^20.3.5",
|
||||
"@angular/platform-browser-dynamic": "^20.3.5",
|
||||
"@angular/router": "^20.3.5",
|
||||
"@angular/animations": "^21.0.1",
|
||||
"@angular/cdk": "^21.0.1",
|
||||
"@angular/common": "^21.0.1",
|
||||
"@angular/compiler": "^21.0.1",
|
||||
"@angular/core": "^21.0.1",
|
||||
"@angular/forms": "^21.0.1",
|
||||
"@angular/platform-browser": "^21.0.1",
|
||||
"@angular/platform-browser-dynamic": "^21.0.1",
|
||||
"@angular/router": "^21.0.1",
|
||||
"@iharbeck/ngx-virtual-scroller": "^19.0.1",
|
||||
"@primeng/themes": "^20.0.1",
|
||||
"@stomp/rx-stomp": "^2.0.1",
|
||||
"@stomp/stompjs": "^7.1.1",
|
||||
"@tailwindcss/postcss": "^4.1.8",
|
||||
"@primeng/themes": "^20.3.0",
|
||||
"@stomp/rx-stomp": "^2.3.0",
|
||||
"@stomp/stompjs": "^7.2.1",
|
||||
"@tweenjs/tween.js": "^25.0.0",
|
||||
"angular-oauth2-oidc": "^20.0.0",
|
||||
"chart.js": "^4.5.0",
|
||||
"angular-oauth2-oidc": "^20.0.2",
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-chart-matrix": "^3.0.0",
|
||||
"chartjs-plugin-datalabels": "^2.2.0",
|
||||
"epubjs": "^0.3.93",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"ng-lazyload-image": "^9.1.3",
|
||||
"ng2-charts": "^8.0.0",
|
||||
"ngx-extended-pdf-viewer": "^23.3.1",
|
||||
"ngx-extended-pdf-viewer": "^25.6.1",
|
||||
"ngx-infinite-scroll": "^20.0.0",
|
||||
"primeicons": "^7.0.0",
|
||||
"primeng": "^20.0.1",
|
||||
"primeng": "^20.3.0",
|
||||
"quill": "^2.0.3",
|
||||
"rxjs": "^7.8.2",
|
||||
"showdown": "^2.1.0",
|
||||
"tailwindcss-primeui": "^0.6.1",
|
||||
"tslib": "^2.8.1",
|
||||
"ws": "^8.18.2",
|
||||
"zone.js": "^0.15.1",
|
||||
"@angular/cdk": "^20.2.9"
|
||||
"ws": "^8.18.3",
|
||||
"zone.js": "^0.16.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^20.3.6",
|
||||
"@angular/cli": "^20.3.6",
|
||||
"@angular/compiler-cli": "^20.3.5",
|
||||
"@tailwindcss/typography": "^0.5.16",
|
||||
"@types/jasmine": "^5.1.8",
|
||||
"@angular-devkit/build-angular": "^21.0.1",
|
||||
"@angular/cli": "^21.0.1",
|
||||
"@angular/compiler-cli": "^21.0.1",
|
||||
"@tailwindcss/typography": "^0.5.19",
|
||||
"@types/jasmine": "^5.1.13",
|
||||
"@types/showdown": "^2.0.6",
|
||||
"angular-eslint": "^20.4.0",
|
||||
"autoprefixer": "^10.4.21",
|
||||
"eslint": "^9.33.0",
|
||||
"jasmine-core": "^5.7.1",
|
||||
"angular-eslint": "^21.0.1",
|
||||
"autoprefixer": "^10.4.22",
|
||||
"eslint": "^9.39.1",
|
||||
"jasmine-core": "^5.12.1",
|
||||
"karma": "^6.4.4",
|
||||
"karma-chrome-launcher": "^3.2.0",
|
||||
"karma-coverage": "^2.2.1",
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"karma-jasmine-html-reporter": "^2.1.0",
|
||||
"tailwindcss": "3.4.17",
|
||||
"tailwindcss": "^3.4.17",
|
||||
"typescript": "~5.9.3",
|
||||
"typescript-eslint": "^8.39.0"
|
||||
"typescript-eslint": "^8.48.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ export class BookBrowserComponent implements OnInit, AfterViewInit {
|
||||
searchTerm$ = new BehaviorSubject<string>('');
|
||||
parsedFilters: Record<string, string[]> = {};
|
||||
selectedFilter = new BehaviorSubject<Record<string, any> | null>(null);
|
||||
selectedFilterMode = new BehaviorSubject<'and' | 'or'>('and');
|
||||
selectedFilterMode = new BehaviorSubject<'and' | 'or' | 'single'>('and');
|
||||
protected resetFilterSubject = new Subject<void>();
|
||||
entity: Library | Shelf | MagicShelf | null = null;
|
||||
entityType: EntityType | undefined;
|
||||
@ -244,7 +244,7 @@ export class BookBrowserComponent implements OnInit, AfterViewInit {
|
||||
});
|
||||
|
||||
const parsedFilters: Record<string, string[]> = {};
|
||||
|
||||
|
||||
this.currentFilterLabel = 'All Books';
|
||||
|
||||
if (filterParams) {
|
||||
@ -384,7 +384,7 @@ export class BookBrowserComponent implements OnInit, AfterViewInit {
|
||||
}
|
||||
}
|
||||
|
||||
onFilterModeChanged(mode: 'and' | 'or'): void {
|
||||
onFilterModeChanged(mode: 'and' | 'or' | 'single'): void {
|
||||
this.selectedFilterMode.next(mode);
|
||||
}
|
||||
|
||||
|
||||
@ -45,7 +45,7 @@ export function doesBookMatchReadStatus(book: Book, selected: string[]): boolean
|
||||
|
||||
export class SideBarFilter implements BookFilter {
|
||||
|
||||
constructor(private selectedFilter$: Observable<any>, private selectedFilterMode$: Observable<'and' | 'or'>) {
|
||||
constructor(private selectedFilter$: Observable<any>, private selectedFilterMode$: Observable<'and' | 'or' | 'single'>) {
|
||||
}
|
||||
|
||||
filter(bookState: BookState): Observable<BookState> {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import {Shelf} from './shelf.model';
|
||||
import {CbxBackgroundColor, CbxFitMode, CbxPageSpread, CbxPageViewMode, CbxScrollMode, NewPdfReaderSetting} from '../../settings/user-management/user.service';
|
||||
import {BookReview} from '../components/book-reviews/book-review-service';
|
||||
import {ZoomType} from 'ngx-extended-pdf-viewer';
|
||||
|
||||
export type BookType = "PDF" | "EPUB" | "CBX";
|
||||
|
||||
@ -179,7 +180,7 @@ export interface MetadataUpdateWrapper {
|
||||
}
|
||||
|
||||
export interface PdfViewerSetting {
|
||||
zoom: string | number;
|
||||
zoom: ZoomType;
|
||||
spread: 'off' | 'even' | 'odd';
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import {Component, inject, OnDestroy, OnInit} from '@angular/core';
|
||||
import {ActivatedRoute} from '@angular/router';
|
||||
import {NgxExtendedPdfViewerModule} from 'ngx-extended-pdf-viewer';
|
||||
import {NgxExtendedPdfViewerModule, ZoomType} from 'ngx-extended-pdf-viewer';
|
||||
import {PageTitleService} from "../../../shared/service/page-title.service";
|
||||
import {BookService} from '../../book/service/book.service';
|
||||
import {forkJoin, Subscription} from 'rxjs';
|
||||
@ -24,7 +24,7 @@ export class PdfReaderComponent implements OnInit, OnDestroy {
|
||||
|
||||
page!: number;
|
||||
spread!: 'off' | 'even' | 'odd';
|
||||
zoom!: number | string;
|
||||
zoom!: ZoomType;
|
||||
|
||||
showDownloadButton = false;
|
||||
showPrintButton = false;
|
||||
@ -88,7 +88,7 @@ export class PdfReaderComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
onZoomChange(zoom: string | number): void {
|
||||
onZoomChange(zoom: ZoomType): void {
|
||||
if (zoom !== this.zoom) {
|
||||
this.zoom = zoom;
|
||||
this.updateViewerSetting();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user