TF-1884 Support RTL mode for TextField
(cherry picked from commit 3f8445141bea9dbf276a6a336114e4e2b549936f)
This commit is contained in:
@@ -642,6 +642,14 @@ class SearchEmailController extends BaseController
|
||||
_deBouncerTime.value = text;
|
||||
}
|
||||
|
||||
void onTextSearchSubmitted(BuildContext context, String text) {
|
||||
final query = text.trim();
|
||||
if (query.isNotEmpty) {
|
||||
saveRecentSearch(RecentSearch.now(query));
|
||||
submitSearchAction(context, query);
|
||||
}
|
||||
}
|
||||
|
||||
void setTextInputSearchForm(String value) {
|
||||
textInputSearchController.text = value;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:core/presentation/views/background/background_widget_builder.dar
|
||||
import 'package:core/presentation/views/button/icon_button_web.dart';
|
||||
import 'package:core/presentation/views/text/text_field_builder.dart';
|
||||
import 'package:core/utils/build_utils.dart';
|
||||
import 'package:core/utils/direction_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -117,29 +118,21 @@ class SearchEmailView extends GetWidget<SearchEmailController>
|
||||
tooltip: AppLocalizations.of(context).back,
|
||||
onTap: () => controller.closeSearchView(context)
|
||||
),
|
||||
Expanded(child: (TextFieldBuilder()
|
||||
..onChange(controller.onTextSearchChange)
|
||||
..textInputAction(TextInputAction.search)
|
||||
..addController(controller.textInputSearchController)
|
||||
..addFocusNode(controller.textInputSearchFocus)
|
||||
..textStyle(const TextStyle(color: Colors.black, fontSize: 16))
|
||||
..keyboardType(TextInputType.text)
|
||||
..onSubmitted((value) {
|
||||
final query = value.trim();
|
||||
if (query.isNotEmpty) {
|
||||
controller.saveRecentSearch(RecentSearch.now(query));
|
||||
controller.submitSearchAction(context, query);
|
||||
}
|
||||
})
|
||||
..maxLines(1)
|
||||
..textDecoration(InputDecoration(
|
||||
contentPadding: const EdgeInsets.all(12),
|
||||
hintText: AppLocalizations.of(context).search_emails,
|
||||
hintStyle: const TextStyle(
|
||||
color: AppColor.loginTextFieldHintColor,
|
||||
fontSize: 16),
|
||||
border: InputBorder.none)))
|
||||
.build()),
|
||||
Expanded(child: TextFieldBuilder(
|
||||
onTextChange: controller.onTextSearchChange,
|
||||
textInputAction: TextInputAction.search,
|
||||
controller: controller.textInputSearchController,
|
||||
focusNode: controller.textInputSearchFocus,
|
||||
textDirection: DirectionUtils.getDirectionByLanguage(context),
|
||||
textStyle: const TextStyle(color: Colors.black, fontSize: 16),
|
||||
keyboardType: TextInputType.text,
|
||||
onTextSubmitted: (text) => controller.onTextSearchSubmitted(context, text),
|
||||
decoration: InputDecoration(
|
||||
contentPadding: const EdgeInsets.all(12),
|
||||
hintText: AppLocalizations.of(context).search_emails,
|
||||
hintStyle: const TextStyle(color: AppColor.loginTextFieldHintColor, fontSize: 16),
|
||||
border: InputBorder.none),
|
||||
)),
|
||||
Obx(() {
|
||||
if (controller.currentSearchText.isNotEmpty) {
|
||||
return
|
||||
|
||||
@@ -207,6 +207,13 @@ class SearchMailboxController extends BaseMailboxController with MailboxActionHa
|
||||
_deBouncerTime.value = text;
|
||||
}
|
||||
|
||||
void onTextSearchSubmitted(BuildContext context, String text) {
|
||||
final query = text.trim();
|
||||
if (query.isNotEmpty) {
|
||||
submitSearchAction(context, query);
|
||||
}
|
||||
}
|
||||
|
||||
void setTextInputSearchForm(String value) {
|
||||
textInputSearchController.text = value;
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/views/button/icon_button_web.dart';
|
||||
import 'package:core/presentation/views/text/text_field_builder.dart';
|
||||
import 'package:core/utils/build_utils.dart';
|
||||
import 'package:core/utils/direction_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:focused_menu_custom/modals.dart';
|
||||
@@ -138,33 +139,28 @@ class SearchMailboxView extends GetWidget<SearchMailboxController>
|
||||
}
|
||||
|
||||
Widget _buildTextFieldSearchInput(BuildContext context) {
|
||||
return (TextFieldBuilder()
|
||||
..onChange(controller.onTextSearchChange)
|
||||
..textInputAction(TextInputAction.search)
|
||||
..autoFocus(true)
|
||||
..addController(controller.textInputSearchController)
|
||||
..textStyle(const TextStyle(
|
||||
color: Colors.black,
|
||||
return TextFieldBuilder(
|
||||
onTextChange: controller.onTextSearchChange,
|
||||
textInputAction: TextInputAction.search,
|
||||
autoFocus: true,
|
||||
controller: controller.textInputSearchController,
|
||||
textDirection: DirectionUtils.getDirectionByLanguage(context),
|
||||
textStyle: const TextStyle(
|
||||
color: Colors.black,
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.normal),
|
||||
keyboardType: TextInputType.text,
|
||||
onTextSubmitted: (text) => controller.onTextSearchSubmitted(context, text),
|
||||
decoration: InputDecoration(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
hintText: AppLocalizations.of(context).searchForMailboxes,
|
||||
hintStyle: const TextStyle(
|
||||
color: AppColor.loginTextFieldHintColor,
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.normal))
|
||||
..keyboardType(TextInputType.text)
|
||||
..onSubmitted((value) {
|
||||
final query = value.trim();
|
||||
if (query.isNotEmpty) {
|
||||
controller.submitSearchAction(context, query);
|
||||
}
|
||||
})
|
||||
..maxLines(1)
|
||||
..textDecoration(InputDecoration(
|
||||
contentPadding: EdgeInsets.zero,
|
||||
hintText: AppLocalizations.of(context).searchForMailboxes,
|
||||
hintStyle: const TextStyle(
|
||||
color: AppColor.loginTextFieldHintColor,
|
||||
fontSize: 15,
|
||||
fontWeight: FontWeight.normal),
|
||||
border: InputBorder.none
|
||||
)
|
||||
)).build();
|
||||
fontWeight: FontWeight.normal),
|
||||
border: InputBorder.none
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildMailboxListView(BuildContext context) {
|
||||
|
||||
Reference in New Issue
Block a user