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:intl/intl.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:kumi_popup_window/kumi_popup_window.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/content_view_widget.dart';
|
||||||
import 'package:stadtbote/content_views/utils/header_info.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.dart';
|
||||||
import 'package:stadtbote/model/job_tour.dart';
|
import 'package:stadtbote/model/job_tour.dart';
|
||||||
import 'package:stadtbote/popups/tasks_popups/arrived_popup.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_task_message.dart';
|
||||||
import 'package:stadtbote/protocoll_messages/fin_tour_message.dart';
|
import 'package:stadtbote/protocoll_messages/fin_tour_message.dart';
|
||||||
import 'package:stadtbote/tools/constants.dart';
|
import 'package:stadtbote/tools/constants.dart';
|
||||||
|
import 'package:stadtbote/tools/message_service.dart';
|
||||||
import 'package:stadtbote/tools/mqtt_core.dart';
|
import 'package:stadtbote/tools/mqtt_core.dart';
|
||||||
|
|
||||||
import '../main.dart';
|
import '../main.dart';
|
||||||
@@ -337,7 +340,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
||||||
|
|
||||||
Future.delayed(const Duration(seconds: 1), () async {
|
Future.delayed(const Duration(seconds: 1), () async {
|
||||||
_popup = showSignaturePopup(context, taskInfo, () {
|
showSignaturePopup(context, taskInfo, () {
|
||||||
taskInfo.completed = true;
|
taskInfo.completed = true;
|
||||||
|
|
||||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||||
@@ -346,7 +349,7 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
|
|
||||||
_finishTaskProcessing(taskInfo);
|
_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.writeTxn(() async {
|
||||||
await MyApp.isarInstance.jobs.put(widget.job);
|
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:geolocator/geolocator.dart';
|
||||||
import 'package:isar/isar.dart';
|
import 'package:isar/isar.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
import 'package:stadtbote/messages/PopContentViewMessage.dart';
|
||||||
import 'package:stadtbote/model/message.dart';
|
import 'package:stadtbote/model/message.dart';
|
||||||
import 'package:stadtbote/model/status.dart';
|
import 'package:stadtbote/model/status.dart';
|
||||||
import 'package:stadtbote/model/task_info.dart';
|
import 'package:stadtbote/model/task_info.dart';
|
||||||
@@ -165,7 +166,7 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
|||||||
_leftButtonVisible = false;
|
_leftButtonVisible = false;
|
||||||
_leftIconButton = const Icon(Icons.arrow_back, size: 20.0, color: Colors.white);
|
_leftIconButton = const Icon(Icons.arrow_back, size: 20.0, color: Colors.white);
|
||||||
_leftButtonOnPressed = () {
|
_leftButtonOnPressed = () {
|
||||||
_popContentView();
|
_popContentView(1);
|
||||||
};
|
};
|
||||||
|
|
||||||
_rightButtonVisible = headerInfo.rightButtonVisible;
|
_rightButtonVisible = headerInfo.rightButtonVisible;
|
||||||
@@ -191,7 +192,7 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
|||||||
child: WillPopScope(
|
child: WillPopScope(
|
||||||
onWillPop: () async {
|
onWillPop: () async {
|
||||||
if (contentStack.isNotEmpty) {
|
if (contentStack.isNotEmpty) {
|
||||||
_popContentView();
|
_popContentView(1);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@@ -314,8 +315,8 @@ class _MainState extends State<Main> with SingleTickerProviderStateMixin {
|
|||||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPushContentView, this, (ContentViewWidget widget) {
|
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPushContentView, this, (ContentViewWidget widget) {
|
||||||
_pushContentView(widget);
|
_pushContentView(widget);
|
||||||
});
|
});
|
||||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicPopContentView, this, (ContentViewWidget widget) {
|
MessageService().subscribe<PopContentViewMessage>(Constants.messageTopicPopContentView, this, (PopContentViewMessage message) {
|
||||||
_popContentView();
|
_popContentView(message.count);
|
||||||
});
|
});
|
||||||
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicReplaceContentView, this, (ContentViewWidget widget) {
|
MessageService().subscribe<ContentViewWidget>(Constants.messageTopicReplaceContentView, this, (ContentViewWidget widget) {
|
||||||
_replaceContentView(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 {
|
Future.delayed(const Duration(seconds: 0), () async {
|
||||||
|
for (int i = 0; i < count - 1; i++) {
|
||||||
|
contentStack.pop();
|
||||||
|
}
|
||||||
|
|
||||||
var previousContentView = contentStack.pop();
|
var previousContentView = contentStack.pop();
|
||||||
|
|
||||||
_currentContent = previousContentView;
|
_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/model/task_info.dart';
|
||||||
import 'package:stadtbote/tools/util.dart';
|
import 'package:stadtbote/tools/util.dart';
|
||||||
|
|
||||||
KumiPopupWindow showSignaturePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
showSignaturePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) async {
|
||||||
return showPopupWindow(
|
await showDialog<void>(
|
||||||
context,
|
context: context,
|
||||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
builder: (BuildContext context) {
|
||||||
gravity: KumiPopupGravity.center,
|
return AlertDialog(
|
||||||
//curve: Curves.elasticOut,
|
contentPadding: EdgeInsets.zero,
|
||||||
bgColor: Colors.grey.withOpacity(0.5),
|
shadowColor: Colors.transparent,
|
||||||
clickOutDismiss: false,
|
backgroundColor: Colors.white,
|
||||||
clickBackDismiss: true,
|
content: StatefulBuilder(
|
||||||
customAnimation: false,
|
builder: (BuildContext context, StateSetter setState) {
|
||||||
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) {
|
|
||||||
final SignatureController controller = SignatureController();
|
final SignatureController controller = SignatureController();
|
||||||
|
|
||||||
var popupHeight = MediaQuery.of(context).size.height * 0.85;
|
var popupHeight = MediaQuery.of(context).size.height * 0.85;
|
||||||
@@ -62,18 +46,12 @@ KumiPopupWindow showSignaturePopup(BuildContext context, TaskInfo taskInfo, Func
|
|||||||
backgroundColor: Colors.lightBlueAccent,
|
backgroundColor: Colors.lightBlueAccent,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
getDefaultButton('Übernehmen', buttonHeight: 50, () => {
|
getDefaultButton('Übernehmen', buttonHeight: 50, () => {Navigator.of(context).pop(), onFinished()})
|
||||||
onFinished()
|
|
||||||
})
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
));
|
||||||
);
|
|
||||||
},
|
},
|
||||||
);
|
));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
*/
|
|
||||||
Reference in new issue
Block a user