aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app')
-rw-r--r--frontend/src/app/_services/experiments.service.spec.ts16
-rw-r--r--frontend/src/app/_services/experiments.service.ts18
-rw-r--r--frontend/src/app/experiment/experiment.component.html8
-rw-r--r--frontend/src/app/experiment/experiment.component.ts27
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;
});