25 lines
913 B
Dart
25 lines
913 B
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
|
|
import '../../../../api/mhsl/customTimetableEvent/customTimetableEvent.dart';
|
|
import '../../../../state/app/modules/timetable/bloc/timetable_bloc.dart';
|
|
import '../../../../widget/confirm_dialog.dart';
|
|
|
|
Completer<void> showDeleteCustomEventDialog(BuildContext context, CustomTimetableEvent event) {
|
|
final completer = Completer<void>();
|
|
final bloc = context.read<TimetableBloc>();
|
|
ConfirmDialog(
|
|
title: 'Termin löschen',
|
|
content: 'Der ${event.rrule.isEmpty ? "Termin" : "Serientermin"} wird unwiederruflich gelöscht.',
|
|
confirmButton: 'Löschen',
|
|
onConfirm: () {
|
|
bloc.removeCustomEvent(event.id).then(completer.complete).onError((Object error, StackTrace stack) {
|
|
completer.completeError(error, stack);
|
|
});
|
|
},
|
|
).asDialog(context);
|
|
return completer;
|
|
}
|