Erweiterungen
This commit is contained in:
1 parent
48eaa75014
commit
0399129dbd
9 files changed
+78
-57
No files matched your search
+10
-4
@@ -35,6 +35,8 @@ PODS:
|
|||||||
- DKImagePickerController/PhotoGallery
|
- DKImagePickerController/PhotoGallery
|
||||||
- Flutter
|
- Flutter
|
||||||
- Flutter (1.0.0)
|
- Flutter (1.0.0)
|
||||||
|
- flutter_barcode_scanner (2.0.0):
|
||||||
|
- Flutter
|
||||||
- flutter_osm_plugin (0.0.1):
|
- flutter_osm_plugin (0.0.1):
|
||||||
- Alamofire
|
- Alamofire
|
||||||
- Flutter
|
- Flutter
|
||||||
@@ -66,13 +68,14 @@ PODS:
|
|||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
|
- flutter_barcode_scanner (from `.symlinks/plugins/flutter_barcode_scanner/ios`)
|
||||||
- flutter_osm_plugin (from `.symlinks/plugins/flutter_osm_plugin/ios`)
|
- flutter_osm_plugin (from `.symlinks/plugins/flutter_osm_plugin/ios`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- isar_flutter_libs (from `.symlinks/plugins/isar_flutter_libs/ios`)
|
- isar_flutter_libs (from `.symlinks/plugins/isar_flutter_libs/ios`)
|
||||||
- open_filex (from `.symlinks/plugins/open_filex/ios`)
|
- open_filex (from `.symlinks/plugins/open_filex/ios`)
|
||||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
|
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/ios`)
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
@@ -90,6 +93,8 @@ EXTERNAL SOURCES:
|
|||||||
:path: ".symlinks/plugins/file_picker/ios"
|
:path: ".symlinks/plugins/file_picker/ios"
|
||||||
Flutter:
|
Flutter:
|
||||||
:path: Flutter
|
:path: Flutter
|
||||||
|
flutter_barcode_scanner:
|
||||||
|
:path: ".symlinks/plugins/flutter_barcode_scanner/ios"
|
||||||
flutter_osm_plugin:
|
flutter_osm_plugin:
|
||||||
:path: ".symlinks/plugins/flutter_osm_plugin/ios"
|
:path: ".symlinks/plugins/flutter_osm_plugin/ios"
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
@@ -99,11 +104,11 @@ EXTERNAL SOURCES:
|
|||||||
open_filex:
|
open_filex:
|
||||||
:path: ".symlinks/plugins/open_filex/ios"
|
:path: ".symlinks/plugins/open_filex/ios"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
:path: ".symlinks/plugins/path_provider_foundation/ios"
|
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||||
shared_preferences_foundation:
|
shared_preferences_foundation:
|
||||||
:path: ".symlinks/plugins/shared_preferences_foundation/ios"
|
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
|
|
||||||
@@ -113,6 +118,7 @@ SPEC CHECKSUMS:
|
|||||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||||
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
|
||||||
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
|
||||||
|
flutter_barcode_scanner: 7a1144744c28dc0c57a8de7218ffe5ec59a9e4bf
|
||||||
flutter_osm_plugin: 029b14f54485ced3190bb2c4444616b76e10c6a8
|
flutter_osm_plugin: 029b14f54485ced3190bb2c4444616b76e10c6a8
|
||||||
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
image_picker_ios: 4a8aadfbb6dc30ad5141a2ce3832af9214a705b5
|
||||||
isar_flutter_libs: b69f437aeab9c521821c3f376198c4371fa21073
|
isar_flutter_libs: b69f437aeab9c521821c3f376198c4371fa21073
|
||||||
|
|||||||
@@ -156,7 +156,7 @@
|
|||||||
97C146E61CF9000F007C117D /* Project object */ = {
|
97C146E61CF9000F007C117D /* Project object */ = {
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
attributes = {
|
attributes = {
|
||||||
LastUpgradeCheck = 1300;
|
LastUpgradeCheck = 1430;
|
||||||
ORGANIZATIONNAME = "";
|
ORGANIZATIONNAME = "";
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
97C146ED1CF9000F007C117D = {
|
97C146ED1CF9000F007C117D = {
|
||||||
@@ -205,6 +205,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1300"
|
LastUpgradeVersion = "1430"
|
||||||
version = "1.3">
|
version = "1.3">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.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/utils/content_view_widget.dart';
|
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||||
@@ -212,24 +213,50 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _processTaskArrivedOrFinished(TaskInfo taskInfo) {
|
_processTaskArrivedOrFinished(TaskInfo taskInfo) {
|
||||||
_popup = showTaskArrivedPopup(context, taskInfo, () => {
|
_popup = showTaskArrivedPopup(context, taskInfo, () => {
|
||||||
_popup.dismiss(context),
|
_finishProcessTaskArrivedOrFinished(taskInfo)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _processCommissionNumber(TaskInfo taskInfo) {
|
_finishProcessTaskArrivedOrFinished(TaskInfo taskInfo) {
|
||||||
_popup = showCommisionNumberPopup(context, taskInfo, () => {
|
_popup.dismiss(context);
|
||||||
_popup.dismiss(context),
|
|
||||||
|
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
|
||||||
|
|
||||||
|
taskInfo.additionalText = dateFormat.format(DateTime.now());
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
|
_processCommissionNumber(TaskInfo taskInfo) {
|
||||||
|
_popup = showComissionNumberPopup(context, taskInfo, (text) => {
|
||||||
|
_finishProcessCommissionNumber(taskInfo, text)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _processScanBarcodes(TaskInfo taskInfo) {
|
_finishProcessCommissionNumber(TaskInfo taskInfo, String comissionNumber) {
|
||||||
_popup = showScanBarcodesPopup(context, taskInfo, () => {
|
_popup.dismiss(context);
|
||||||
_popup.dismiss(context)
|
|
||||||
|
taskInfo.additionalText = comissionNumber;
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
|
_processScanBarcodes(TaskInfo taskInfo) {
|
||||||
|
_popup = showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) => {
|
||||||
|
_finishProcessScanBarcodes(taskInfo, barcodes)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_finishProcessScanBarcodes(TaskInfo taskInfo, List<String> barcodess) {
|
||||||
|
_popup.dismiss(context);
|
||||||
|
|
||||||
|
taskInfo.additionalText = "Barcodes gescannt";
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
void _processTakePhotos(TaskInfo taskInfo) {
|
void _processTakePhotos(TaskInfo taskInfo) {
|
||||||
_popup = showTakePhotosPopup(context, taskInfo, () => {
|
_popup = showTakePhotosPopup(context, taskInfo, () => {
|
||||||
_popup.dismiss(context)
|
_popup.dismiss(context)
|
||||||
@@ -237,17 +264,33 @@ class _TaskListPageState extends State<TaskListPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _processStationNotice(TaskInfo taskInfo) {
|
void _processStationNotice(TaskInfo taskInfo) {
|
||||||
_popup = showStationNoticePopup(context, taskInfo, () => {
|
_popup = showStationNoticePopup(context, taskInfo, (notice) => {
|
||||||
_popup.dismiss(context)
|
_finishProcessStationNotice(taskInfo, notice)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_finishProcessStationNotice(TaskInfo taskInfo, String notice) {
|
||||||
|
_popup.dismiss(context);
|
||||||
|
|
||||||
|
taskInfo.additionalText = notice;
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
void _processReceiptGiver(TaskInfo taskInfo) {
|
void _processReceiptGiver(TaskInfo taskInfo) {
|
||||||
_popup = showReceiptGiverPopup(context, taskInfo, () => {
|
_popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) => {
|
||||||
_popup.dismiss(context)
|
_finishReceiptGiver(taskInfo, receiptGiver)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_finishReceiptGiver(TaskInfo taskInfo, String receiptGiver) {
|
||||||
|
_popup.dismiss(context);
|
||||||
|
|
||||||
|
taskInfo.additionalText = receiptGiver;
|
||||||
|
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
|
||||||
void _processSignature(TaskInfo taskInfo) {
|
void _processSignature(TaskInfo taskInfo) {
|
||||||
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft]);
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.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 showCommisionNumberPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
KumiPopupWindow showComissionNumberPopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) {
|
||||||
return showPopupWindow(
|
return showPopupWindow(
|
||||||
context,
|
context,
|
||||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
||||||
@@ -56,8 +56,9 @@ KumiPopupWindow showCommisionNumberPopup(BuildContext context, TaskInfo taskInfo
|
|||||||
type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true),
|
type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
getDefaultButton('Übernehmen', () => {
|
getDefaultButton('Übernehmen', () => {
|
||||||
onFinished()
|
onFinished(textEditingController.text)
|
||||||
}) ],
|
})
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.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 showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
KumiPopupWindow showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) {
|
||||||
return showPopupWindow(
|
return showPopupWindow(
|
||||||
context,
|
context,
|
||||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
||||||
@@ -56,7 +56,7 @@ KumiPopupWindow showReceiptGiverPopup(BuildContext context, TaskInfo taskInfo, F
|
|||||||
type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true),
|
type: TextInputType.text, formatter: [FilteringTextInputFormatter.singleLineFormatter], controller: textEditingController, autofocus: true),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
getDefaultButton('Übernehmen', () => {
|
getDefaultButton('Übernehmen', () => {
|
||||||
onFinished()
|
onFinished(textEditingController.text)
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import 'package:kumi_popup_window/kumi_popup_window.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 showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
KumiPopupWindow showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, Function(List<String> barcodes) onFinished) {
|
||||||
return showPopupWindow(
|
return showPopupWindow(
|
||||||
context,
|
context,
|
||||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
||||||
@@ -108,7 +108,7 @@ KumiPopupWindow showScanBarcodesPopup(BuildContext context, TaskInfo taskInfo, F
|
|||||||
scanBarcode()
|
scanBarcode()
|
||||||
}),
|
}),
|
||||||
getDefaultButton('Übernehmen', buttonHeight: 50, () => {
|
getDefaultButton('Übernehmen', buttonHeight: 50, () => {
|
||||||
onFinished()
|
onFinished(scannedBarcodes)
|
||||||
})
|
})
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import 'package:kumi_popup_window/kumi_popup_window.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 showStationNoticePopup(BuildContext context, TaskInfo taskInfo, Function() onFinished) {
|
KumiPopupWindow showStationNoticePopup(BuildContext context, TaskInfo taskInfo, Function(String) onFinished) {
|
||||||
return showPopupWindow(
|
return showPopupWindow(
|
||||||
context,
|
context,
|
||||||
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
//childSize:Size(240, MediaQuery.of(context).size.width * 0.8),
|
||||||
@@ -62,7 +62,7 @@ KumiPopupWindow showStationNoticePopup(BuildContext context, TaskInfo taskInfo,
|
|||||||
autofocus: true),
|
autofocus: true),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 20),
|
const SizedBox(height: 20),
|
||||||
getDefaultButton('Übernehmen', buttonHeight: 50, () => {onFinished()})
|
getDefaultButton('Übernehmen', buttonHeight: 50, () => {onFinished(textEditingController.text)})
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
// This is a basic Flutter widget test.
|
|
||||||
//
|
|
||||||
// To perform an interaction with a widget in your test, use the WidgetTester
|
|
||||||
// utility in the flutter_test package. For example, you can send tap and scroll
|
|
||||||
// gestures. You can also use WidgetTester to find child widgets in the widget
|
|
||||||
// tree, read text, and verify that the values of widget properties are correct.
|
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_test/flutter_test.dart';
|
|
||||||
|
|
||||||
import 'package:stadtbote/main.dart';
|
|
||||||
|
|
||||||
void main() {
|
|
||||||
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
|
|
||||||
// Build our app and trigger a frame.
|
|
||||||
await tester.pumpWidget(const MyApp());
|
|
||||||
|
|
||||||
// Verify that our counter starts at 0.
|
|
||||||
expect(find.text('0'), findsOneWidget);
|
|
||||||
expect(find.text('1'), findsNothing);
|
|
||||||
|
|
||||||
// Tap the '+' icon and trigger a frame.
|
|
||||||
await tester.tap(find.byIcon(Icons.add));
|
|
||||||
await tester.pump();
|
|
||||||
|
|
||||||
// Verify that our counter has incremented.
|
|
||||||
expect(find.text('0'), findsNothing);
|
|
||||||
expect(find.text('1'), findsOneWidget);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Reference in new issue
Block a user