aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts
diff options
context:
space:
mode:
authorTAMARA JERINIC <tamara.jerinic@gmail.com>2022-05-25 20:00:03 +0200
committerTAMARA JERINIC <tamara.jerinic@gmail.com>2022-05-25 20:00:03 +0200
commit8d96241a6958a5797d7bf203fbfb2bfe2a4ec391 (patch)
tree373ab9b113ecbe20bf6fad30ad4a7a860e3f4a69 /frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts
parent7dc17a7b94984d24829b6e30ee575e493f2ab787 (diff)
parent54a1eaf3b2176a41dcd2677eb64843638852c371 (diff)
Merge branch 'redesign' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into redesign
Diffstat (limited to 'frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts')
-rw-r--r--frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts68
1 files changed, 68 insertions, 0 deletions
diff --git a/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts
new file mode 100644
index 00000000..068aa2ef
--- /dev/null
+++ b/frontend/src/app/_modals/update-experiment-dialog/update-experiment-dialog.component.ts
@@ -0,0 +1,68 @@
+import { Component, Inject, OnInit } from '@angular/core';
+import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
+import Experiment from 'src/app/_data/Experiment';
+import { ExperimentsService } from 'src/app/_services/experiments.service';
+
+interface DialogData {
+ experiment: Experiment;
+ selectedOption: number;
+}
+
+@Component({
+ selector: 'app-update-experiment-dialog',
+ templateUrl: './update-experiment-dialog.component.html',
+ styleUrls: ['./update-experiment-dialog.component.css']
+})
+export class UpdateExperimentDialogComponent implements OnInit {
+
+ selectedOption: number = 1;
+ selectedName: string = '';
+ wrongAlreadyExists: boolean = false;
+ wrongEmptyName: boolean = false;
+
+ constructor(public dialogRef: MatDialogRef<UpdateExperimentDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: DialogData, private experimentService: ExperimentsService) {
+ this.wrongAlreadyExists = false;
+ this.wrongEmptyName = false;
+ }
+
+ ngOnInit(): void {
+ }
+
+ onNoClick() {
+ this.dialogRef.close();
+ }
+
+ saveWithEnterKey(keyboardEvent: KeyboardEvent) {
+ if (keyboardEvent.code == "Enter" || keyboardEvent.code == "NumpadEnter")
+ this.onYesClick();
+ }
+
+ onYesClick() {
+ if (this.selectedOption == 1) { //update
+ this.experimentService.updateExperiment(this.data.experiment).subscribe((response) => {
+ this.data.experiment = response;
+ this.dialogRef.close(this.data.experiment);
+ });
+ }
+ else { //save new
+ if (this.selectedName == "") {
+ this.wrongEmptyName = true;
+ return;
+ }
+ this.wrongEmptyName = false;
+
+ const newExperiment = new Experiment();
+ Object.assign(newExperiment, this.data.experiment);
+ newExperiment.name = this.selectedName;
+ newExperiment._id = '';
+ this.experimentService.addExperiment(newExperiment!).subscribe((response) => {
+ this.wrongAlreadyExists = false;
+ this.dialogRef.close(response);
+ }, (error) => {
+ if (error.error == "Experiment with this name exists") {
+ this.wrongAlreadyExists = true;
+ }
+ });
+ }
+ }
+}