aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts
diff options
context:
space:
mode:
authorSonja Galovic <galovicsonja@gmail.com>2022-04-06 23:15:10 +0200
committerSonja Galovic <galovicsonja@gmail.com>2022-04-06 23:15:10 +0200
commit588b9528bc39acc04a94ad8d996333bb4e4764e7 (patch)
treefc22da9be2a8bd96c2c77bb377a7f90e9e475b4d /frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts
parent052c97eadc3784306607fab2fd725d3cfa592867 (diff)
Dodata funkcionalnost cuvanja dataseta (prvo se cuva pa se bira). Izmenjeni datatable, dataset-load i add-new-dataset-component
Diffstat (limited to 'frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts')
-rw-r--r--frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts42
1 files changed, 37 insertions, 5 deletions
diff --git a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts
index fceb53cf..c5e6558a 100644
--- a/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts
+++ b/frontend/src/app/_elements/add-new-dataset/add-new-dataset.component.ts
@@ -1,6 +1,10 @@
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
import { NgxCsvParser, NgxCSVParserError } from 'ngx-csv-parser';
import Dataset from 'src/app/_data/Dataset';
+import { DatasetsService } from 'src/app/_services/datasets.service';
+import { ModelsService } from 'src/app/_services/models.service';
+import shared from 'src/app/Shared';
+import { DatatableComponent } from '../datatable/datatable.component';
@Component({
selector: 'app-add-new-dataset',
@@ -9,7 +13,8 @@ import Dataset from 'src/app/_data/Dataset';
})
export class AddNewDatasetComponent {
- @Output() loaded = new EventEmitter<string>();
+ @Output() newDatasetAdded = new EventEmitter<string>();
+ @ViewChild(DatatableComponent) datatable?: DatatableComponent;
delimiterOptions: Array<string> = [",", ";", "\t", "razmak", "|"]; //podrazumevano ","
@@ -23,7 +28,7 @@ export class AddNewDatasetComponent {
dataset: Dataset; //dodaj ! potencijalno
- constructor(private ngxCsvParser: NgxCsvParser) {
+ constructor(private ngxCsvParser: NgxCsvParser, private modelsService: ModelsService, private datasetsService: DatasetsService) {
this.dataset = new Dataset();
}
@@ -48,6 +53,9 @@ export class AddNewDatasetComponent {
if (this.files.length < 1)
return;
+ this.datatable!.loaded = false;
+ this.datatable!.hasInput = this.hasInput;
+
this.ngxCsvParser.parse(this.files[0], { header: false, delimiter: (this.dataset.delimiter == "razmak") ? " " : (this.dataset.delimiter == "") ? "," : this.dataset.delimiter })
.pipe().subscribe((result) => {
@@ -60,10 +68,12 @@ export class AddNewDatasetComponent {
this.rowsNumber = this.csvRecords.length;
this.colsNumber = this.csvRecords[0].length;
- if (this.dataset.hasHeader) //kasnije dodati opciju kada nema header da korisnik rucno unosi header-e
+ if (this.dataset.hasHeader)
this.dataset.header = this.csvRecords[0];
-
- this.loaded.emit("loaded");
+
+ this.datatable!.data = this.csvRecords;
+ this.datatable!.hasHeader = this.dataset.hasHeader;
+ this.datatable!.loaded = true;
}
}, (error: NgxCSVParserError) => {
console.log('Error', error);
@@ -75,4 +85,26 @@ export class AddNewDatasetComponent {
this.dataset.accessibleByLink = true;
}
+ uploadDataset() {
+ this.modelsService.uploadData(this.files[0]).subscribe((file) => {
+ //console.log('ADD MODEL: STEP 2 - ADD DATASET WITH FILE ID ' + file._id);
+ this.dataset.fileId = file._id;
+ this.dataset.username = shared.username;
+
+ this.datasetsService.addDataset(this.dataset).subscribe((dataset) => {
+
+ this.newDatasetAdded.emit("added");
+ //this.refreshMyDatasetList(); refreshuj dataset listu u ds-load i selektuj taj ds
+ //this.showMyDatasets = true;
+ //this.selectThisDataset(dataset);
+
+ shared.openDialog("Obaveštenje", "Uspešno ste dodali novi izvor podataka u kolekciju. Molimo sačekajte par trenutaka da se procesira.");
+ }, (error) => {
+ shared.openDialog("Neuspeo pokušaj!", "Dataset sa unetim nazivom već postoji u Vašoj kolekciji. Izmenite naziv ili iskoristite postojeći dataset.");
+ }); //kraj addDataset subscribe
+ }, (error) => {
+
+ }); //kraj uploadData subscribe
+ }
+
}