aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements/folder/folder.component.ts
diff options
context:
space:
mode:
authorDanijel Anđelković <adanijel99@gmail.com>2022-05-12 13:38:52 +0200
committerDanijel Anđelković <adanijel99@gmail.com>2022-05-12 13:38:52 +0200
commite6ef814ddf9185c1dc1130dbcfe9b9fd7aa9071e (patch)
treeb1cb6b2b9d88f54bc569e69404c3da85b01c3560 /frontend/src/app/_elements/folder/folder.component.ts
parent2ce380a489f0c7acda75b7fa659a8148935c7462 (diff)
Dodao prikaz treniranih modela u listi experimenta za svaki model.
Diffstat (limited to 'frontend/src/app/_elements/folder/folder.component.ts')
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts113
1 files changed, 72 insertions, 41 deletions
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index dbbc55e7..665659a8 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -32,7 +32,7 @@ export class FolderComponent implements AfterViewInit {
@Input() type: FolderType = FolderType.Dataset;
@Input() forExperiment!: Experiment;
@Input() startingTab!: TabType;
-
+ @Input() archive: boolean = false;
newFileSelected: boolean = true;
selectedFileIndex: number = -1;
@@ -136,44 +136,28 @@ export class FolderComponent implements AfterViewInit {
this.folders[tab] = [];
});
- switch (this.type) {
- case FolderType.Dataset:
- this.datasetsService.getMyDatasets().subscribe((datasets) => {
- this.folders[TabType.MyDatasets] = datasets;
- if (selectedDatasetId) {
- this.selectFile(datasets.filter(x => x._id == selectedDatasetId)[0]);
- }
- });
- this.datasetsService.getPublicDatasets().subscribe((datasets) => {
- this.folders[TabType.PublicDatasets] = datasets;
- });
- break;
-
- case FolderType.Model:
- this.modelsService.getMyModels().subscribe((models) => {
- this.folders[TabType.MyModels] = models;
- if (selectedModelId) {
- this.selectFile(models.filter(x => x._id == selectedModelId)[0]);
- }
- });
- /*this.modelsService.getMyModels().subscribe((models) => {
- this.folders[TabType.PublicModels] = models;
- });*/
- this.folders[TabType.PublicModels] = [];
- break;
-
- case FolderType.Experiment:
- this.experimentsService.getMyExperiments().subscribe((experiments) => {
- this.folders[TabType.MyExperiments] = experiments;
- });
- this.predictorsService.getMyPredictors().subscribe((predictors) => {
- this.predictors = predictors;
- console.log(predictors);
- });
- break;
- default:
- console.error("Bad folder type.");
- break;
+ if (this.archive) {
+ this.refreshDatasets(selectedDatasetId);
+ this.refreshModels(selectedModelId);
+ this.refreshExperiments();
+ } else {
+ switch (this.type) {
+ case FolderType.Dataset:
+ this.refreshDatasets(selectedDatasetId);
+ break;
+
+ case FolderType.Model:
+ this.refreshModels(selectedModelId);
+ break;
+
+ case FolderType.Experiment:
+ this.refreshExperiments();
+ break;
+
+ default:
+ console.error("Bad folder type.");
+ break;
+ }
}
if (!this._initialized) {
@@ -182,11 +166,56 @@ export class FolderComponent implements AfterViewInit {
this.selectTab(this.startingTab);
this._initialized = true;
}
+ }
- this.searchTermsChanged();
+ refreshModels(selectedModelId: string | null) {
+ this.modelsService.getMyModels().subscribe((models) => {
+ this.folders[TabType.MyModels] = models;
+ if (selectedModelId) {
+ this.selectFile(models.filter(x => x._id == selectedModelId)[0]);
+ }
+ this.searchTermsChanged();
+ });
+ /*this.modelsService.getMyModels().subscribe((models) => {
+ this.folders[TabType.PublicModels] = models;
+ this.searchTermsChanged();
+ });*/
+ this.folders[TabType.PublicModels] = [];
+ }
+
+ refreshDatasets(selectedDatasetId: string | null) {
+ this.datasetsService.getMyDatasets().subscribe((datasets) => {
+ this.folders[TabType.MyDatasets] = datasets;
+ if (selectedDatasetId) {
+ this.selectFile(datasets.filter(x => x._id == selectedDatasetId)[0]);
+ }
+ this.searchTermsChanged();
+ });
+ this.datasetsService.getPublicDatasets().subscribe((datasets) => {
+ this.folders[TabType.PublicDatasets] = datasets;
+ this.searchTermsChanged();
+ });
}
- predictors: Predictor[] = [];
+ refreshExperiments() {
+ this.experimentsService.getMyExperiments().subscribe((experiments) => {
+ this.folders[TabType.MyExperiments] = experiments;
+ this.predictorsService.getMyPredictors().subscribe((predictors) => {
+ this.predictorsForExp = {};
+ experiments.forEach(exp => {
+ this.predictorsForExp[exp._id] = predictors.filter(pred => pred.experimentId == exp._id);
+ /* TODO IZMENI OVO DA SE SETUJE NA BACKU AUTOMATSKI */
+ this.predictorsForExp[exp._id].forEach(pred => {
+ const model = this.folders[TabType.MyModels].find(model => model._id == pred.modelId);
+ pred.name = model?.name!;
+ pred.lastUpdated = model?.lastUpdated!;
+ })
+ /* ------------------------------------------------ */
+ this.searchTermsChanged();
+ })
+ });
+ });
+ }
saveNewFile() {
switch (this.type) {
@@ -212,6 +241,8 @@ export class FolderComponent implements AfterViewInit {
}
}
+ predictorsForExp: { [expId: string]: Predictor[] } = {}
+
clearSearchTerm() {
this.searchTerm = '';
this.searchTermsChanged();