diff options
Diffstat (limited to 'frontend')
7 files changed, 28 insertions, 16 deletions
diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts index d9d045ce..8465c3d6 100644 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts +++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts @@ -1,4 +1,4 @@ -import { Component, ViewChild } from '@angular/core'; +import { Component, EventEmitter, Output, ViewChild } from '@angular/core'; import { NgxCsvParser, NgxCSVParserError } from 'ngx-csv-parser'; import Dataset from 'src/app/_data/Dataset'; @@ -9,6 +9,8 @@ import Dataset from 'src/app/_data/Dataset'; }) export class DatasetLoadComponent { + @Output() loaded = new EventEmitter<string>(); + delimiter: string = ""; delimiterOptions: Array<string> = [",", ";", "\t", "razmak", "|"]; //podrazumevano "," @@ -21,9 +23,6 @@ export class DatasetLoadComponent { rowsNumber: number = 0; colsNumber: number = 0; - checkedInputCols: Array<string> = []; - checkedOutputCol: string = ''; - dataset: Dataset; constructor(private ngxCsvParser: NgxCsvParser) { @@ -55,6 +54,8 @@ export class DatasetLoadComponent { this.colsNumber = this.csvRecords[0].length; this.dataset.header = this.csvRecords[0]; + + this.loaded.emit("loaded"); } }, (error: NgxCSVParserError) => { console.log('Error', error); diff --git a/frontend/src/app/_modals/login-modal/login-modal.component.ts b/frontend/src/app/_modals/login-modal/login-modal.component.ts index 87686f10..d17d7017 100644 --- a/frontend/src/app/_modals/login-modal/login-modal.component.ts +++ b/frontend/src/app/_modals/login-modal/login-modal.component.ts @@ -25,13 +25,16 @@ export class LoginModalComponent implements OnInit { } doLogin() { - this.authService.login(this.username, this.password).subscribe((response) => { //ako nisu ok podaci, ne ide hide nego mora opet da ukucava!!!!podesi - console.log(response); - this.authService.authenticate(response); - (<HTMLSelectElement>document.getElementById('closeButton')).click(); - }, error => { - console.warn(error); //NETACNI PODACI - }); + if (this.username.length > 0 && this.password.length > 0) { + this.authService.login(this.username, this.password).subscribe((response) => { //ako nisu ok podaci, ne ide hide nego mora opet da ukucava!!!!podesi + console.log(response); + this.authService.authenticate(response); + (<HTMLSelectElement>document.getElementById('closeButton')).click(); + }, error => { + console.warn(error); //NETACNI PODACI + }); + } + } resetData() { this.username = ''; 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 5c4411b9..f5270127 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.html +++ b/frontend/src/app/_pages/add-model/add-model.component.html @@ -30,11 +30,11 @@ <div class="my-5 justify-content-center"> <h2>Izvor podataka:</h2> - <app-dataset-load id="dataset"></app-dataset-load> + <app-dataset-load id="dataset" (loaded)="datasetLoaded = true"></app-dataset-load> </div> - <div *ngIf="datasetLoadComponent" class="mt-2"> - <div class="row"> + <div *ngIf="datasetLoaded" class="mt-2"> + <div *ngIf="datasetLoadComponent" class="row"> <div class="col d-flex justify-content-center"> <h3>Izaberite ulazne kolone:</h3> <div id="divInputs" class="form-check"> 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 3c8c32c6..c18ad324 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -13,6 +13,7 @@ import { ModelsService } from 'src/app/_services/models.service'; export class AddModelComponent implements OnInit { @ViewChild(DatasetLoadComponent) datasetLoadComponent?: DatasetLoadComponent; + datasetLoaded: boolean = false; newModel: Model; @@ -31,6 +32,9 @@ export class AddModelComponent implements OnInit { } addModel() { + if (this.datasetLoadComponent) + this.models.addDataset(this.datasetLoadComponent?.dataset); + this.getCheckedInputCols(); this.getCheckedOutputCol(); if (this.validationInputsOutput()) diff --git a/frontend/src/app/_pages/home/home.component.html b/frontend/src/app/_pages/home/home.component.html index 374cb324..7245f602 100644 --- a/frontend/src/app/_pages/home/home.component.html +++ b/frontend/src/app/_pages/home/home.component.html @@ -1,4 +1,4 @@ -<div class="d-flex flex-column align-items-center"> +<div class="d-flex flex-column align-items-center bg-light"> <img src="../../../assets/svg/logo.svg" class="bi me-2" width="256" height="256" role="img"> <div *ngIf="shared.loggedIn" class="d-flex flex-column align-items-center"> <h2 class="my-4">Započnite sa treniranjem!</h2> diff --git a/frontend/src/app/_services/auth-guard.service.ts b/frontend/src/app/_services/auth-guard.service.ts index b6d3678d..057996e0 100644 --- a/frontend/src/app/_services/auth-guard.service.ts +++ b/frontend/src/app/_services/auth-guard.service.ts @@ -15,7 +15,7 @@ export class AuthGuardService implements CanActivate { if (this.auth.isAuthenticated()) { return true; } - this.router.navigate(['login']); + this.router.navigate(['']); return false; } } diff --git a/frontend/src/app/_services/models.service.ts b/frontend/src/app/_services/models.service.ts index bd91a811..f85ca44e 100644 --- a/frontend/src/app/_services/models.service.ts +++ b/frontend/src/app/_services/models.service.ts @@ -3,6 +3,7 @@ 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'; @Injectable({ @@ -15,4 +16,7 @@ export class ModelsService { addModel(model: Model) { return this.http.post(`${API_SETTINGS.apiURL}/model/sendModel`, model, { headers: this.authService.authHeader(), responseType: 'text' }); } + addDataset(dataset: Dataset) { + return this.http.post(`${API_SETTINGS.apiURL}/model/uploadDataset`, dataset, { headers: this.authService.authHeader(), responseType: 'text' }); + } } |