From a084a81779b5a38440f5d7f15e4d2beace6a32f9 Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Sat, 12 Mar 2022 22:26:55 +0100 Subject: Komponenta za ucitavanje i prikaz csv fajla v3; dodat material.module.ts --- .../dataset-load/dataset-load.component.html | 40 +++++++++------------ .../dataset-load/dataset-load.component.ts | 41 ++++++++++++---------- .../_pages/login-page/login-page.component.html | 3 +- frontend/src/app/app.module.ts | 8 +++-- frontend/src/app/material.module.ts | 18 ++++++++++ 5 files changed, 66 insertions(+), 44 deletions(-) create mode 100644 frontend/src/app/material.module.ts (limited to 'frontend/src/app') diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.html b/frontend/src/app/_elements/dataset-load/dataset-load.component.html index 0b62a515..c89add43 100644 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.html +++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.html @@ -1,46 +1,40 @@
+ placeholder="Izaberite ili ukucajte delimiter za .csv fajl" class="form-control" [(ngModel)]="delimiter" + (input)="update()"> -     - - - - - +      +   +

- + - +
- - -
{{item}}
{{col}}
-
+ + + + + + + +
{{col}}
+ +
. . .
{{rowsNumber}} x {{colsNumber}}
diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts index 7cdfe384..843a5709 100644 --- a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts +++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts @@ -11,12 +11,12 @@ export class DatasetLoadComponent { delimiter: string = ""; delimiterOptions: Array = [",", ";", "\t", "razmak", "|"]; //podrazumevano "," - header: string = ""; - headerOptions: Array = ["Da", "Ne"]; //podrazumevano je "Da" ======> false + hasHeader: boolean = true; slice: string = ""; csvRecords: any[] = []; + files: any[] = []; rowsNumber: number = 0; colsNumber: number = 0; @@ -25,25 +25,30 @@ export class DatasetLoadComponent { @ViewChild('fileImportInput', { static: false }) fileImportInput: any; - changeListener($event: any): void { + changeListener($event: any): void { + this.files = $event.srcElement.files; + this.update(); + } - const files = $event.srcElement.files; + update() { - this.ngxCsvParser.parse(files[0], { header: (this.header == "") ? false : (this.header == "Da") ? false : true, delimiter: (this.delimiter == "razmak") ? " " : (this.delimiter == "") ? "," : this.delimiter}) - .pipe().subscribe((result) => { + if (this.files.length < 1) + return; - console.log('Result', result); - if (result.constructor === Array) { - this.csvRecords = result; - this.rowsNumber = this.csvRecords.length; - this.colsNumber = this.csvRecords[0].length; - } - - }, (error: NgxCSVParserError) => { - console.log('Error', error); - }); + this.ngxCsvParser.parse(this.files[0], { header: false, delimiter: (this.delimiter == "razmak") ? " " : (this.delimiter == "") ? "," : this.delimiter}) + .pipe().subscribe((result) => { + //console.log('Result', result); + if (result.constructor === Array) { + this.csvRecords = result; + if (this.hasHeader) + this.rowsNumber = this.csvRecords.length - 1; + else + this.rowsNumber = this.csvRecords.length; + this.colsNumber = this.csvRecords[0].length; + } + }, (error: NgxCSVParserError) => { + console.log('Error', error); + }); } - - } diff --git a/frontend/src/app/_pages/login-page/login-page.component.html b/frontend/src/app/_pages/login-page/login-page.component.html index 87e2a78e..76a4ee7b 100644 --- a/frontend/src/app/_pages/login-page/login-page.component.html +++ b/frontend/src/app/_pages/login-page/login-page.component.html @@ -5,7 +5,8 @@

Prijavite se

- + +