aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements/folder/folder.component.ts
diff options
context:
space:
mode:
authorDanijel Anđelković <adanijel99@gmail.com>2022-04-29 21:01:03 +0200
committerDanijel Anđelković <adanijel99@gmail.com>2022-04-29 21:01:03 +0200
commit7257f187324a59864d7db29c72fdb63f12900f40 (patch)
tree839fe5f6fa24b7a6ff4559faf2b89a4ed0f3e42a /frontend/src/app/_elements/folder/folder.component.ts
parent6cfa4e691fd176c4d7fa67b67307d86bddfd7eeb (diff)
Promenio folder tako da pokazuje razlicite kategorije kao tabove.
Diffstat (limited to 'frontend/src/app/_elements/folder/folder.component.ts')
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts112
1 files changed, 102 insertions, 10 deletions
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index eb1b9b98..ecf26355 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -4,6 +4,9 @@ import Experiment from 'src/app/_data/Experiment';
import { FolderFile, FolderType } from 'src/app/_data/FolderFile';
import Model from 'src/app/_data/Model';
import { DatasetsService } from 'src/app/_services/datasets.service';
+import { ExperimentsService } from 'src/app/_services/experiments.service';
+import { ModelsService } from 'src/app/_services/models.service';
+import { PredictorsService } from 'src/app/_services/predictors.service';
@Component({
selector: 'app-folder',
@@ -35,19 +38,36 @@ export class FolderComponent implements OnInit {
searchTerm: string = '';
- myDatasets: Dataset[] = [];
-
- constructor(private datasets: DatasetsService) {
+ constructor(private datasetsService: DatasetsService, private experimentsService: ExperimentsService, private modelsService: ModelsService, private predictorsService: PredictorsService) {
//PLACEHOLDER
this.forExperiment = new Experiment();
this.forExperiment.inputColumns = ['kolona1', 'kol2', '???', 'test'];
- this.datasets.getMyDatasets().subscribe((datasets) => {
- this.myDatasets = datasets;
+ this.folders[TabType.File] = [];
+ this.folders[TabType.NewFile] = [];
+
+ this.datasetsService.getMyDatasets().subscribe((datasets) => {
+ this.folders[TabType.MyDatasets] = datasets;
+ });
+
+ this.datasetsService.getPublicDatasets().subscribe((datasets) => {
+ this.folders[TabType.PublicDatasets] = datasets;
});
- this.files = this.myDatasets;
+ this.modelsService.getMyModels().subscribe((models) => {
+ this.folders[TabType.MyModels] = models;
+ });
+
+ /*this.modelsService.getMyModels().subscribe((models) => {
+ this.folders[TabType.PublicModels] = models;
+ });*/
+ this.folders[TabType.PublicModels] = [];
+
+ this.experimentsService.getMyExperiments().subscribe((experiments) => {
+ this.folders[TabType.MyExperiments] = experiments;
+ });
+ this.files = [];
this.filteredFiles.length = 0;
this.filteredFiles.push(...this.files);
@@ -78,7 +98,6 @@ export class FolderComponent implements OnInit {
if (!this.newFile) {
this.createNewFile();
}
- this.selectedFileIndex = -1;
this.fileToDisplay = this.newFile;
this.selectedFile = this.newFile;
this.newFileSelected = true;
@@ -87,7 +106,6 @@ export class FolderComponent implements OnInit {
}
selectFile(index: number) {
- this.selectedFileIndex = index;
this.selectedFile = this.filteredFiles[index];
this.fileToDisplay = this.filteredFiles[index];
this.newFileSelected = false;
@@ -111,7 +129,7 @@ export class FolderComponent implements OnInit {
// TODO
}
- calcZIndex(i: number) {
+ /*calcZIndex(i: number) {
let zIndex = (this.files.length - i - 1)
if (this.selectedFileIndex == i)
zIndex = this.files.length + 2;
@@ -122,7 +140,7 @@ export class FolderComponent implements OnInit {
newFileZIndex() {
return (this.files.length + 1);
- }
+ }*/
clearSearchTerm() {
this.searchTerm = '';
@@ -153,10 +171,84 @@ export class FolderComponent implements OnInit {
console.log('delete');
}
+ folders: { [tab: number]: FolderFile[] } = {};
+
+ tabTitles: { [tab: number]: string } = {
+ [TabType.File]: 'Fajl',
+ [TabType.NewFile]: 'Novi fajl',
+ [TabType.MyDatasets]: 'Moji izvori podataka',
+ [TabType.PublicDatasets]: 'Javni izvori podataka',
+ [TabType.MyModels]: 'Moje konfiguracije neuronske mreže',
+ [TabType.PublicModels]: 'Javne konfiguracije neuronske mreže',
+ [TabType.MyExperiments]: 'Eksperimenti',
+ };
+
FolderType = FolderType;
+
+ TabType = TabType;
+
+ @Input() tabsToShow: TabType[] = [
+ TabType.MyDatasets,
+ TabType.PublicDatasets,
+ TabType.MyModels,
+ TabType.PublicModels,
+ TabType.MyExperiments,
+ TabType.File
+ ]
+
+ @Input() selectedTab: TabType = TabType.NewFile;
+ hoverTab: TabType = TabType.None;
+
+ selectTab(tab: TabType) {
+ this.checkListView(tab);
+ this.selectedTab = tab;
+ this.files = this.folders[tab];
+
+ this.searchTermsChanged();
+ }
+
+ checkListView(tab: TabType) {
+ switch (tab) {
+ case TabType.File:
+ case TabType.NewFile:
+ case TabType.None:
+ this.listView = false;
+ break;
+ case TabType.MyExperiments:
+ case TabType.MyDatasets:
+ case TabType.MyModels:
+ case TabType.PublicDatasets:
+ case TabType.PublicModels:
+ this.listView = true;
+ break;
+ }
+ }
+
+ hoverOverTab(tab: TabType) {
+ this.checkListView(tab);
+ this.hoverTab = tab;
+ if (tab == TabType.None) {
+ this.checkListView(this.selectedTab);
+ this.files = this.folders[this.selectedTab];
+ } else {
+ this.files = this.folders[tab];
+ }
+ this.searchTermsChanged();
+ }
}
export enum Privacy {
Private,
Public
+}
+
+export enum TabType {
+ NewFile,
+ File,
+ MyDatasets,
+ PublicDatasets,
+ MyModels,
+ PublicModels,
+ MyExperiments,
+ None
} \ No newline at end of file