This repository has been archived on 2026-05-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Codiki/frontend/src/app/pages/search-publications/search-publications.component.ts
T
florian 0cce8b2982
Build and Deploy Java Gradle Application / build-and-deploy (push) Failing after 53s
Fixing Angular 21 by migrating all values by signals. (#11)
2026-02-03 15:07:55 +01:00

40 lines
1.5 KiB
TypeScript

import {CommonModule} from "@angular/common";
import {Component, effect, inject} from "@angular/core";
import {MatProgressSpinner} from "@angular/material/progress-spinner";
import {ActivatedRoute} from "@angular/router";
import {PublicationListComponent} from "../../components/publication-list/publication-list.component";
import {SearchPublicationsService} from "./search-publications.service";
import {toSignal} from "@angular/core/rxjs-interop";
@Component({
selector: 'app-search-publications',
templateUrl: './search-publications.component.html',
styleUrl: './search-publications.component.scss',
imports: [CommonModule, MatProgressSpinner, PublicationListComponent],
providers: [SearchPublicationsService]
})
export class SearchPublicationsComponent {
private searchPublicationsService = inject(SearchPublicationsService);
private activatedRoute = inject(ActivatedRoute);
publications = this.searchPublicationsService.publications;
isLoading = this.searchPublicationsService.isLoading;
isLoaded = this.searchPublicationsService.isLoaded;
constructor() {
const queryParams = toSignal(this.activatedRoute.queryParamMap);
effect(() => {
let params = queryParams();
if (params) {
const categoryId = params.get('category-id');
if (categoryId) {
this.searchPublicationsService.loadPublications(`category_id=${categoryId}`);
}
const query = params.get('query')
if (query) {
this.searchPublicationsService.loadPublications(query);
}
}
});
}
}