aboutsummaryrefslogtreecommitdiff
path: root/frontend/src
diff options
context:
space:
mode:
authorNevena Bojovic <nenabojov@gmail.com>2022-03-23 23:24:59 +0100
committerNevena Bojovic <nenabojov@gmail.com>2022-03-23 23:24:59 +0100
commit62c1318ed805ea0fe4c2c5244f279858bd56cf30 (patch)
tree095fb90153865131e6f83e8f3eceefc902aab40b /frontend/src
parentbd955fa6d088873fda7ec62bd0e2042264651da1 (diff)
Update - ovana stranica.
Diffstat (limited to 'frontend/src')
-rw-r--r--frontend/src/app/_pages/filter-datasets/filter-datasets.component.html39
-rw-r--r--frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts24
-rw-r--r--frontend/src/app/_services/datasets.service.spec.ts16
-rw-r--r--frontend/src/app/_services/datasets.service.ts18
4 files changed, 94 insertions, 3 deletions
diff --git a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.html b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.html
index fecf09a8..bee07aef 100644
--- a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.html
+++ b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.html
@@ -1 +1,38 @@
-<p>filter-datasets works!</p>
+
+<div id="wrapper">
+
+ <div id="container" class="container p-5" style="background-color: white; min-height: 100%;">
+ <div class="row mt-3 mb-2 d-flex justify-content-center">
+
+ <div class="col-sm-6" style="margin-bottom: 10px;">
+ <input type="text" class="form-control" placeholder="Pretraga" [(ngModel)]="term">
+ </div>
+
+ <div class="row">
+ <div class="col-sm-4" style="margin-bottom: 10px;" *ngFor="let dataset of publicDatasets | filter:term">
+ <div class="card h-100">
+ <div class="card-body">
+ <h3 class="card-title"><b>{{dataset.name}}</b></h3>
+ <p class="card-text">{{dataset.description}}</p>
+ <a class="btn btn-primary" (click)="addDataset(dataset)">Dodaj dataset:</a>
+ </div>
+ <div class="card-footer text-muted">
+ Kreirao: {{dataset.username}} <br>
+ Datum kreiranja: {{dataset.dateCreated |date}}
+ </div>
+ </div>
+ </div>
+
+
+ </div>
+ <div class="text-center"*ngIf="(publicDatasets|filter:term).length === 0">
+ <h2>Nema rezultata</h2>
+ </div>
+ </div>
+
+ </div>
+
+
+
+
+</div>
diff --git a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts
index 4a143696..b2a3541d 100644
--- a/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts
+++ b/frontend/src/app/_pages/filter-datasets/filter-datasets.component.ts
@@ -1,4 +1,9 @@
import { Component, OnInit } from '@angular/core';
+import { DatasetsService } from 'src/app/_services/datasets.service';
+import Dataset from 'src/app/_data/Dataset';
+import {Router} from '@angular/router'
+import { JwtHelperService } from '@auth0/angular-jwt';
+import { CookieService } from 'ngx-cookie-service';
@Component({
selector: 'app-filter-datasets',
@@ -7,9 +12,24 @@ import { Component, OnInit } from '@angular/core';
})
export class FilterDatasetsComponent implements OnInit {
- constructor() { }
+ publicDatasets?: Dataset[];
+ term: string = "";
+ constructor(private datasets: DatasetsService,private router:Router, private cookie: CookieService) {
+ this.datasets.getPublicDatasets().subscribe((datasets) => {
+ this.publicDatasets = datasets;
+ });
+ }
ngOnInit(): void {
- }
+ }
+ addDataset(dataset: Dataset):void{
+ //this.router.navigateByUrl('/predict?id='+id);
+ const helper = new JwtHelperService();
+ const decodedToken = helper.decodeToken(this.cookie.get("token"));
+ dataset._id = "";
+ dataset.isPublic = false;
+ dataset.lastUpdated = new Date();
+ dataset.username = decodedToken.name;
+ };
}
diff --git a/frontend/src/app/_services/datasets.service.spec.ts b/frontend/src/app/_services/datasets.service.spec.ts
new file mode 100644
index 00000000..87b46acd
--- /dev/null
+++ b/frontend/src/app/_services/datasets.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed } from '@angular/core/testing';
+
+import { DatasetsService } from './datasets.service';
+
+describe('DatasetsService', () => {
+ let service: DatasetsService;
+
+ beforeEach(() => {
+ TestBed.configureTestingModule({});
+ service = TestBed.inject(DatasetsService);
+ });
+
+ it('should be created', () => {
+ expect(service).toBeTruthy();
+ });
+});
diff --git a/frontend/src/app/_services/datasets.service.ts b/frontend/src/app/_services/datasets.service.ts
new file mode 100644
index 00000000..5a313632
--- /dev/null
+++ b/frontend/src/app/_services/datasets.service.ts
@@ -0,0 +1,18 @@
+import { HttpClient } from '@angular/common/http';
+import { Injectable } from '@angular/core';
+import { Observable } from 'rxjs';
+import { API_SETTINGS } from 'src/config';
+import Dataset from '../_data/Dataset';
+import { AuthService } from './auth.service';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class DatasetsService {
+
+ constructor(private http: HttpClient, private authService: AuthService) { }
+
+ getPublicDatasets(): Observable<Dataset[]> {
+ return this.http.get<Dataset[]>(`${API_SETTINGS.apiURL}/Dataset/publicdatasets`, { headers: this.authService.authHeader() });
+ }
+}