aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/_elements')
-rw-r--r--frontend/src/app/_elements/column-table/column-table.component.ts21
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts117
2 files changed, 68 insertions, 70 deletions
diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts
index d61c2537..217eda30 100644
--- a/frontend/src/app/_elements/column-table/column-table.component.ts
+++ b/frontend/src/app/_elements/column-table/column-table.component.ts
@@ -60,17 +60,16 @@ export class ColumnTableComponent implements AfterViewInit {
});
}
- updatePieChart(){
+ updatePieChart() {
//min: number, max: number, q1: number, q3: number, median: number
- let i=0;
+ let i = 0;
const pieChart = this.piechartComp.toArray();
- this.dataset?.columnInfo.forEach(colInfo =>
- { if (this.experiment.columnTypes[i] == ColumnType.categorical)
- {
- pieChart[i].updatePieChart(colInfo!.uniqueValues, colInfo.uniqueValuesPercent);
- i++;
- }
- });
+ this.dataset?.columnInfo.forEach(colInfo => {
+ if (this.experiment.columnTypes[i] == ColumnType.categorical) {
+ pieChart[i].updatePieChart(colInfo!.uniqueValues, colInfo.uniqueValuesPercent);
+ i++;
+ }
+ });
}
loadDataset(dataset: Dataset) {
@@ -213,7 +212,7 @@ export class ColumnTableComponent implements AfterViewInit {
if (this.experiment != undefined && this.dataset != undefined) {
for (let i = 0; i < this.dataset.columnInfo.length; i++) {
if (this.experiment.columnTypes[i] == ColumnType.categorical && this.dataset.columnInfo[i].columnName != this.experiment.outputColumn) //promeni
- this.experiment.encodings[i].encoding = encodingType;
+ this.experiment.encodings[i].encoding = encodingType;
}
this.columnTableChangeDetected();
}
@@ -380,10 +379,8 @@ export class ColumnTableComponent implements AfterViewInit {
hoverOverTab(index: number) {
if (index < 0) {
this.hoveringOverTab = null;
- this.tabToDisplay = this.selectedTab.value;
} else {
this.hoveringOverTab = this.tabs[index];
- this.tabToDisplay = this.tabs[index].value;
}
}
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index e60f041e..dbbc55e7 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -11,6 +11,8 @@ import { ExperimentsService } from 'src/app/_services/experiments.service';
import { PredictorsService } from 'src/app/_services/predictors.service';
import { SignalRService } from 'src/app/_services/signal-r.service';
import { FormModelComponent } from '../form-model/form-model.component';
+import { Router } from '@angular/router';
+import Predictor from 'src/app/_data/Predictor';
@Component({
selector: 'app-folder',
@@ -44,7 +46,7 @@ export class FolderComponent implements AfterViewInit {
searchTerm: string = '';
- constructor(private datasetsService: DatasetsService, private experimentsService: ExperimentsService, private modelsService: ModelsService, private predictorsService: PredictorsService, private signalRService: SignalRService) {
+ constructor(private datasetsService: DatasetsService, private experimentsService: ExperimentsService, private modelsService: ModelsService, private predictorsService: PredictorsService, private signalRService: SignalRService, private router: Router) {
this.tabsToShow.forEach(tab => this.folders[tab] = []);
}
@@ -91,20 +93,23 @@ export class FolderComponent implements AfterViewInit {
this.newFileSelected = true;
this.listView = false;
this.displayFile();
- if(this.type == FolderType.Dataset)
+ if (this.type == FolderType.Dataset)
this.formDataset.clear();
}
selectFile(file?: FolderFile) {
this.selectedFile = file;
this.fileToDisplay = file;
+ if (this.type == FolderType.Experiment && file) {
+ this.router.navigate(['/experiment'/*, file._id*/])
+ }
this.newFileSelected = false;
this.listView = false;
this.selectedFileChanged.emit(this.selectedFile);
this.selectTab(TabType.File);
this.displayFile();
- if(this.type == FolderType.Dataset)
+ if (this.type == FolderType.Dataset)
this.formDataset.loadExisting();
}
@@ -122,7 +127,7 @@ export class FolderComponent implements AfterViewInit {
_initialized: boolean = false;
- refreshFiles(selectedDatasetId: string | null) {
+ refreshFiles(selectedDatasetId: string | null = null, selectedModelId: string | null = null) {
this.files = []
this.filteredFiles.length = 0;
this.folders[TabType.NewFile] = [];
@@ -131,33 +136,45 @@ export class FolderComponent implements AfterViewInit {
this.folders[tab] = [];
});
- this.datasetsService.getMyDatasets().subscribe((datasets) => {
- this.folders[TabType.MyDatasets] = datasets;
- if (selectedDatasetId) {
- this.selectFile(datasets.filter(x => x._id == selectedDatasetId)[0]);
- }
- });
-
- this.experimentsService.getMyExperiments().subscribe((experiments) => {
- this.folders[TabType.MyExperiments] = experiments;
- });
-
- this.datasetsService.getPublicDatasets().subscribe((datasets) => {
- this.folders[TabType.PublicDatasets] = datasets;
- });
-
- this.modelsService.getMyModels().subscribe((models) => {
- this.folders[TabType.MyModels] = models;
- });
+ 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;
- /*this.modelsService.getMyModels().subscribe((models) => {
- this.folders[TabType.PublicModels] = models;
- });*/
- this.folders[TabType.PublicModels] = [];
+ 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;
- this.experimentsService.getMyExperiments().subscribe((experiments) => {
- this.folders[TabType.MyExperiments] = experiments;
- });
+ 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._initialized) {
this.files = this.folders[this.startingTab];
@@ -169,13 +186,15 @@ export class FolderComponent implements AfterViewInit {
this.searchTermsChanged();
}
+ predictors: Predictor[] = [];
+
saveNewFile() {
switch (this.type) {
case FolderType.Dataset:
this.formDataset!.uploadDataset((dataset: Dataset) => {
this.newFile = undefined;
Shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se procesira.");
- this.refreshFiles(null);
+ this.refreshFiles();
},
() => {
Shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset.");
@@ -185,7 +204,7 @@ export class FolderComponent implements AfterViewInit {
this.modelsService.addModel(this.formModel.newModel).subscribe(model => {
this.newFile = undefined;
Shared.openDialog("Obaveštenje", "Uspešno ste dodali novu konfiguraciju neuronske mreže u kolekciju.");
- this.refreshFiles(null); // todo select model
+ this.refreshFiles(null, model._id); // todo select model
}, (err) => {
Shared.openDialog("Neuspeo pokušaj!", "Konfiguracija neuronske mreže sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeću konfiguraciju.");
});
@@ -193,20 +212,6 @@ export class FolderComponent implements AfterViewInit {
}
}
-
- /*calcZIndex(i: number) {
- let zIndex = (this.files.length - i - 1)
- if (this.selectedFileIndex == i)
- zIndex = this.files.length + 2;
- if (this.hoveringOverFileIndex == i)
- zIndex = this.files.length + 3;
- return zIndex;
- }
-
- newFileZIndex() {
- return (this.files.length + 1);
- }*/
-
clearSearchTerm() {
this.searchTerm = '';
this.searchTermsChanged();
@@ -232,10 +237,6 @@ export class FolderComponent implements AfterViewInit {
listView: boolean = true;
- toggleListView() {
- this.listView = !this.listView;
- }
-
deleteFile(file: FolderFile, event: Event) {
event.stopPropagation();
//console.log('delete');
@@ -349,16 +350,16 @@ export class FolderComponent implements AfterViewInit {
}
hoverOverTab(tab: TabType) {
- this.listView = this.getListView(tab);
- this.privacy = this.getPrivacy(tab);
+ // this.listView = this.getListView(tab);
+ // this.privacy = this.getPrivacy(tab);
this.hoverTab = tab;
- if (tab == TabType.None) {
- this.listView = this.getListView(this.selectedTab);
- this.files = this.folders[this.selectedTab];
- } else {
- this.files = this.folders[tab];
- }
- this.searchTermsChanged();
+ // if (tab == TabType.None) {
+ // this.listView = this.getListView(this.selectedTab);
+ // this.files = this.folders[this.selectedTab];
+ // } else {
+ // this.files = this.folders[tab];
+ // }
+ // this.searchTermsChanged();
}
updateExperiment() {