Erweiterungen
This commit is contained in:
1 parent
e41008147f
commit
b0dd1afb43
4 files changed
+34
-45
No files matched your search
@@ -3,8 +3,10 @@ import 'package:flutter/services.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:kumi_popup_window/kumi_popup_window.dart';
|
||||
import 'package:stadtbote/content_views/tour_list_page.dart';
|
||||
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||
import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||
import 'package:stadtbote/messages/PopContentViewMessage.dart';
|
||||
import 'package:stadtbote/model/job.dart';
|
||||
import 'package:stadtbote/model/job_tour.dart';
|
||||
import 'package:stadtbote/popups/tasks_popups/arrived_popup.dart';
|
||||
@@ -19,6 +21,7 @@ import 'package:stadtbote/protocoll_messages/accept_job_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/fin_task_message.dart';
|
||||
import 'package:stadtbote/protocoll_messages/fin_tour_message.dart';
|
||||
import 'package:stadtbote/tools/constants.dart';
|
||||
import 'package:stadtbote/tools/message_service.dart';
|
||||
import 'package:stadtbote/tools/mqtt_core.dart';
|
||||
|
||||
import '../main.dart';
|
||||
@@ -337,7 +340,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
||||
|
||||
Future.delayed(const Duration(seconds: 1), () async {
|
||||
_popup = showSignaturePopup(context, taskInfo, () {
|
||||
showSignaturePopup(context, taskInfo, () {
|
||||
taskInfo.completed = true;
|
||||
|
||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
@@ -346,7 +349,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
|
||||
_popup.dismiss(context);
|
||||
MessageService().publish<PopContentViewMessage>(Constants.messageTopicPopContentView, arguments: PopContentViewMessage(count: 2));
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -425,7 +428,5 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.put(widget.job);
|
||||
});
|
||||
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
}
|
||||
}
|
||||
+10
-5
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:stadtbote/messages/PopContentViewMessage.dart';
|
||||
import 'package:stadtbote/model/message.dart';
|
||||
import 'package:stadtbote/model/status.dart';
|
||||
import 'package:stadtbote/model/task_info.dart';
|
||||
@@ -165,7 +166,7 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
||||
_leftButtonVisible = false;
|
||||
_leftIconButton = const Icon(Icons.arrow_back, size: 20.0, color: Colors.white);
|
||||
_leftButtonOnPressed = () {
|
||||
_popContentView();
|
||||
_popContentView(1);
|
||||
};
|
||||
|
||||
_rightButtonVisible = headerInfo.rightButtonVisible;
|
||||
@@ -191,7 +192,7 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
||||
child: WillPopScope(
|
||||
onWillPop: () async {
|
||||
if (contentStack.isNotEmpty) {
|
||||
_popContentView();
|
||||
_popContentView(1);
|
||||
|
||||
return false;
|
||||
} else {
|
||||
@@ -314,8 +315,8 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPushContentView, this, (ContentViewWidget widget) {
|
||||
_pushContentView(widget);
|
||||
});
|
||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPopContentView, this, (ContentViewWidget widget) {
|
||||
_popContentView();
|
||||
MessageService().subscribe<PopContentViewMessage>(Constants.messageTopicPopContentView, this, (PopContentViewMessage message) {
|
||||
_popContentView(message.count);
|
||||
});
|
||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicReplaceContentView, this, (ContentViewWidget widget) {
|
||||
_replaceContentView(widget);
|
||||
@@ -354,8 +355,12 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
||||
});
|
||||
}
|
||||
|
||||
void _popContentView() {
|
||||
void _popContentView(int count) {
|
||||
Future.delayed(const Duration(seconds: 0), () async {
|
||||
for (int i = 0; i < count - 1; i++) {
|
||||
contentStack.pop();
|
||||
}
|
||||
|
||||
var previousContentView = contentStack.pop();
|
||||
|
||||
_currentContent = previousContentView;
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
class PopContentViewMessage {
|
||||
late int count;
|
||||
|
||||
PopContentViewMessage({required this.count});
|
||||
}
|
||||
@@ -4,32 +4,16 @@ import 'package:signature/signature.dart';
|
||||
import 'package:stadtbote/model/task_info.dart';
|
||||
import 'package:stadtbote/tools/util.dart';
|
||||
|
||||
KumiPopupWindow showSignaturePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
||||
return showPopupWindow(
|
||||
context,
|
||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
||||
gravity: KumiPopupGravity.center,
|
||||
//curve: Curves.elasticOut,
|
||||
bgColor: Colors.grey.withOpacity(0.5),
|
||||
clickOutDismiss: false,
|
||||
clickBackDismiss: true,
|
||||
customAnimation: false,
|
||||
customPop: false,
|
||||
customPage: false,
|
||||
// targetRenderBox: (btnKey.currentContext.findRenderObject() as RenderBox),
|
||||
//needSafeDisplay: true,
|
||||
underStatusBar: false,
|
||||
underAppBar: false,
|
||||
//offsetX: -180,
|
||||
//offsetY: 50,
|
||||
duration: const Duration(milliseconds: 200),
|
||||
onShowStart: (pop) {},
|
||||
onShowFinish: (pop) {},
|
||||
onDismissStart: (pop) {},
|
||||
onDismissFinish: (pop) {},
|
||||
onClickOut: (pop) {},
|
||||
onClickBack: (pop) {},
|
||||
childFun: (pop) {
|
||||
showSignaturePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) async {
|
||||
await showDialog<void>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertDialog(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
shadowColor: Colors.transparent,
|
||||
backgroundColor: Colors.white,
|
||||
content: StatefulBuilder(
|
||||
builder: (BuildContext context, StateSetter setState) {
|
||||
final SignatureController controller = SignatureController();
|
||||
|
||||
var popupHeight = MediaQuery.of(context).size.height * 0.85;
|
||||
@@ -62,18 +46,12 @@ KumiPopupWindow showSignaturePopup(BuildContext context, TaskInfo taskInfo, Func
|
||||
backgroundColor: Colors.lightBlueAccent,
|
||||
),
|
||||
),
|
||||
getDefaultButton('Übernehmen', buttonHeight: 50, () => {
|
||||
onFinished()
|
||||
})
|
||||
getDefaultButton('Übernehmen', buttonHeight: 50, () => {Navigator.of(context).pop(), onFinished()})
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
);
|
||||
));
|
||||
},
|
||||
);
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
*/
|
||||
Reference in new issue
Block a user