diff options
Diffstat (limited to 'frontend/src/app/_pages/add-model')
-rw-r--r-- | frontend/src/app/_pages/add-model/add-model.component.ts | 41 |
1 files changed, 26 insertions, 15 deletions
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 01e8ade9..4e315510 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -33,25 +33,36 @@ export class AddModelComponent implements OnInit { } addModel() { - this.saveModel(false); //trajno cuvanje + this.saveModel(false).subscribe(); //trajno cuvanje } + trainModel() { - this.saveModel(true).subscribe((modelId : any) => { + this.saveModel(true).subscribe((modelId: any) => { if (modelId) this.models.trainModel(modelId); }); //privremeno cuvanje modela => vraca id sacuvanog modela koji cemo da treniramo sad } - saveModel(temporary: boolean) : any { - if (this.datasetLoadComponent) - this.models.addDataset(this.datasetLoadComponent?.dataset).subscribe((response) => {//id dataseta je response - this.newModel.datasetId = response; - this.getCheckedInputCols(); - this.getCheckedOutputCol(); - if (this.validationInputsOutput()) - return this.models.addModel(this.newModel); //id modela - return of(null); + saveModel(temporary: boolean): any { + console.log('ADD MODEL: STEP 1 - UPLOAD FILE'); + if (this.datasetLoadComponent) { + this.models.uploadData(this.datasetLoadComponent.files[0]).subscribe((fileId) => { + console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + fileId); + if (this.datasetLoadComponent) { + this.datasetLoadComponent.dataset.fileId = fileId; + this.models.addDataset(this.datasetLoadComponent.dataset).subscribe((datasetId) => { + console.log('ADD MODEL: STEP 3 - ADD MODEL WITH DATASET ID ' + datasetId); + this.newModel.datasetId = datasetId; + this.getCheckedInputCols(); + this.getCheckedOutputCol(); + if (this.validationInputsOutput()) + this.models.addModel(this.newModel).subscribe((response) => { + console.log('ADD MODEL: DONE! REPLY:\n' + response); + }); + }); + } }); + } } getCheckedInputCols() { @@ -73,17 +84,17 @@ export class AddModelComponent implements OnInit { let thatRb = <HTMLInputElement>radiobuttons[i]; if (thatRb.checked) { this.newModel.columnToPredict = thatRb.value; - break; + break; } } //console.log(this.checkedOutputCol); } - validationInputsOutput() : boolean { + validationInputsOutput(): boolean { if (this.newModel.inputColumns.length == 0) { alert("Molimo Vas da izaberete ulaznu kolonu/kolone za mrežu.") return false; - } - for (let i = 0; i < this.newModel.inputColumns.length; i++) { + } + for (let i = 0; i < this.newModel.inputColumns.length; i++) { if (this.newModel.inputColumns[i] == this.newModel.columnToPredict) { let colName = this.newModel.columnToPredict; alert("Izabrali ste istu kolonu (" + colName + ") kao ulaznu i izlaznu iz mreže. Korigujte izbor."); |