diff options
5 files changed, 42 insertions, 30 deletions
diff --git a/backend/api/api/Controllers/PredictorController.cs b/backend/api/api/Controllers/PredictorController.cs index d9609cc7..161271e2 100644 --- a/backend/api/api/Controllers/PredictorController.cs +++ b/backend/api/api/Controllers/PredictorController.cs @@ -189,7 +189,7 @@ namespace api.Controllers // POST api/<PredictorController>/usepredictor {predictor,inputs} [HttpPost("usepredictor/{id}")] [Authorize(Roles = "User,Guest")] - public ActionResult UsePredictor(String id, [FromBody] String[] inputs) + public ActionResult UsePredictor(String id, [FromBody] PredictorColumns[] inputs) { string username; @@ -207,8 +207,8 @@ namespace api.Controllers Predictor predictor = _predictorService.GetPredictor(username, id); - foreach(String i in inputs) - Debug.WriteLine(i); + foreach(PredictorColumns i in inputs) + Debug.WriteLine(i.value.ToString()); return NoContent(); } diff --git a/backend/api/api/Models/PredictorColumns.cs b/backend/api/api/Models/PredictorColumns.cs new file mode 100644 index 00000000..82f3e979 --- /dev/null +++ b/backend/api/api/Models/PredictorColumns.cs @@ -0,0 +1,8 @@ +namespace api.Models +{ + public class PredictorColumns + { + public String name { get; set; } + public String value { get; set; } + } +} diff --git a/frontend/src/app/_pages/predict/predict.component.html b/frontend/src/app/_pages/predict/predict.component.html index 4516fbb4..13afa8e4 100644 --- a/frontend/src/app/_pages/predict/predict.component.html +++ b/frontend/src/app/_pages/predict/predict.component.html @@ -18,7 +18,24 @@ <div> <label for="output" class="col-sm-5 col-form-label">Opis prediktora: <b>{{predictor.description}}</b></label> </div> + + + </div> + <br> + <label for="type" class="form-check-label" ><b>Informacije o prediktoru</b></label> + <div class="col-5 mt-2"> + <label for="type" class="form-check-label" >Prediktor {{predictor.isPublic?"je":"nije"}} javni.</label> + </div> + <div class="col-5 mt-2"> + <label for="type" class="form-check-label" >Prediktor {{predictor.accessibleByLink?"je":"nije"}} dostupan za deljenje.</label> </div> + <br> + <div class="col-2"> + <label for="dateCreated" class="col-form-label">Datum:</label> + <input type="text" class="form-control-plaintext" id="dateCreated" placeholder="--/--/--" + value="{{predictor.dateCreated | date: 'dd/MM/yyyy'}}" readonly> + </div> + <br> <div > @@ -28,7 +45,7 @@ <div *ngIf="predictor" class="form-group row mt-3 mb-2 d-flex justify-content-left"> <div *ngFor="let input of predictor.inputs; let i = index"> <label for="{{input}}" class="col-sm-2 col-form-label"><b>{{input}}</b></label> - <input name="{{input}}" type="text" [(ngModel)]="inputs[i]" > + <input name="{{input}}" type="text" [(ngModel)]="inputs[i].value" > </div> @@ -41,31 +58,7 @@ <div> <label for="output" class="col-sm-2 col-form-label">Izlaz: <b>{{predictor.output}}</b></label> </div> - <br> - <br> - <label for="type" class="form-check-label" ><b>Informacije o prediktoru</b></label> - <div class="col-5 mt-2"> - <label for="type" class="form-check-label" *ngIf="predictor.isPublic">Prediktor je public.</label> - <label for="type" class="form-check-label" *ngIf="!predictor.isPublic">Prediktor nije public.</label> - <!--<input class="mx-3 form-check-input" type="checkbox" [(ngModel)]="predictor.isPublic" - type="checkbox" value="">--> - </div> - <div class="col-5 mt-2"> - <label for="type" class="form-check-label" *ngIf="predictor.accessibleByLink">Prediktor je dostupan za deljenje.</label> - <label for="type" class="form-check-label" *ngIf="!predictor.accessibleByLink">Prediktor nije dostupan za deljenje.</label> - <!--<input class="mx-3 form-check-input" type="checkbox" [(ngModel)]="predictor.accessibleByLink" - type="checkbox" value="" >--> - </div> - <br> - <br> - <div class="col-2"> - <label for="dateCreated" class="col-form-label">Datum:</label> - <input type="text" class="form-control-plaintext" id="dateCreated" placeholder="--/--/--" - value="{{predictor.dateCreated | date: 'dd/MM/yyyy'}}" readonly> - </div> - - <br><br> <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;" diff --git a/frontend/src/app/_pages/predict/predict.component.ts b/frontend/src/app/_pages/predict/predict.component.ts index b541e1f0..1c1c7425 100644 --- a/frontend/src/app/_pages/predict/predict.component.ts +++ b/frontend/src/app/_pages/predict/predict.component.ts @@ -11,7 +11,8 @@ import shared from 'src/app/Shared'; }) export class PredictComponent implements OnInit { - inputs : String[] = []; + inputs : Column[] = []; + predictor:Predictor; constructor(private predictS : PredictorsService, private route: ActivatedRoute) { @@ -23,6 +24,7 @@ export class PredictComponent implements OnInit { this.predictS.getPredictor(url["id"]).subscribe(p => { this.predictor = p; + this.predictor.inputs.forEach((p,index)=> this.inputs[index] = new Column(p, "")); console.log(this.predictor); }) }); @@ -35,3 +37,11 @@ export class PredictComponent implements OnInit { console.log(this.inputs); } } + + +export class Column { + constructor( + public name : string, + public value : (number | string)){ + } +}
\ No newline at end of file diff --git a/frontend/src/app/_services/predictors.service.ts b/frontend/src/app/_services/predictors.service.ts index f2751d8f..844cd706 100644 --- a/frontend/src/app/_services/predictors.service.ts +++ b/frontend/src/app/_services/predictors.service.ts @@ -3,6 +3,7 @@ import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { API_SETTINGS } from 'src/config'; import Predictor from '../_data/Predictor'; +import { Column } from '../_pages/predict/predict.component'; import { AuthService } from './auth.service'; @Injectable({ @@ -21,7 +22,7 @@ export class PredictorsService { return this.http.get<Predictor>(`${API_SETTINGS.apiURL}/predictor/getpredictor/`+ id, { headers: this.authService.authHeader() }); } - usePredictor(predictor: Predictor, inputs : String[]) { + usePredictor(predictor: Predictor, inputs : Column[]) { return this.http.post(`${API_SETTINGS.apiURL}/predictor/usepredictor/` + predictor._id, inputs, { headers: this.authService.authHeader() }); } |