aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements/folder
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/_elements/folder')
-rw-r--r--frontend/src/app/_elements/folder/folder.component.css8
-rw-r--r--frontend/src/app/_elements/folder/folder.component.html12
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts31
3 files changed, 36 insertions, 15 deletions
diff --git a/frontend/src/app/_elements/folder/folder.component.css b/frontend/src/app/_elements/folder/folder.component.css
index 2340ee8a..62324d62 100644
--- a/frontend/src/app/_elements/folder/folder.component.css
+++ b/frontend/src/app/_elements/folder/folder.component.css
@@ -152,6 +152,14 @@
display: none;
}
+.hover-show {
+ display: none;
+}
+
+.list-item:hover>.hover-show {
+ display: initial;
+}
+
.list-add {
display: flex;
flex-direction: row;
diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html
index 48b59dc8..bff066be 100644
--- a/frontend/src/app/_elements/folder/folder.component.html
+++ b/frontend/src/app/_elements/folder/folder.component.html
@@ -56,15 +56,15 @@
<div class="folder-inside bg-blur">
<div class="file-content" [ngClass]="{'form-hidden' : listView}">
<div class="file-bottom-buttons" *ngIf="selectedTab != TabType.NewFile">
- <button *ngIf="this.selectedFile && selectedTab == TabType.File" class="btn-clear file-button" (click)="deleteFile(this.selectedFile)">
+ <button *ngIf="this.selectedFile && selectedTab == TabType.File" class="btn-clear file-button" (click)="deleteFile(this.selectedFile, $event)">
<mat-icon>delete</mat-icon>
</button>
<!-- <button class="btn-clear file-button">
<mat-icon>zoom_out_map</mat-icon>
</button> -->
</div>
- <app-form-model [ngClass]="{'form-hidden': type != FolderType.Model}"></app-form-model>
- <app-form-dataset [ngClass]="{'form-hidden': type != FolderType.Dataset}"></app-form-dataset>
+ <app-form-model [ngClass]="{'form-hidden': type != FolderType.Model}" [forExperiment]="forExperiment"></app-form-model>
+ <app-form-dataset [ngClass]="{'form-hidden': type != FolderType.Dataset}" [forExperiment]="forExperiment"></app-form-dataset>
</div>
<div [ngClass]="{'form-hidden' : !listView}" class="list-view">
<div *ngFor="let file of filteredFiles; let i = index" class="list-item force-link" (click)="selectFile(file)">
@@ -74,6 +74,12 @@
<div class="mx-2 hover-hide">
{{file.lastUpdated | date}}
</div>
+ <div class="mx-2 hover-show" *ngIf="selectedTab !== TabType.PublicDatasets && selectedTab !== TabType.PublicModels">
+ <button class="btn-clear file-button" (click)="deleteFile(file, $event)">
+ <mat-icon>delete</mat-icon>
+ </button>
+ </div>
+
</div>
<div class="list-add" [ngSwitch]="type">
<button mat-raised-button *ngSwitchCase="FolderType.Dataset" (click)="selectNewFile()">Dodaj {{privacy == Privacy.Public ? 'javni ' : ' '}}izvor podataka</button>
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index 20ca1121..6ca0faa8 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -53,8 +53,9 @@ export class FolderComponent implements AfterViewInit {
if (this.signalRService.hubConnection) {
this.signalRService.hubConnection.on("NotifyDataset", (dName: string, dId: string) => {
- this.refreshFiles(dId);
-
+ if (this.type == FolderType.Dataset) {
+ this.refreshFiles(dId);
+ }
});
} else {
console.warn("Dataset-Load: No connection!");
@@ -98,8 +99,8 @@ export class FolderComponent implements AfterViewInit {
this.newFileSelected = false;
this.listView = false;
this.selectedFileChanged.emit(this.selectedFile);
- this.displayFile();
this.selectTab(TabType.File);
+ this.displayFile();
}
createNewFile() {
@@ -117,9 +118,13 @@ export class FolderComponent implements AfterViewInit {
_initialized: boolean = false;
refreshFiles(selectedDatasetId: string | null) {
+ this.files = []
+ this.filteredFiles.length = 0;
+ this.folders[TabType.NewFile] = [];
+ this.folders[TabType.File] = [];
this.tabsToShow.forEach(tab => {
this.folders[tab] = [];
- })
+ });
this.datasetsService.getMyDatasets().subscribe((datasets) => {
this.folders[TabType.MyDatasets] = datasets;
@@ -137,7 +142,6 @@ export class FolderComponent implements AfterViewInit {
});
this.modelsService.getMyModels().subscribe((models) => {
- console.log(models);
this.folders[TabType.MyModels] = models;
});
@@ -164,8 +168,9 @@ export class FolderComponent implements AfterViewInit {
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(dataset._id);
+ this.refreshFiles(null);
},
() => {
Shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset.");
@@ -173,7 +178,7 @@ export class FolderComponent implements AfterViewInit {
break;
case FolderType.Model:
this.modelsService.addModel(this.formModel.newModel).subscribe(model => {
- this.formModel.newModel = 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
}, (err) => {
@@ -205,8 +210,8 @@ export class FolderComponent implements AfterViewInit {
filteredFiles: FolderFile[] = [];
searchTermsChanged() {
- if (!this.files) return;
this.filteredFiles.length = 0;
+ if (!this.files) return;
this.filteredFiles.push(...this.files.filter((file) => file.name.toLowerCase().includes(this.searchTerm.toLowerCase())));
/*if (this.selectedFile) {
if (!this.filteredFiles.includes(this.selectedFile)) {
@@ -226,17 +231,19 @@ export class FolderComponent implements AfterViewInit {
this.listView = !this.listView;
}
- deleteFile(file: FolderFile) {
- console.log('delete');
+ deleteFile(file: FolderFile, event: Event) {
+ event.stopPropagation();
+ //console.log('delete');
switch (this.type) {
case FolderType.Dataset:
this.datasetsService.deleteDataset(<Dataset>file).subscribe((response) => {
- console.log(response);
+ this.filteredFiles.splice(this.filteredFiles.indexOf(file), 1);
+ this.refreshFiles(null);
});
break;
case FolderType.Model:
this.modelsService.deleteModel(<Model>file).subscribe((response) => {
- console.log(response);
+ this.refreshFiles(null);
});
break;
case FolderType.Experiment: