Add dialog for confirmation before save
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
<div class="input-row margin-auto einstellungen_buttons_wrapper">
|
||||
<button routerLink="/einstellungen" mat-raised-button>Abbrechen</button>
|
||||
<button mat-raised-button (click)="saveFeed(feedForm.value)" [disabled]="feedForm.invalid">
|
||||
<button mat-raised-button (click)="saveDialog(feedForm.value)" [disabled]="feedForm.invalid">
|
||||
<mat-icon>save</mat-icon>
|
||||
Speichern
|
||||
</button>
|
||||
|
||||
@@ -8,6 +8,8 @@ import {throwError} from 'rxjs';
|
||||
import {NGXLogger} from 'ngx-logger';
|
||||
import {MatSnackBar} from '@angular/material/snack-bar';
|
||||
import {isElementScrolledOutsideView} from '@angular/cdk/overlay/position/scroll-clip';
|
||||
import {DialogComponent} from '../../dialog/dialog.component';
|
||||
import {MatDialog} from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-editieren',
|
||||
@@ -31,7 +33,8 @@ export class EditierenComponent implements OnInit {
|
||||
private formBuilder: FormBuilder,
|
||||
private http: HttpClient,
|
||||
private _snackbar: MatSnackBar,
|
||||
private _logger: NGXLogger) {
|
||||
private _logger: NGXLogger,
|
||||
private _dialog: MatDialog) {
|
||||
this.route.paramMap.subscribe(paramMap => {
|
||||
this.id = paramMap.get('id');
|
||||
if (this.id) {
|
||||
@@ -50,7 +53,7 @@ export class EditierenComponent implements OnInit {
|
||||
});
|
||||
}
|
||||
|
||||
loadFeed(id) {
|
||||
public loadFeed(id) {
|
||||
this.http.get('http://127.0.0.1:8000/feeds/' + id + '/').subscribe(
|
||||
(data: any) => {
|
||||
this._logger.debug('Data: ' + JSON.stringify(data));
|
||||
@@ -71,7 +74,7 @@ export class EditierenComponent implements OnInit {
|
||||
);
|
||||
}
|
||||
|
||||
saveFeed(feedData) {
|
||||
public saveFeed(feedData) {
|
||||
const form: FormData = new FormData();
|
||||
form.append('url', feedData.url);
|
||||
form.append('active', feedData.active);
|
||||
@@ -105,4 +108,25 @@ export class EditierenComponent implements OnInit {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public saveDialog(feedData) {
|
||||
const dialogRef = this._dialog.open(DialogComponent, {
|
||||
data: {
|
||||
title: 'Neuen Feed erstellen',
|
||||
body: 'Neuen Feed erstellen?',
|
||||
abort: 'Abbrechen',
|
||||
confirm: 'OK',
|
||||
hideAbort: false
|
||||
}
|
||||
});
|
||||
|
||||
dialogRef.afterClosed().subscribe(
|
||||
data => {
|
||||
if (data === true) {
|
||||
// Confirm button was clicked
|
||||
this.saveFeed(feedData);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user