diff options
Diffstat (limited to 'frontend')
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;      });  | 
