develop-unfocusTextField #56

Merged
MineTec merged 4 commits from develop-unfocusTextField into develop 2024-04-02 14:55:36 +00:00
6 changed files with 15 additions and 24 deletions

View File

@ -14,6 +14,7 @@ import '../../../../api/mhsl/server/feedback/addFeedbackParams.dart';
import '../../../../model/accountData.dart';
import '../../../../storage/base/settingsProvider.dart';
import '../../../../widget/filePick.dart';
import '../../../../widget/focusBehaviour.dart';
import '../../../../widget/infoDialog.dart';
class FeedbackDialog extends StatefulWidget {
@ -68,6 +69,7 @@ class _FeedbackDialogState extends State<FeedbackDialog> {
),
minLines: 4,
maxLines: 7,
onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context),
),
),
const SizedBox(height: 10),

View File

@ -115,7 +115,7 @@ class _ChatViewState extends State<ChatView> {
scale: 1.5,
opacity: 1,
repeat: ImageRepeat.repeat,
invertColors: AppTheme.isDarkMode(context)
invertColors: AppTheme.isDarkMode(context),
)
),
child: data.primaryLoading() ? const LoadingSpinner() : Column(

View File

@ -14,6 +14,7 @@ import '../../../../api/marianumcloud/webdav/webdavApi.dart';
import '../../../../model/chatList/chatProps.dart';
import '../../../../storage/base/settingsProvider.dart';
import '../../../../widget/filePick.dart';
import '../../../../widget/focusBehaviour.dart';
import '../../files/fileUploadDialog.dart';
class ChatTextfield extends StatefulWidget {
@ -156,6 +157,7 @@ class _ChatTextfieldState extends State<ChatTextfield> {
}
setDraft(text);
},
onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context),
),
),
const SizedBox(width: 15),

View File

@ -15,6 +15,7 @@ import '../../../api/mhsl/customTimetableEvent/update/updateCustomTimetableEvent
import '../../../api/mhsl/customTimetableEvent/update/updateCustomTimetableEventParams.dart';
import '../../../model/accountData.dart';
import '../../../model/timetable/timetableProps.dart';
import '../../../widget/focusBehaviour.dart';
import '../../../widget/infoDialog.dart';
import 'customTimetableColors.dart';
@ -67,6 +68,7 @@ class _AddCustomTimetableEventDialogState extends State<CustomTimetableEventEdit
labelText: 'Terminname',
border: OutlineInputBorder()
),
onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context),
),
),
ListTile(
@ -78,6 +80,7 @@ class _AddCustomTimetableEventDialogState extends State<CustomTimetableEventEdit
labelText: 'Beschreibung',
border: OutlineInputBorder()
),
onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context),
),
),
const Divider(),

View File

@ -0,0 +1,7 @@
import 'package:flutter/cupertino.dart';
class FocusBehaviour {
static void textFieldTapOutside(BuildContext context) {
FocusScope.of(context).requestFocus(FocusNode());
}
}

View File

@ -1,23 +0,0 @@
import 'package:flutter/material.dart';
class QuickMenu {
static void quickMenu(BuildContext context, BuildContext widgetContext, List<PopupMenuItem<dynamic>> items) {
final RenderBox overlay = Overlay.of(context).context.findRenderObject() as RenderBox;
final RenderBox widgetRenderBox = widgetContext.findRenderObject() as RenderBox;
final Offset position = widgetRenderBox.localToGlobal(Offset.zero);
showMenu(
context: context,
position: RelativeRect.fromRect(
Rect.fromPoints(
position,
position.translate(0, 0),
),
Offset.zero & overlay.size,
),
items: items,
);
}
}