diff options
-rw-r--r-- | frontend/src/app/_pages/add-model/add-model.component.html | 5 | ||||
-rw-r--r-- | frontend/src/app/_pages/add-model/add-model.component.ts | 40 | ||||
-rw-r--r-- | frontend/src/app/_services/csv-parse.service.ts | 8 |
3 files changed, 25 insertions, 28 deletions
diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html index 67427e8d..62468b2d 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.html +++ b/frontend/src/app/_pages/add-model/add-model.component.html @@ -50,7 +50,7 @@ <li class="list-group-item p-3" *ngFor="let dataset of myDatasets|filter:term" [ngClass]="{'selectedDatasetClass': this.selectedDataset == dataset}"> <app-item-dataset name="usersDataset" [dataset]="dataset" - (click)="scrollToNextForm(); selectThisDataset(dataset);"></app-item-dataset> + (click)="selectThisDataset(dataset);"></app-item-dataset> </li> </ul> </div> @@ -66,7 +66,8 @@ <!-- ULAZNE/IZLAZNE KOLONE --> <span id="selectInAndOuts"></span> - <div *ngIf="selectedDataset && (showMyDatasets || (!showMyDatasets && datasetLoaded))"> + <div + *ngIf="selectedDataset && ((showMyDatasets && selectedDatasetLoaded) || (!showMyDatasets && datasetLoaded))"> <!--postignuto da se kod newdataseta ucita tabela pa ulazi/izlazi. ostalo srediti to kod mydatasets(dopuna 2. uslova)--> <div class="row"> <div class="col d-flex justify-content-center"> diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts index 95e5fe5f..ec64a3b7 100644 --- a/frontend/src/app/_pages/add-model/add-model.component.ts +++ b/frontend/src/app/_pages/add-model/add-model.component.ts @@ -20,6 +20,7 @@ export class AddModelComponent implements OnInit { @ViewChild(DatasetLoadComponent) datasetLoadComponent?: DatasetLoadComponent; @ViewChild(DatatableComponent) datatable?: DatatableComponent; datasetLoaded: boolean = false; + selectedDatasetLoaded: boolean = false; newModel: Model; @@ -73,7 +74,7 @@ export class AddModelComponent implements OnInit { viewMyDatasetsForm() { this.showMyDatasets = true; this.resetSelectedDataset(); - this.datasetLoaded = false; + //this.datasetLoaded = false; this.resetCbsAndRbs(); } viewNewDatasetForm() { @@ -233,15 +234,10 @@ export class AddModelComponent implements OnInit { selectThisDataset(dataset: Dataset) { this.selectedDataset = dataset; + this.selectedDatasetLoaded = false; this.existingDatasetSelected = true; this.datasetHasHeader = this.selectedDataset.hasHeader; - /*let datasets = document.getElementsByClassName("usersDataset") as HTMLCollection; - for (let i = 0; i < datasets.length; i++) { - if (datasets[i]._id == dataset._id) - }*/ - - //this.datasetFile = csvRecords; this.datasets.getDatasetFile(dataset.fileId).subscribe((file: string | undefined) => { if (file) { this.datasetFile = this.csv.csvToArray(file, (dataset.delimiter == "razmak") ? " " : (dataset.delimiter == "") ? "," : dataset.delimiter); @@ -251,9 +247,11 @@ export class AddModelComponent implements OnInit { else break; //nema potrebe dalje }*/ - console.log(this.datasetFile); + //console.log(this.datasetFile); this.resetCbsAndRbs(); - //this.refreshThreeNullValueRadioOptions(); + this.refreshThreeNullValueRadioOptions(); + this.selectedDatasetLoaded = true; + this.scrollToNextForm(); } }); //this.datasetHasHeader = false; @@ -306,20 +304,10 @@ export class AddModelComponent implements OnInit { } refreshThreeNullValueRadioOptions() { - //console.log((<HTMLInputElement>document.getElementById("delRows")).checked); - const input = document.getElementById('delRows'); - console.log(input); // 👉️ input#subscribe - - // ✅ Works - //input.checked = true; - (<HTMLInputElement>document.getElementById("delRows")).checked = true; - (<HTMLInputElement>document.getElementById("delCols")).checked = false; - (<HTMLInputElement>document.getElementById("replace")).checked = false; + this.newModel.nullValues = NullValueOptions.DeleteRows; } - isChecked(someId: string) { //proveri ako je element sa datim ID-em cekiran - //console.log(someId); - //console.log((<HTMLInputElement>document.getElementById(someId)).checked); + isChecked(someId: string) { //proveri ako je element sa datim ID-em cek return (<HTMLInputElement>document.getElementById(someId)).checked; } @@ -467,7 +455,7 @@ export class AddModelComponent implements OnInit { } } } - console.log(array); + //console.log(array); return array; } @@ -475,7 +463,13 @@ export class AddModelComponent implements OnInit { return document.getElementById(id) as HTMLInputElement; } - arrayColumn = (arr: any[][], n: number) => [...new Set(arr.map(x => x[n]))]; + arrayColumn = (arr: any[][], n: number) => [...this.dropEmptyString(new Set(arr.map(x => x[n])))]; + + dropEmptyString(set: Set<string>): Set<string> { + if (set.has("")) + set.delete(""); + return set; + } filterOptions() { switch (this.newModel.type) { diff --git a/frontend/src/app/_services/csv-parse.service.ts b/frontend/src/app/_services/csv-parse.service.ts index e44af238..4a05535a 100644 --- a/frontend/src/app/_services/csv-parse.service.ts +++ b/frontend/src/app/_services/csv-parse.service.ts @@ -2,7 +2,7 @@ import { Injectable } from "@angular/core"; @Injectable({ providedIn: 'root' }) export class CsvParseService { - csvToArray(strData: string, strDelimiter: string): string[][] { + csvToArray(strData: string, strDelimiter: string): (string | null)[][] { strDelimiter = (strDelimiter || ","); let objPattern = new RegExp( @@ -19,7 +19,7 @@ export class CsvParseService { "gi" ); - let arrData: string[][] = [[]]; + let arrData: (string | null)[][] = [[]]; let arrMatches = null; @@ -45,8 +45,10 @@ export class CsvParseService { strMatchedValue = arrMatches[3]; } - //if (strMatchedValue.length > 0) + if (strMatchedValue.length > 0) arrData[arrData.length - 1].push(strMatchedValue); + else + arrData[arrData.length - 1].push(null); } return (arrData); |