argos/dmp-frontend/src/app/ui/dashboard/info-counter/info-counter.component.ts

56 lines
1.6 KiB
TypeScript

import { Component, OnInit, Input, Output, EventEmitter } from "@angular/core";
import { Router } from "@angular/router";
import { AuthService } from "../../../core/services/auth/auth.service";
// declare interface RouteInfo {
// path: string;
// title: string;
// subtitle: string;
// icon: string;
// }
// export const INFO_COUNTER_ROUTES: RouteInfo[] = [
// { path: '', title: 'DATA MANAGEMENT PLANS', subtitle: '4', icon: 'view_agenda' },
// { path: '', title: 'RELATED DATA DESCRIPTIONS', subtitle: '20', icon: 'library_books' },
// { path: '', title: 'RELATED PROJECTS', subtitle: '4', icon: 'work_outline' },
// { path: '', title: 'ORGANIZATIONS', subtitle: '20', icon: 'scatter_plot' }
// ];
@Component({
selector: "app-info-counter",
templateUrl: "./info-counter.component.html",
styleUrls: ["./info-counter.component.css"]
})
export class InfoCounterComponent implements OnInit {
@Input() title: string;
@Input() subtitle: string;
@Input() icon: string;
@Input() routerLink: string;
@Input() buttonRedirectLink: string;
@Output() onClick: EventEmitter<void> = new EventEmitter<void>();
infoCounterItems: any[];
constructor(private router: Router, private authService: AuthService) {}
ngOnInit() {
// this.infoCounterItems = INFO_COUNTER_ROUTES.filter(infoCounterItem => infoCounterItem);
}
navigateToUrl() {
if (!this.isAuthenticated()) { return; }
this.router.navigate([this.routerLink]);
}
createNew() {
this.router.navigate([this.buttonRedirectLink]);
}
isAuthenticated() {
return this.authService.current() != null;
}
viewAllClicked() {
this.onClick.emit();
}
}