diff --git a/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart b/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart index 0f64fece6..05ac03e81 100644 --- a/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart +++ b/lib/features/rules_filter_creator/presentation/rules_filter_creator_controller.dart @@ -42,6 +42,7 @@ class RulesFilterCreatorController extends BaseMailboxController { final inputRuleNameController = TextEditingController(); final inputConditionValueController = TextEditingController(); + final inputRuleNameFocusNode = FocusNode(); AccountId? _accountId; String? _newRuleName; @@ -63,6 +64,7 @@ class RulesFilterCreatorController extends BaseMailboxController { @override void onClose() { + inputRuleNameFocusNode.dispose(); inputRuleNameController.dispose(); inputConditionValueController.dispose(); super.onClose(); @@ -121,7 +123,7 @@ class RulesFilterCreatorController extends BaseMailboxController { } break; } - + inputRuleNameFocusNode.requestFocus(); _updateStateCreatorButton(); } diff --git a/lib/features/rules_filter_creator/presentation/rules_filter_creator_view.dart b/lib/features/rules_filter_creator/presentation/rules_filter_creator_view.dart index 4c807d76b..27c720a2f 100644 --- a/lib/features/rules_filter_creator/presentation/rules_filter_creator_view.dart +++ b/lib/features/rules_filter_creator/presentation/rules_filter_creator_view.dart @@ -123,6 +123,7 @@ class RuleFilterCreatorView extends GetWidget { hintText: AppLocalizations.of(context).rulesNameHintTextInput, errorText: controller.errorRuleName.value, editingController: controller.inputRuleNameController, + focusNode: controller.inputRuleNameFocusNode, onChangeAction: (value) => controller.updateRuleName(context, value),)), const SizedBox(height: 24), Text(AppLocalizations.of(context).conditionTitleRulesFilter, @@ -283,6 +284,7 @@ class RuleFilterCreatorView extends GetWidget { hintText: AppLocalizations.of(context).rulesNameHintTextInput, errorText: controller.errorRuleName.value, editingController: controller.inputRuleNameController, + focusNode: controller.inputRuleNameFocusNode, onChangeAction: (value) => controller.updateRuleName(context, value),)), const SizedBox(height: 24), Text(AppLocalizations.of(context).conditionTitleRulesFilter, @@ -443,6 +445,7 @@ class RuleFilterCreatorView extends GetWidget { hintText: AppLocalizations.of(context).rulesNameHintTextInput, errorText: controller.errorRuleName.value, editingController: controller.inputRuleNameController, + focusNode: controller.inputRuleNameFocusNode, onChangeAction: (value) => controller.updateRuleName(context, value),)), const Padding( padding: EdgeInsets.symmetric(vertical: 12), diff --git a/lib/features/rules_filter_creator/presentation/widgets/rules_filter_input_field_builder.dart b/lib/features/rules_filter_creator/presentation/widgets/rules_filter_input_field_builder.dart index 65a6706c4..01bbe2d4b 100644 --- a/lib/features/rules_filter_creator/presentation/widgets/rules_filter_input_field_builder.dart +++ b/lib/features/rules_filter_creator/presentation/widgets/rules_filter_input_field_builder.dart @@ -11,6 +11,7 @@ class RulesFilterInputField extends StatelessWidget { final String? errorText; final String? hintText; final TextEditingController? editingController; + final FocusNode? focusNode; final OnChangeFilterInputAction? onChangeAction; const RulesFilterInputField({ @@ -18,6 +19,7 @@ class RulesFilterInputField extends StatelessWidget { this.hintText, this.errorText, this.editingController, + this.focusNode, this.onChangeAction }) : super(key: key); @@ -29,6 +31,7 @@ class RulesFilterInputField extends StatelessWidget { ..addController(editingController ?? TextEditingController()) ..textStyle(const TextStyle(color: Colors.black, fontSize: 16)) ..keyboardType(TextInputType.text) + ..addFocusNode(focusNode) ..textDecoration((RulesFilterInputDecorationBuilder() ..setContentPadding(const EdgeInsets.symmetric( vertical: BuildUtils.isWeb ? 16 : 12,