diff options
author | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-05-09 21:03:09 +0200 |
---|---|---|
committer | Ognjen Cirkovic <ciraboxkg@gmail.com> | 2022-05-09 21:03:09 +0200 |
commit | 9e4ad11dcc87bd1d3fbed5e16f9d9ad776149e64 (patch) | |
tree | dc8a71505038bd7ed30c6e372e507f9de1c27486 /frontend/src | |
parent | c7e4202d2279897f1601dbd70a2485280e17e3f6 (diff) | |
parent | 361c0d691801a0f433ee1a9cb08a6043f4ab2ad0 (diff) |
Merge branch 'redesign' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into Redesign
Diffstat (limited to 'frontend/src')
4 files changed, 62 insertions, 20 deletions
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 0d17271d..e41cd51d 100644 --- a/frontend/src/app/_elements/column-table/column-table.component.ts +++ b/frontend/src/app/_elements/column-table/column-table.component.ts @@ -226,15 +226,13 @@ export class ColumnTableComponent implements AfterViewInit { openSaveExperimentDialog() { const dialogRef = this.dialog.open(SaveExperimentDialogComponent, { - width: '400px' + width: '400px', + data: { experiment: this.experiment } }); - dialogRef.afterClosed().subscribe(selectedName => { - 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) => { - this.experiment._id = response._id; - this.okPressed.emit(); - }); + dialogRef.afterClosed().subscribe(experiment => { + if (experiment) { + this.experiment = experiment; + } }); } diff --git a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.css b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.css index e69de29b..8225af36 100644 --- a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.css +++ b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.css @@ -0,0 +1,13 @@ +#btnYes { + background-color: var(--offwhite); + color: var(--ns-bg-dark-100); +} + +#btnNo { + color: gray; +} + +.wrongInput { + color: var(--ns-warn); + font-size: 11px; +}
\ No newline at end of file diff --git a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html index bac73e0a..00ee98c5 100644 --- a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html +++ b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.html @@ -1,13 +1,13 @@ -<h1 mat-dialog-title>Čuvanje eksperimenta</h1> -<div mat-dialog-content> - <span>Unesi naziv eksperimenta:</span> - <mat-form-field> - <input type="text" matInput [(ngModel)]="selectedName"> +<h1 mat-dialog-title class="text-center">Sačuvaj eksperiment</h1> +<div mat-dialog-content class="mt-5 mb-4 mx-1"> + Naziv eksperimenta:<br> + <mat-form-field [style.width.px]=250> + <input type="text" matInput [(ngModel)]="selectedName" cdkFocusInitial> </mat-form-field> - <br><br> - <p>Sačuvaj eksperiment:</p> + <p *ngIf="wrongAlreadyExists" class="wrongInput">Izaberi drugi naziv za eskperiment.<br>Eskperiment sa unetim nazivom već postoji u kolekciji.</p> + <p *ngIf="wrongEmptyName" class="wrongInput">Unesite naziv eksperimenta.</p> </div> -<div mat-dialog-actions> - <button mat-button [mat-dialog-close]="selectedName" cdkFocusInitial>Da</button> - <button mat-button (click)="onNoClick()">Odustani</button> +<div mat-dialog-actions class="justify-content-center"> + <button id="btnYes" mat-stroked-button color="basic" (click)="onYesClick()">Sačuvaj</button> + <button id="btnNo" mat-stroked-button (click)="onNoClick()">Odustani</button> </div>
\ No newline at end of file diff --git a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.ts b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.ts index ca01f57e..610af351 100644 --- a/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.ts +++ b/frontend/src/app/_modals/save-experiment-dialog/save-experiment-dialog.component.ts @@ -1,5 +1,12 @@ import { Component, OnInit } from '@angular/core'; -import { MatDialogRef } from '@angular/material/dialog'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; +import Experiment from 'src/app/_data/Experiment'; +import { ExperimentsService } from 'src/app/_services/experiments.service'; +import { Inject} from '@angular/core'; + +interface DialogData { + experiment: Experiment; +} @Component({ selector: 'app-save-experiment-dialog', @@ -9,8 +16,13 @@ import { MatDialogRef } from '@angular/material/dialog'; export class SaveExperimentDialogComponent implements OnInit { selectedName: string = ''; + wrongAlreadyExists: boolean = false; + wrongEmptyName: boolean = false; - constructor(public dialogRef: MatDialogRef<SaveExperimentDialogComponent>) { } + constructor(public dialogRef: MatDialogRef<SaveExperimentDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: DialogData, private experimentService: ExperimentsService) { + this.wrongAlreadyExists = false; + this.wrongEmptyName = false; + } ngOnInit(): void { } @@ -18,4 +30,23 @@ export class SaveExperimentDialogComponent implements OnInit { onNoClick() { this.dialogRef.close(); } + + onYesClick() { + if (this.selectedName == "") { + this.wrongEmptyName = true; + return; + } + this.wrongEmptyName = false; + + this.data.experiment.name = this.selectedName; + this.experimentService.addExperiment(this.data.experiment).subscribe((response) => { + this.wrongAlreadyExists = false; + this.data.experiment = response; + this.dialogRef.close(this.data.experiment); + }, (error) => { + if (error.error == "Experiment with this name exists") { + this.wrongAlreadyExists = true; + } + }); + } } |