diff options
Diffstat (limited to 'frontend/src/app')
4 files changed, 67 insertions, 2 deletions
diff --git a/frontend/src/app/_services/experiments.service.spec.ts b/frontend/src/app/_services/experiments.service.spec.ts new file mode 100644 index 00000000..ca7f9d92 --- /dev/null +++ b/frontend/src/app/_services/experiments.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ExperimentsService } from './experiments.service'; + +describe('ExperimentsService', () => { + let service: ExperimentsService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ExperimentsService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/_services/experiments.service.ts b/frontend/src/app/_services/experiments.service.ts new file mode 100644 index 00000000..60d1bfb2 --- /dev/null +++ b/frontend/src/app/_services/experiments.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 Experiment from '../_data/Experiment'; +import { AuthService } from './auth.service'; + +@Injectable({ + providedIn: 'root' +}) +export class ExperimentsService { + + constructor(private http: HttpClient, private authService: AuthService) { } + + addExperiment(experiment: Experiment): Observable<any> { + return this.http.post(`${API_SETTINGS.apiURL}/experiment/add`, experiment, { headers: this.authService.authHeader() }); + } +} diff --git a/frontend/src/app/experiment/experiment.component.html b/frontend/src/app/experiment/experiment.component.html index 504a1bb0..a7b9d7cb 100644 --- a/frontend/src/app/experiment/experiment.component.html +++ b/frontend/src/app/experiment/experiment.component.html @@ -187,6 +187,14 @@ </div> + <div class="form-group row mt-5 mb-3"> + <div class="col"></div> + <button class="btn btn-lg col-4" style="background-color:#003459; color:white;" + (click)="saveExperiment();">Sačuvaj eksperiment</button> + <div class="col"></div> + </div> + + <h2>3. Podešavanja mreže</h2> <app-model-load (selectedModelChangeEvent)="updateModel($event)"></app-model-load> diff --git a/frontend/src/app/experiment/experiment.component.ts b/frontend/src/app/experiment/experiment.component.ts index 6af5d686..e4f7826d 100644 --- a/frontend/src/app/experiment/experiment.component.ts +++ b/frontend/src/app/experiment/experiment.component.ts @@ -4,6 +4,7 @@ import Model from '../_data/Model'; import Dataset, { ColumnInfo } from '../_data/Dataset'; import { ModelsService } from '../_services/models.service'; import Shared from '../Shared'; +import { ExperimentsService } from '../_services/experiments.service'; @Component({ selector: 'app-experiment', @@ -23,7 +24,7 @@ export class ExperimentComponent implements OnInit { selectedOutputColumnVal: string = ''; - constructor(private models: ModelsService) { } + constructor(private modelsService: ModelsService, private experimentsService: ExperimentsService) { } ngOnInit(): void { } @@ -129,6 +130,28 @@ export class ExperimentComponent implements OnInit { return array;*/ } + saveExperiment() { + if (this.selectedDataset == undefined) { + Shared.openDialog("Greška", "Izvor podataka nije izabran!"); + return; + } + //ispitivanje da li ima ulazne kolone TODO + + if (this.selectedOutputColumnVal == '') { + Shared.openDialog("Greška", "Molimo Vas da izaberete izlaznu kolonu."); + return; + } + + this.experiment.datasetId = this.selectedDataset._id; + + this.experimentsService.addExperiment(this.experiment).subscribe((response) => { + this.experiment = response; + Shared.openDialog("Obaveštenje", "Eksperiment je uspešno kreiran."); + }, (error) => { + + }); + } + trainModel() { this.trainingResult = undefined; console.log('Training model...', this.selectedModel); @@ -141,7 +164,7 @@ export class ExperimentComponent implements OnInit { Shared.openDialog('Greška', 'Model nije izabran!'); return; } - this.models.trainModel(this.selectedModel).subscribe((response: any) => { + this.modelsService.trainModel(this.selectedModel).subscribe((response: any) => { console.log('Train model complete!', response); this.trainingResult = response; }); |