aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_elements
diff options
context:
space:
mode:
authorSonja Galovic <galovicsonja@gmail.com>2022-05-04 20:46:59 +0200
committerSonja Galovic <galovicsonja@gmail.com>2022-05-04 20:46:59 +0200
commiteee8b1f3790b243be19b015a37a2acd4e882b31e (patch)
treea36f540e0da43a4d7b6c1af133f599a1bb1f8bc9 /frontend/src/app/_elements
parent87ac1232664b577fcd5d393226522a27ef11e7df (diff)
Omogucena izmena eksperimenta. Popravljen bag kod izbora izlazne kolone kad se menja izabran dataset (reset inputa i outputa).
Diffstat (limited to 'frontend/src/app/_elements')
-rw-r--r--frontend/src/app/_elements/column-table/column-table.component.html27
-rw-r--r--frontend/src/app/_elements/column-table/column-table.component.ts34
2 files changed, 44 insertions, 17 deletions
diff --git a/frontend/src/app/_elements/column-table/column-table.component.html b/frontend/src/app/_elements/column-table/column-table.component.html
index 543a0018..43895863 100644
--- a/frontend/src/app/_elements/column-table/column-table.component.html
+++ b/frontend/src/app/_elements/column-table/column-table.component.html
@@ -186,7 +186,7 @@
</mat-menu>
<mat-menu #replaceWith="matMenu">
- <input type="text" id={{colInfo.columnName}} mat-menu-item placeholder="Unesi vrednost..." [value]>
+ <input type="text" id={{colInfo.columnName}} mat-menu-item placeholder="Unesi vrednost..." [value] #enterAValue>
<button [disabled]="getValue(colInfo.columnName) == ''" mat-menu-item value={{getValue(colInfo.columnName)}} (click)="MissValsReplaceClicked($event, colInfo.columnName, i)">Potvrdi unos</button>
</mat-menu>
</div>
@@ -225,15 +225,24 @@
</div>
<div class="break-1"></div>
<div class="ns-col d-flex align-items-center justify-content-center">
- <button mat-button (click)="saveExperiment()" class="bottom-button text-offwhite rounded-bottom">
- <div class="f-row" style="justify-content: space-around;">
- <div>Potvrdi</div>
- <div class="icon-double pt-1">
- <mat-icon>check</mat-icon>
- <mat-icon>check</mat-icon>
+ <button *ngIf="experiment._id == ''" mat-button (click)="saveExperiment()" class="bottom-button text-offwhite rounded-bottom">
+ <div class="f-row" style="justify-content: space-around; width: 100%;">
+ <div>Sačuvaj</div>
+ <div class="icon-double pt-1">
+ <mat-icon>check</mat-icon>
+ <mat-icon>check</mat-icon>
+ </div>
</div>
- </div>
- </button>
+ </button>
+ <button *ngIf="experiment._id != ''" mat-button (click)="updateExperiment()" class="bottom-button text-offwhite rounded-bottom">
+ <div class="f-row" style="justify-content: space-around; width: 100%;">
+ <div>Sačuvaj izmene</div>
+ <div class="icon-double pt-1">
+ <mat-icon>check</mat-icon>
+ <mat-icon>check</mat-icon>
+ </div>
+ </div>
+ </button>
</div>
</div>
</div>
diff --git a/frontend/src/app/_elements/column-table/column-table.component.ts b/frontend/src/app/_elements/column-table/column-table.component.ts
index c3d4f206..7cac3b27 100644
--- a/frontend/src/app/_elements/column-table/column-table.component.ts
+++ b/frontend/src/app/_elements/column-table/column-table.component.ts
@@ -10,6 +10,8 @@ import { CsvParseService } from 'src/app/_services/csv-parse.service';
import { ProblemType } from 'src/app/_data/Model';
import { ExperimentsService } from 'src/app/_services/experiments.service';
import { SaveExperimentDialogComponent } from 'src/app/_modals/save-experiment-dialog/save-experiment-dialog.component';
+import { AlertDialogComponent } from 'src/app/_modals/alert-dialog/alert-dialog.component';
+import Shared from 'src/app/Shared';
@Component({
selector: 'app-column-table',
@@ -20,7 +22,6 @@ export class ColumnTableComponent implements AfterViewInit {
@Input() dataset?: Dataset;
@Input() experiment!: Experiment;
- @ViewChildren("nullValMenu") nullValMenus!: ElementRef[];
@Output() okPressed: EventEmitter<string> = new EventEmitter();
@Output() columnTableChanged = new EventEmitter();
@@ -49,10 +50,8 @@ export class ColumnTableComponent implements AfterViewInit {
this.columnsChecked.push(true);
});
- for (let i = 0; i < this.dataset?.columnInfo.length; i++) {
- this.experiment.inputColumns.push(this.dataset.columnInfo[i].columnName);
- }
- this.experiment.outputColumn = this.experiment.inputColumns[0];
+ this.resetInputColumns();
+ this.resetOutputColumn();
this.resetColumnEncodings(Encoding.Label);
this.setDeleteRowsForMissingValTreatment();
@@ -81,6 +80,18 @@ export class ColumnTableComponent implements AfterViewInit {
}
}
+ resetInputColumns() {
+ if (this.dataset != undefined) {
+ this.experiment.inputColumns = [];
+ for (let i = 0; i < this.dataset?.columnInfo.length; i++) {
+ this.experiment.inputColumns.push(this.dataset.columnInfo[i].columnName);
+ }
+ }
+ }
+ resetOutputColumn() {
+ this.experiment.outputColumn = this.experiment.inputColumns[0];
+ }
+
setDeleteRowsForMissingValTreatment() {
if (this.experiment != undefined) {
this.experiment.nullValues = NullValueOptions.DeleteRows;
@@ -212,13 +223,17 @@ export class ColumnTableComponent implements AfterViewInit {
this.experiment.name = selectedName;
//napravi odvojene dugmice za save i update -> za update nece da se otvara dijalog za ime
this.experimentService.addExperiment(this.experiment).subscribe((response) => {
- console.log(response);
+ this.experiment = response;
this.okPressed.emit();
});
});
}
-
-
+
+ openUpdateExperimentDialog() {
+ this.experimentService.updateExperiment(this.experiment).subscribe((response) => {
+ Shared.openDialog("Izmena eksperimenta", "Uspešno ste izmenili podatke o eksperimentu.");
+ });
+ }
MissValsDeleteClicked(event: Event, replacementType: NullValueOptions, index: number) {
if (this.experiment != undefined && this.dataset != undefined) {
@@ -272,6 +287,9 @@ export class ColumnTableComponent implements AfterViewInit {
saveExperiment() {
this.openSaveExperimentDialog();
}
+ updateExperiment() {
+ this.openUpdateExperimentDialog();
+ }
tabs = [