From d96b69f4ca8eac83140b3b451f59621aed2bb517 Mon Sep 17 00:00:00 2001 From: Danijel Andjelkovic Date: Wed, 16 Mar 2022 18:16:56 +0100 Subject: Dodao naslove za sve strane, i zapoceo my-datasets. --- .../src/app/_elements/navbar/navbar.component.html | 3 +- frontend/src/app/_pages/home/home.component.html | 2 ++ .../_pages/my-datasets/my-datasets.component.html | 6 +++- .../_pages/my-datasets/my-datasets.component.ts | 11 +++++++- frontend/src/app/app-routing.module.ts | 20 ++++++------- frontend/src/app/app.component.spec.ts | 6 ---- frontend/src/app/app.component.ts | 33 ++++++++++++++++++++-- 7 files changed, 59 insertions(+), 22 deletions(-) diff --git a/frontend/src/app/_elements/navbar/navbar.component.html b/frontend/src/app/_elements/navbar/navbar.component.html index b9c450af..52e26e6b 100644 --- a/frontend/src/app/_elements/navbar/navbar.component.html +++ b/frontend/src/app/_elements/navbar/navbar.component.html @@ -11,7 +11,8 @@
  • Dodaj model
  • Predvidi
  • + [class]="(currentUrl === '/my-predictors') ? 'text-secondary' : 'text-white' + (shared.loggedIn) ? '' : 'disabled'">Predvidi + \ No newline at end of file diff --git a/frontend/src/app/_pages/my-datasets/my-datasets.component.html b/frontend/src/app/_pages/my-datasets/my-datasets.component.html index 4b3095be..623b9ac8 100644 --- a/frontend/src/app/_pages/my-datasets/my-datasets.component.html +++ b/frontend/src/app/_pages/my-datasets/my-datasets.component.html @@ -1 +1,5 @@ -

    my-datasets works!

    + \ No newline at end of file diff --git a/frontend/src/app/_pages/my-datasets/my-datasets.component.ts b/frontend/src/app/_pages/my-datasets/my-datasets.component.ts index af5eab97..13b0c47b 100644 --- a/frontend/src/app/_pages/my-datasets/my-datasets.component.ts +++ b/frontend/src/app/_pages/my-datasets/my-datasets.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import Dataset from 'src/app/_data/Dataset'; @Component({ selector: 'app-my-datasets', @@ -7,7 +8,15 @@ import { Component, OnInit } from '@angular/core'; }) export class MyDatasetsComponent implements OnInit { - constructor() { } + myDatasets?: Dataset[]; + + constructor() { + this.myDatasets = [ + new Dataset('Titanik', 'Opis titanik', ['K1', 'K2', 'K3', 'Ime', 'Preziveli']), + new Dataset('Neki drugi set', 'opis', ['a', 'b', 'c']), + new Dataset('Treci set', 'opis', ['a', 'b', 'c']) + ]; + } ngOnInit(): void { } diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index ee43b522..001d0b4f 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -14,16 +14,16 @@ import { ProfileComponent } from './_pages/profile/profile.component'; import { PredictComponent } from './_pages/predict/predict.component'; const routes: Routes = [ - { path: '', component: HomeComponent }, - { path: 'add-model', component: AddModelComponent }, - { path: 'my-datasets', component: MyDatasetsComponent, canActivate: [AuthGuardService] }, - { path: 'my-models', component: MyModelsComponent, canActivate: [AuthGuardService] }, - { path: 'my-predictors', component: MyPredictorsComponent, canActivate: [AuthGuardService] }, - { path: 'settings', component: SettingsComponent, canActivate: [AuthGuardService] }, - { path: 'profile', component: ProfileComponent, canActivate: [AuthGuardService] }, - { path: 'browse-datasets', component: BrowseDatasetsComponent }, - { path: 'browse-predictors', component: BrowsePredictorsComponent }, - { path: 'predict', component: PredictComponent } + { path: '', component: HomeComponent, data: { title: 'Početna strana' } }, + { path: 'add-model', component: AddModelComponent, data: { title: 'Dodaj model' } }, + { path: 'my-datasets', component: MyDatasetsComponent, canActivate: [AuthGuardService], data: { title: 'Moji izvori podataka' } }, + { path: 'my-models', component: MyModelsComponent, canActivate: [AuthGuardService], data: { title: 'Moji modeli' } }, + { path: 'my-predictors', component: MyPredictorsComponent, canActivate: [AuthGuardService], data: { title: 'Moji trenirani modeli' } }, + { path: 'settings', component: SettingsComponent, canActivate: [AuthGuardService], data: { title: 'Podešavanja' } }, + { path: 'profile', component: ProfileComponent, canActivate: [AuthGuardService], data: { title: 'Profil' } }, + { path: 'browse-datasets', component: BrowseDatasetsComponent, data: { title: 'Javni izvori podataka' } }, + { path: 'browse-predictors', component: BrowsePredictorsComponent, data: { title: 'Javni trenirani modeli' } }, + { path: 'predict', component: PredictComponent, data: { title: 'Predvidi vrednosti' } } ]; @NgModule({ diff --git a/frontend/src/app/app.component.spec.ts b/frontend/src/app/app.component.spec.ts index 74b5b3eb..d0679f89 100644 --- a/frontend/src/app/app.component.spec.ts +++ b/frontend/src/app/app.component.spec.ts @@ -20,12 +20,6 @@ describe('AppComponent', () => { expect(app).toBeTruthy(); }); - it(`should have as title 'frontend'`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('frontend'); - }); - it('should render title', () => { const fixture = TestBed.createComponent(AppComponent); fixture.detectChanges(); diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 9d6b2f11..f5ae5786 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -1,10 +1,37 @@ -import { Component } from '@angular/core'; +import { Component, OnInit } from '@angular/core'; +import { Title } from '@angular/platform-browser'; +import { Router, NavigationEnd, ActivatedRoute } from '@angular/router'; +import { filter, map } from 'rxjs'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) -export class AppComponent { - title = 'frontend'; +export class AppComponent implements OnInit { + + constructor(private router: Router, private titleService: Title) { } + + ngOnInit() { + this.router.events + .pipe( + filter((event) => event instanceof NavigationEnd), + map(() => { + let route: ActivatedRoute = this.router.routerState.root; + let routeTitle = ''; + while (route!.firstChild) { + route = route.firstChild; + } + if (route.snapshot.data['title']) { + routeTitle = route!.snapshot.data['title']; + } + return routeTitle; + }) + ) + .subscribe((title: string) => { + if (title) { + this.titleService.setTitle(`${title} - Igrannonica`); + } + }); + } } -- cgit v1.2.3