aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements
diff options
context:
space:
mode:
authorDanijel Anđelković <adanijel99@gmail.com>2022-05-04 18:17:28 +0200
committerDanijel Anđelković <adanijel99@gmail.com>2022-05-04 18:17:28 +0200
commitc746191b225f3e59f4b7b0cee6a01c2e5bf00271 (patch)
tree3b702c7a7ef303b426535f2e46dd7c2583ca83ff /frontend/src/app/_elements
parente09ca08e9a09f4073d15a5341a746d5356da353c (diff)
Dodao dodavanje modela i popravio klasu model na beku.
Diffstat (limited to 'frontend/src/app/_elements')
-rw-r--r--frontend/src/app/_elements/folder/folder.component.html19
-rw-r--r--frontend/src/app/_elements/folder/folder.component.ts43
-rw-r--r--frontend/src/app/_elements/form-dataset/form-dataset.component.ts20
-rw-r--r--frontend/src/app/_elements/form-model/form-model.component.ts3
4 files changed, 58 insertions, 27 deletions
diff --git a/frontend/src/app/_elements/folder/folder.component.html b/frontend/src/app/_elements/folder/folder.component.html
index 113db616..48b59dc8 100644
--- a/frontend/src/app/_elements/folder/folder.component.html
+++ b/frontend/src/app/_elements/folder/folder.component.html
@@ -30,20 +30,20 @@
</mat-form-field>
</div>
<div id="search-options">
- <div id="collapseFilters" class="collapse collapse-horizontal">
+ <!-- <div id="collapseFilters" class="collapse collapse-horizontal">
<mat-icon class="text-offwhite ">timeline</mat-icon>
Regresioni
<mat-icon class="text-offwhite ">looks_two</mat-icon>
Binarni klasifikacioni
<mat-icon class="text-offwhite ">auto_awesome_motion</mat-icon>
Multiklasifikacioni
- </div>
+ </div> -->
<button class="btn-clear icon-toggle" data-bs-toggle="collapse" data-bs-target="#collapseFilters" aria-expanded="false" aria-controls="collapseFilters">
<mat-icon>filter_alt</mat-icon>
</button>
- <div id="collapseSort" class="collapse collapse-horizontal">
+ <!-- <div id="collapseSort" class="collapse collapse-horizontal">
[sort options here TODO]
- </div>
+ </div> -->
<button class="btn-clear icon-toggle" data-bs-toggle="collapse" data-bs-target="#collapseSort" aria-expanded="false" aria-controls="collapseSort">
<mat-icon>sort</mat-icon>
</button>
@@ -55,16 +55,13 @@
<!--{{fileToDisplay ? fileToDisplay.name : 'No file selected.'}} {{selectedFileIndex}} {{hoveringOverFileIndex}}-->
<div class="folder-inside bg-blur">
<div class="file-content" [ngClass]="{'form-hidden' : listView}">
- <div class="file-bottom-buttons">
- <button class="btn-clear file-button" (click)="deleteFile()">
+ <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)">
<mat-icon>delete</mat-icon>
</button>
- <button class="btn-clear file-button">
- <mat-icon>share</mat-icon>
- </button>
- <button class="btn-clear file-button">
+ <!-- <button class="btn-clear file-button">
<mat-icon>zoom_out_map</mat-icon>
- </button>
+ </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>
diff --git a/frontend/src/app/_elements/folder/folder.component.ts b/frontend/src/app/_elements/folder/folder.component.ts
index 1e57fdf1..20ca1121 100644
--- a/frontend/src/app/_elements/folder/folder.component.ts
+++ b/frontend/src/app/_elements/folder/folder.component.ts
@@ -137,6 +137,7 @@ export class FolderComponent implements AfterViewInit {
});
this.modelsService.getMyModels().subscribe((models) => {
+ console.log(models);
this.folders[TabType.MyModels] = models;
});
@@ -160,8 +161,26 @@ export class FolderComponent implements AfterViewInit {
}
saveNewFile() {
- if (this.type == FolderType.Dataset)
- this.formDataset!.uploadDataset();
+ switch (this.type) {
+ case FolderType.Dataset:
+ this.formDataset!.uploadDataset((dataset: Dataset) => {
+ 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);
+ },
+ () => {
+ Shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset.");
+ });
+ break;
+ case FolderType.Model:
+ this.modelsService.addModel(this.formModel.newModel).subscribe(model => {
+ this.formModel.newModel = model;
+ Shared.openDialog("Obaveštenje", "Uspešno ste dodali novu konfiguraciju neuronske mreže u kolekciju.");
+ this.refreshFiles(null); // 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.");
+ });
+ break;
+ }
}
@@ -207,8 +226,26 @@ export class FolderComponent implements AfterViewInit {
this.listView = !this.listView;
}
- deleteFile() {
+ deleteFile(file: FolderFile) {
console.log('delete');
+ switch (this.type) {
+ case FolderType.Dataset:
+ this.datasetsService.deleteDataset(<Dataset>file).subscribe((response) => {
+ console.log(response);
+ });
+ break;
+ case FolderType.Model:
+ this.modelsService.deleteModel(<Model>file).subscribe((response) => {
+ console.log(response);
+ });
+ break;
+ case FolderType.Experiment:
+ // this.experimentsService.deleteExperiment(<Model>file).subscribe((response) => {
+ // console.log(response);
+ // });
+ //todo delete za predictor
+ break;
+ }
}
folders: { [tab: number]: FolderFile[] } = {};
diff --git a/frontend/src/app/_elements/form-dataset/form-dataset.component.ts b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts
index 5e088e46..62afaa47 100644
--- a/frontend/src/app/_elements/form-dataset/form-dataset.component.ts
+++ b/frontend/src/app/_elements/form-dataset/form-dataset.component.ts
@@ -5,7 +5,7 @@ import { ModelsService } from 'src/app/_services/models.service';
import shared from 'src/app/Shared';
import { DatatableComponent, TableData } from '../datatable/datatable.component';
import { CsvParseService } from 'src/app/_services/csv-parse.service';
-import {FormControl, Validators} from '@angular/forms';
+import { FormControl, Validators } from '@angular/forms';
@Component({
selector: 'app-form-dataset',
@@ -18,7 +18,7 @@ export class FormDatasetComponent {
nameFormControl = new FormControl('', [Validators.required, Validators.email]);
- delimiterOptions: Array<string> = [",", ";", "|", "razmak", "novi red"]; //podrazumevano ","
+ delimiterOptions: Array<string> = [",", ";", "|", "razmak", "novi red"]; //podrazumevano ","
csvRecords: any[] = [];
files: File[] = [];
@@ -29,7 +29,7 @@ export class FormDatasetComponent {
tableData: TableData = new TableData();
- @ViewChild('fileInput') fileInput! : ElementRef
+ @ViewChild('fileInput') fileInput!: ElementRef
filename: String;
@@ -65,7 +65,7 @@ export class FormDatasetComponent {
if (typeof fileReader.result === 'string') {
const result = this.csv.csvToArray(fileReader.result, (this.dataset.delimiter == "razmak") ? " " : (this.dataset.delimiter == "novi red") ? "\t" : this.dataset.delimiter)
-
+
this.csvRecords = result.splice(0, 11);
this.colsNumber = result[0].length;
@@ -91,28 +91,28 @@ export class FormDatasetComponent {
this.dataset.accessibleByLink = true;
}
- uploadDataset() {
+ uploadDataset(onSuccess: Function = (dataset: Dataset) => { }, onError: Function = () => { }) {
if (this.files[0] == undefined) {
shared.openDialog("Greška", "Niste izabrali fajl za učitavanje.");
return;
}
- this.modelsService.uploadData(this.files[0]).subscribe((file) => {
+ return this.modelsService.uploadData(this.files[0]).subscribe((file) => {
//console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + file._id);
this.dataset._id = "";
this.dataset.fileId = file._id;
this.dataset.uploaderId = shared.userId;
this.datasetsService.addDataset(this.dataset).subscribe((dataset) => {
- shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se procesira.");
+ onSuccess();
}, (error) => {
- shared.openDialog("Neuspeo pokušaj!", "Izvor podataka sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset.");
+ onError();
}); //kraj addDataset subscribe
}, (error) => {
-
+ onError();
}); //kraj uploadData subscribe
}
-
+
}
diff --git a/frontend/src/app/_elements/form-model/form-model.component.ts b/frontend/src/app/_elements/form-model/form-model.component.ts
index ef456547..71b374b0 100644
--- a/frontend/src/app/_elements/form-model/form-model.component.ts
+++ b/frontend/src/app/_elements/form-model/form-model.component.ts
@@ -135,7 +135,4 @@ export class FormModelComponent implements AfterViewInit {
updateTestSet(event: MatSliderChange) {
this.testSetDistribution = event.value!;
}
-
-
-
}