aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.html5
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts40
-rw-r--r--frontend/src/app/_services/csv-parse.service.ts8
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);