From 1b6a8d3a61b0c8afb916043f6b6bd069dac55e57 Mon Sep 17 00:00:00 2001 From: Ivan Ljubisavljevic Date: Wed, 18 May 2022 21:54:14 +0200 Subject: GetModelById dodat - upgrade --- frontend/src/app/_elements/folder/folder.component.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts index 735bfdaa..262b3b7d 100644 --- a/frontend/src/app/_elements/folder/folder.component.ts +++ b/frontend/src/app/_elements/folder/folder.component.ts @@ -191,7 +191,12 @@ export class FolderComponent implements AfterViewInit { this.folders[TabType.PublicModels] = models; this.searchTermsChanged(); });*/ - this.folders[TabType.PublicModels] = []; + + this.modelsService.getPublicModels().subscribe((models) => { + this.folders[TabType.PublicModels] = models; + this.searchTermsChanged(); + }); + //this.folders[TabType.PublicModels] = []; } refreshDatasets(selectedDatasetId: string | null) { -- cgit v1.2.3 From e67d39d44bdb7d582964cbd643098b38dddd9c94 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Wed, 18 May 2022 21:55:36 +0200 Subject: Radjeno na otvaranju prediktora na eksperiment strani njegovim izborom u kolekciji. Dodata ruta i fja - poziv beku za prediktor. --- .../app/_pages/experiment/experiment.component.ts | 44 ++++++++++++++++------ frontend/src/app/_services/models.service.ts | 4 ++ frontend/src/app/app-routing.module.ts | 1 + 3 files changed, 38 insertions(+), 11 deletions(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_pages/experiment/experiment.component.ts b/frontend/src/app/_pages/experiment/experiment.component.ts index 312b1af1..2d4c138d 100644 --- a/frontend/src/app/_pages/experiment/experiment.component.ts +++ b/frontend/src/app/_pages/experiment/experiment.component.ts @@ -14,6 +14,7 @@ import { SignalRService } from 'src/app/_services/signal-r.service'; import { MetricViewComponent } from 'src/app/_elements/metric-view/metric-view.component'; import { ActivatedRoute, Router } from '@angular/router'; import { DatasetsService } from 'src/app/_services/datasets.service'; +import { PredictorsService } from 'src/app/_services/predictors.service'; @Component({ selector: 'app-experiment', @@ -39,24 +40,45 @@ export class ExperimentComponent implements AfterViewInit, OnInit { step3: boolean = false; step4: boolean = false; - constructor(private experimentsService: ExperimentsService, private modelsService: ModelsService, private datasetsService: DatasetsService, private signalRService: SignalRService, private route: ActivatedRoute) { + constructor(private experimentsService: ExperimentsService, private modelsService: ModelsService, private datasetsService: DatasetsService, private predictorsService: PredictorsService, private signalRService: SignalRService, private route: ActivatedRoute) { this.experiment = new Experiment("exp1"); } ngOnInit(): void { this.route.queryParams.subscribe(params => { + let experimentId = this.route.snapshot.paramMap.get("id"); - if (experimentId == null) - return; - this.experimentsService.getExperimentById(experimentId).subscribe((response) => { - this.experiment = response; - this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => { - this.dataset = response; - - this.folderDataset.forExperiment = this.experiment; - this.folderDataset.selectFile(this.dataset); + let predictorId = this.route.snapshot.paramMap.get("predictorId"); + + if (predictorId != null && experimentId != null) { + this.experimentsService.getExperimentById(experimentId).subscribe((response) => { + this.experiment = response; + this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => { + this.dataset = response; + this.folderDataset.forExperiment = this.experiment; + this.folderDataset.selectFile(this.dataset); //sad 3. i 4. korak da se ucitaju + + this.predictorsService.getPredictor(predictorId!).subscribe((response) => { + let predictor = response; + this.modelsService.getModelById(predictor.modelId).subscribe((response) => { + //imamo model + this.folderModel.formModel.newModel = response; + }); + }); + }); }); - }); + } + else if (predictorId == null && experimentId != null) { + this.experimentsService.getExperimentById(experimentId).subscribe((response) => { + this.experiment = response; + this.datasetsService.getDatasetById(this.experiment.datasetId).subscribe((response: Dataset) => { + this.dataset = response; + this.folderDataset.forExperiment = this.experiment; + this.folderDataset.selectFile(this.dataset); + }); + }); + } + }); } diff --git a/frontend/src/app/_services/models.service.ts b/frontend/src/app/_services/models.service.ts index fc888556..7c315491 100644 --- a/frontend/src/app/_services/models.service.ts +++ b/frontend/src/app/_services/models.service.ts @@ -58,4 +58,8 @@ export class ModelsService { return this.http.get(`${Configuration.settings.apiURL}/model/publicmodels`, { headers: this.authService.authHeader() }); } + getModelById(modelId: string): Observable { + return this.http.get(`${Configuration.settings.apiURL}/model/byid/${modelId}`, { headers: this.authService.authHeader() }); + } + } diff --git a/frontend/src/app/app-routing.module.ts b/frontend/src/app/app-routing.module.ts index 9f8c623d..8c60a666 100644 --- a/frontend/src/app/app-routing.module.ts +++ b/frontend/src/app/app-routing.module.ts @@ -12,6 +12,7 @@ import { TestComponent } from './_pages/test/test.component'; const routes: Routes = [ { path: '', component: HomeComponent, data: { title: 'Početna strana' } }, + { path: 'experiment/:id/:predictorId', component: ExperimentComponent, data: { title: 'Eksperiment' } }, { path: 'experiment/:id', component: ExperimentComponent, data: { title: 'Eksperiment' } }, { path: 'experiment', component: ExperimentComponent, data: { title: 'Eksperiment' } }, { path: 'archive', component: ArchiveComponent, data: { title: 'Arhiva' } }, -- cgit v1.2.3 From 117f254c08a2361c9fe912463f806cb535f5f2e7 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 18 May 2022 22:39:12 +0200 Subject: Popravljen izgled dugmeta na column-table komponenti. --- frontend/src/app/_elements/column-table/column-table.component.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_elements/column-table/column-table.component.css b/frontend/src/app/_elements/column-table/column-table.component.css index 0477b7be..f7f07e62 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.css +++ b/frontend/src/app/_elements/column-table/column-table.component.css @@ -198,7 +198,7 @@ table ::ng-deep .mat-form-field-wrapper { font-size: large; position: relative; background-color: var(--ns-primary); - width: 10rem; + width: 13rem; height: 2.3rem; border-color: var(--ns-primary); border-style: solid; -- cgit v1.2.3 From 0dea04df11e9cb5f167473dddaffbc1a0d28bd59 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 18 May 2022 23:20:15 +0200 Subject: Korisniku omoguceno da preuzme dataset sa front-end-a. --- frontend/src/app/_data/Dataset.ts | 2 +- frontend/src/app/_elements/folder/folder.component.html | 5 ++++- frontend/src/app/_elements/folder/folder.component.ts | 15 +++++++++++++++ frontend/src/app/_services/datasets.service.ts | 4 ++++ 4 files changed, 24 insertions(+), 2 deletions(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_data/Dataset.ts b/frontend/src/app/_data/Dataset.ts index 73b77bd0..c8d5771a 100644 --- a/frontend/src/app/_data/Dataset.ts +++ b/frontend/src/app/_data/Dataset.ts @@ -4,7 +4,7 @@ export default class Dataset extends FolderFile { constructor( name: string = 'Novi izvor podataka', public description: string = '', - public fileId?: number, + public fileId?: string, public extension: string = '.csv', public isPublic: boolean = false, public accessibleByLink: boolean = false, diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html index da04b219..6293ec7f 100644 --- a/frontend/src/app/_elements/folder/folder.component.html +++ b/frontend/src/app/_elements/folder/folder.component.html @@ -76,7 +76,10 @@ {{file.lastUpdated | date}}
- +
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts index 262b3b7d..f13635e9 100644 --- a/frontend/src/app/_elements/folder/folder.component.ts +++ b/frontend/src/app/_elements/folder/folder.component.ts @@ -13,6 +13,7 @@ import { SignalRService } from 'src/app/_services/signal-r.service'; import { FormModelComponent } from '../form-model/form-model.component'; import { ActivatedRoute, Router } from '@angular/router'; import Predictor from 'src/app/_data/Predictor'; +import FileSaver from 'file-saver'; @Component({ selector: 'app-folder', @@ -308,6 +309,20 @@ export class FolderComponent implements AfterViewInit { break; } } + downloadFile(file: FolderFile, event: Event) { + event.stopPropagation(); + if (this.type==FolderType.Dataset) { + const fileId=(file).fileId; + const name=(file).name; + const ext=(file).extension; + if(fileId!=undefined) + this.datasetsService.downloadFile(fileId).subscribe((response)=>{ + FileSaver.saveAs(response,name+ext); + + }); + + } + } addFile(file: FolderFile, event: Event) { event.stopPropagation(); diff --git a/frontend/src/app/_services/datasets.service.ts b/frontend/src/app/_services/datasets.service.ts index 8d07674d..3fb4e8f2 100644 --- a/frontend/src/app/_services/datasets.service.ts +++ b/frontend/src/app/_services/datasets.service.ts @@ -51,4 +51,8 @@ export class DatasetsService { deleteDataset(dataset: Dataset) { return this.http.delete(`${Configuration.settings.apiURL}/dataset/` + dataset._id, { headers: this.authService.authHeader(), responseType: "text" }); } + + downloadFile(id:string):Observable{ + return this.http.get(`${Configuration.settings.apiURL}/file/Download?id=`+id, { headers: this.authService.authHeader(), responseType: 'blob' }); + } } -- cgit v1.2.3 From 56813fce05e0a03b7244528bd5d4ea80ed482c61 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Wed, 18 May 2022 23:28:01 +0200 Subject: Popravljen bug gde se dugme za download pokazivalo i na elementima razlicitim od dataseta. --- frontend/src/app/_elements/folder/folder.component.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'frontend/src/app') diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html index 6293ec7f..9ca0b979 100644 --- a/frontend/src/app/_elements/folder/folder.component.html +++ b/frontend/src/app/_elements/folder/folder.component.html @@ -59,6 +59,8 @@ + + @@ -76,7 +78,7 @@ {{file.lastUpdated | date}}
- +