46 lines
1.6 KiB
TypeScript
46 lines
1.6 KiB
TypeScript
import { Component, inject, OnInit } from "@angular/core";
|
|
import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
|
|
import { MyPublicationsService } from "./my-publications.service";
|
|
import { Observable } from "rxjs";
|
|
import { PublicationListComponent } from "../../components/publication-list/publication-list.component";
|
|
import { Publication } from "../../core/rest-services/publications/model/publication";
|
|
import { CommonModule } from "@angular/common";
|
|
import { RouterModule } from "@angular/router";
|
|
import { MatTooltipModule } from "@angular/material/tooltip";
|
|
import { MatRippleModule } from "@angular/material/core";
|
|
|
|
|
|
@Component({
|
|
selector: 'app-my-component',
|
|
standalone: true,
|
|
templateUrl: './my-publications.component.html',
|
|
styleUrl: './my-publications.component.scss',
|
|
imports: [
|
|
CommonModule,
|
|
MatProgressSpinnerModule,
|
|
MatRippleModule,
|
|
MatTooltipModule,
|
|
PublicationListComponent,
|
|
RouterModule
|
|
],
|
|
providers: [MyPublicationsService]
|
|
})
|
|
export class MyPublicationsComponent implements OnInit {
|
|
private readonly myPublicationsService = inject(MyPublicationsService);
|
|
|
|
get publications$(): Observable<Publication[]> {
|
|
return this.myPublicationsService.publications$;
|
|
}
|
|
|
|
get isLoading$(): Observable<boolean> {
|
|
return this.myPublicationsService.isLoading$;
|
|
}
|
|
|
|
get isLoaded$(): Observable<boolean> {
|
|
return this.myPublicationsService.isLoaded$;
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.myPublicationsService.loadAuthenticatedUserPublications();
|
|
}
|
|
} |