aboutsummaryrefslogtreecommitdiff
path: root/frontend/src
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src')
-rw-r--r--frontend/src/app/_elements/annvisual/annvisual.component.css4
-rw-r--r--frontend/src/app/_elements/annvisual/annvisual.component.html4
-rw-r--r--frontend/src/app/_elements/item-predictor/item-predictor.component.html2
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.html6
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts6
-rw-r--r--frontend/src/app/_pages/home/home.component.html4
-rw-r--r--frontend/src/app/_pages/home/home.component.ts33
-rw-r--r--frontend/src/app/_pages/my-models/my-models.component.html4
-rw-r--r--frontend/src/app/_services/datasets.service.ts6
-rw-r--r--frontend/src/app/_services/models.service.ts15
-rw-r--r--frontend/src/app/_services/predictors.service.ts2
11 files changed, 39 insertions, 47 deletions
diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.css b/frontend/src/app/_elements/annvisual/annvisual.component.css
index e69de29b..857a3390 100644
--- a/frontend/src/app/_elements/annvisual/annvisual.component.css
+++ b/frontend/src/app/_elements/annvisual/annvisual.component.css
@@ -0,0 +1,4 @@
+#graph{
+ width: 100%;
+ text-align: center;
+} \ No newline at end of file
diff --git a/frontend/src/app/_elements/annvisual/annvisual.component.html b/frontend/src/app/_elements/annvisual/annvisual.component.html
index 6dd3b3ae..f23022de 100644
--- a/frontend/src/app/_elements/annvisual/annvisual.component.html
+++ b/frontend/src/app/_elements/annvisual/annvisual.component.html
@@ -1,5 +1,5 @@
<div style="text-align: center; width: 100%;" >
- <button (click)="d3()">Prikaz veštačke neuronske mreže</button>
- <div id="graph"></div>
+ <button (click)="d3()" mat-raised-button color="primary">Prikaz veštačke neuronske mreže</button>
+ <div id="graph" align-items-center ></div>
</div>
diff --git a/frontend/src/app/_elements/item-predictor/item-predictor.component.html b/frontend/src/app/_elements/item-predictor/item-predictor.component.html
index 92d747e2..b4690154 100644
--- a/frontend/src/app/_elements/item-predictor/item-predictor.component.html
+++ b/frontend/src/app/_elements/item-predictor/item-predictor.component.html
@@ -19,6 +19,6 @@
</div>
</div>
<div class="card-footer text-center">
- <a routerLink="predict" mat-raised-button color="primary">Iskoristi</a>
+ <a routerLink="/predict" mat-raised-button color="primary">Iskoristi</a>
</div>
</div> \ No newline at end of file
diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html
index 9dde9afe..8d763b00 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.html
+++ b/frontend/src/app/_pages/add-model/add-model.component.html
@@ -40,7 +40,9 @@
Dodajte novi dataset
</button>
</div>
- <input type="text" class="form-control" placeholder="Pretraga" [(ngModel)]="term">
+ <div class="px-5 my-2">
+ <input *ngIf="showMyDatasets" type="text" class="form-control" placeholder="Pretraga" [(ngModel)]="term">
+ </div>
<div class="px-5">
<div *ngIf="showMyDatasets" class="overflow-auto" style="max-height: 500px;">
<ul class="list-group">
@@ -93,7 +95,7 @@
</div>
- <div class="my-2" *ngIf="datasetFile">
+ <div class="mt-5" *ngIf="datasetFile">
<h2>Popunjavanje nedostajućih vrednosti:</h2>
<div class="form-check">
<input type="radio" [(ngModel)]="newModel.nullValues" [value]="NullValueOptions.DeleteRows"
diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts
index 37672d0a..78e1255b 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.ts
+++ b/frontend/src/app/_pages/add-model/add-model.component.ts
@@ -53,7 +53,7 @@ export class AddModelComponent implements OnInit {
constructor(private models: ModelsService, private datasets: DatasetsService, private csv: CsvParseService) {
this.newModel = new Model();
- this.models.getMyDatasets().subscribe((datasets) => {
+ this.datasets.getMyDatasets().subscribe((datasets) => {
this.myDatasets = datasets;
});
}
@@ -103,7 +103,7 @@ export class AddModelComponent implements OnInit {
this.datasetLoadComponent.dataset.fileId = file._id;
this.datasetLoadComponent.dataset.username = shared.username;
- this.models.addDataset(this.datasetLoadComponent.dataset).subscribe((dataset) => {
+ this.datasets.addDataset(this.datasetLoadComponent.dataset).subscribe((dataset) => {
console.log('ADD MODEL: STEP 3 - ADD MODEL WITH DATASET ID ', dataset._id);
this.newModel.datasetId = dataset._id;
@@ -279,7 +279,7 @@ export class AddModelComponent implements OnInit {
}
refreshMyDatasetList() {
- this.models.getMyDatasets().subscribe((datasets) => {
+ this.datasets.getMyDatasets().subscribe((datasets) => {
this.myDatasets = datasets;
});
}
diff --git a/frontend/src/app/_pages/home/home.component.html b/frontend/src/app/_pages/home/home.component.html
index 7e895a2d..eb59b726 100644
--- a/frontend/src/app/_pages/home/home.component.html
+++ b/frontend/src/app/_pages/home/home.component.html
@@ -45,12 +45,12 @@
</div>
<h2 class="my-4">Pogledajte javne izvore podataka!</h2>
- <app-carousel [items]="publicDatasets">
+ <app-carousel *ngIf = "publicDatasets" [items]="publicDatasets">
</app-carousel>
<h3><a routerLink="browse-datasets">Pogledaj sve javne izvore podataka...</a></h3>
<h2 class="my-4">Iskoristite već trenirane modele!</h2>
- <app-carousel [items]="publicPredictors">
+ <app-carousel *ngIf = "publicPredictors" [items]="publicPredictors">
</app-carousel>
<h3><a routerLink="browse-predictors">Pogledaj sve javne trenirane modele...</a></h3>
</div> \ No newline at end of file
diff --git a/frontend/src/app/_pages/home/home.component.ts b/frontend/src/app/_pages/home/home.component.ts
index c9267e77..ed86a329 100644
--- a/frontend/src/app/_pages/home/home.component.ts
+++ b/frontend/src/app/_pages/home/home.component.ts
@@ -13,32 +13,19 @@ import { PredictorsService } from 'src/app/_services/predictors.service';
})
export class HomeComponent implements OnInit {
- publicDatasets: Dataset[];
- publicPredictors: Predictor[];
+ publicDatasets?: Dataset[];
+ publicPredictors?: Predictor[];
shared = shared;
- constructor() {
- this.publicDatasets = [
- new Dataset('Titanik', 'Titanik', ['Kolona1', 'Kolona2', 'Ime', 'OsobaJePreživela']),
- new Dataset('Drugi Dataset', 'Lorem ipsum dolor sir amet', ['jabuka', 'kruska', 'jagoda']),
- new Dataset('Dataset III', 'Kratak opis izvora podataka', ['c1', 'c2', 'c3', 'c4', 'c5']),
- new Dataset('Drugi Dataset', 'Lorem ipsum dolor sir amet', ['jabuka', 'kruska', 'jagoda']),
- new Dataset('Dataset III', 'Kratak opis izvora podataka', ['c1', 'c2', 'c3', 'c4', 'c5']),
- new Dataset('Drugi Dataset', 'Lorem ipsum dolor sir amet', ['jabuka', 'kruska', 'jagoda']),
- new Dataset('Dataset III', 'Kratak opis izvora podataka', ['c1', 'c2', 'c3', 'c4', 'c5']),
- new Dataset('Dataset III', 'Kratak opis izvora podataka', ['c1', 'c2', 'c3', 'c4', 'c5'])
- ]
- this.publicPredictors = [
- new Predictor('Preživeli', 'Za uneto ime osobe, predvidja da li je ta osoba preživela ili ne.', ['Ime'], 'OsobaJePreživela'),
- new Predictor('Drugi model', 'Lorem ipsum dolor sir amet', ['kruska'], 'jagoda'),
- new Predictor('Treći model', 'Kratak opis modela', ['c1', 'c2', 'c3'], 'c5'),
- new Predictor('Drugi model', 'Lorem ipsum dolor sir amet', ['kruska'], 'jagoda'),
- new Predictor('Treći model', 'Kratak opis modela', ['c1', 'c2', 'c3'], 'c5'),
- new Predictor('Drugi model', 'Lorem ipsum dolor sir amet', ['kruska'], 'jagoda'),
- new Predictor('Treći model', 'Kratak opis modela', ['c1', 'c2', 'c3'], 'c5'),
- new Predictor('Treći model', 'Kratak opis modela', ['c1', 'c2', 'c3'], 'c5')
- ]
+ constructor(private datasetsService: DatasetsService, private predictorsService: PredictorsService) {
+ this.datasetsService.getPublicDatasets().subscribe((datasets) => {
+ this.publicDatasets = datasets;
+ console.log(datasets);
+ });
+ this.predictorsService.getPublicPredictors().subscribe((predictors) => {
+ this.publicPredictors = predictors;
+ });
}
ngOnInit(): void {
diff --git a/frontend/src/app/_pages/my-models/my-models.component.html b/frontend/src/app/_pages/my-models/my-models.component.html
index 870e0ddb..b6926771 100644
--- a/frontend/src/app/_pages/my-models/my-models.component.html
+++ b/frontend/src/app/_pages/my-models/my-models.component.html
@@ -9,7 +9,9 @@
<div class="col-sm-4" style="margin-bottom: 10px;" *ngFor="let model of myModels">
<app-item-model [model]="model"></app-item-model>
<div style="width: 25%; margin: auto;">
- <button (click)="deleteThisModel(model)" style="margin-top: 3px; width: 100%;">Obriši</button>
+ <button mat-raised-button color="primary" (click)="deleteThisModel(model)" style="margin-top: 3px; width: 100%;">Obriši</button>
+
+ <button mat-raised-button color="primary" (click)="deleteThisModel(model)" style="margin-top: 3px; width: 100%;">Koristi</button>
</div>
</div>
</div>
diff --git a/frontend/src/app/_services/datasets.service.ts b/frontend/src/app/_services/datasets.service.ts
index 35ca24e5..0ff63828 100644
--- a/frontend/src/app/_services/datasets.service.ts
+++ b/frontend/src/app/_services/datasets.service.ts
@@ -16,7 +16,11 @@ export class DatasetsService {
return this.http.get<Dataset[]>(`${API_SETTINGS.apiURL}/dataset/publicdatasets`, { headers: this.authService.authHeader() });
}
- addDataset(dataset: Dataset): any {
+ getMyDatasets(): Observable<Dataset[]> {
+ return this.http.get<Dataset[]>(`${API_SETTINGS.apiURL}/dataset/mydatasets`, { headers: this.authService.authHeader() });
+ }
+
+ addDataset(dataset: Dataset): Observable<any> {
return this.http.post(`${API_SETTINGS.apiURL}/dataset/add`, dataset, { headers: this.authService.authHeader() });
}
diff --git a/frontend/src/app/_services/models.service.ts b/frontend/src/app/_services/models.service.ts
index 58ddb2e6..1ec92140 100644
--- a/frontend/src/app/_services/models.service.ts
+++ b/frontend/src/app/_services/models.service.ts
@@ -1,9 +1,8 @@
-import { HttpClient, HttpParams, HttpRequest } from '@angular/common/http';
+import { HttpClient, HttpParams } from '@angular/common/http';
import { Injectable } from '@angular/core';
import Model from '../_data/Model';
import { AuthService } from './auth.service';
import { API_SETTINGS } from 'src/config';
-import Dataset from '../_data/Dataset';
import { Observable } from 'rxjs';
@@ -32,17 +31,11 @@ export class ModelsService {
addModel(model: Model): Observable<any> {
return this.http.post(`${API_SETTINGS.apiURL}/model/add`, model, { headers: this.authService.authHeader() });
}
- addDataset(dataset: Dataset): Observable<any> {
- return this.http.post(`${API_SETTINGS.apiURL}/dataset/add`, dataset, { headers: this.authService.authHeader() });
- }
+
trainModel(modelId: string): Observable<any> {
return this.http.post(`${API_SETTINGS.apiURL}/model/train`, modelId, { headers: this.authService.authHeader() });
}
- getMyDatasets(): Observable<Dataset[]> {
- return this.http.get<Dataset[]>(`${API_SETTINGS.apiURL}/dataset/mydatasets`, { headers: this.authService.authHeader() });
- }
-
getMyModels(): Observable<Model[]> {
return this.http.get<Model[]>(`${API_SETTINGS.apiURL}/model/mymodels`, { headers: this.authService.authHeader() });
}
@@ -52,8 +45,8 @@ export class ModelsService {
return this.http.put<Model>(`${API_SETTINGS.apiURL}/model/`, model, { headers: this.authService.authHeader() });
}
- deleteModel(model:Model) : Observable<any>
+ deleteModel(model:Model)
{
- return this.http.delete(`${API_SETTINGS.apiURL}/model/`+model.name, { headers: this.authService.authHeader() });
+ return this.http.delete(`${API_SETTINGS.apiURL}/model/`+model.name, { headers: this.authService.authHeader(), responseType : "text" });
}
}
diff --git a/frontend/src/app/_services/predictors.service.ts b/frontend/src/app/_services/predictors.service.ts
index 0cd7f0f6..a2dc012f 100644
--- a/frontend/src/app/_services/predictors.service.ts
+++ b/frontend/src/app/_services/predictors.service.ts
@@ -15,7 +15,7 @@ export class PredictorsService {
constructor(private http: HttpClient, private authService: AuthService) { }
getPublicPredictors(): Observable<Predictor[]> {
- return this.http.get<Predictor[]>(`${API_SETTINGS.apiURL}/Predictor/publicpredictors`, { headers: this.authService.authHeader() });
+ return this.http.get<Predictor[]>(`${API_SETTINGS.apiURL}/predictor/publicpredictors`, { headers: this.authService.authHeader() });
}
}