TF-894 Auto focus input name when open dialog
This commit is contained in:
@@ -42,6 +42,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
|||||||
|
|
||||||
final inputRuleNameController = TextEditingController();
|
final inputRuleNameController = TextEditingController();
|
||||||
final inputConditionValueController = TextEditingController();
|
final inputConditionValueController = TextEditingController();
|
||||||
|
final inputRuleNameFocusNode = FocusNode();
|
||||||
|
|
||||||
AccountId? _accountId;
|
AccountId? _accountId;
|
||||||
String? _newRuleName;
|
String? _newRuleName;
|
||||||
@@ -63,6 +64,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onClose() {
|
void onClose() {
|
||||||
|
inputRuleNameFocusNode.dispose();
|
||||||
inputRuleNameController.dispose();
|
inputRuleNameController.dispose();
|
||||||
inputConditionValueController.dispose();
|
inputConditionValueController.dispose();
|
||||||
super.onClose();
|
super.onClose();
|
||||||
@@ -121,7 +123,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
inputRuleNameFocusNode.requestFocus();
|
||||||
_updateStateCreatorButton();
|
_updateStateCreatorButton();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -123,6 +123,7 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
|||||||
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
||||||
errorText: controller.errorRuleName.value,
|
errorText: controller.errorRuleName.value,
|
||||||
editingController: controller.inputRuleNameController,
|
editingController: controller.inputRuleNameController,
|
||||||
|
focusNode: controller.inputRuleNameFocusNode,
|
||||||
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
Text(AppLocalizations.of(context).conditionTitleRulesFilter,
|
Text(AppLocalizations.of(context).conditionTitleRulesFilter,
|
||||||
@@ -283,6 +284,7 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
|||||||
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
||||||
errorText: controller.errorRuleName.value,
|
errorText: controller.errorRuleName.value,
|
||||||
editingController: controller.inputRuleNameController,
|
editingController: controller.inputRuleNameController,
|
||||||
|
focusNode: controller.inputRuleNameFocusNode,
|
||||||
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
||||||
const SizedBox(height: 24),
|
const SizedBox(height: 24),
|
||||||
Text(AppLocalizations.of(context).conditionTitleRulesFilter,
|
Text(AppLocalizations.of(context).conditionTitleRulesFilter,
|
||||||
@@ -443,6 +445,7 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
|||||||
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
hintText: AppLocalizations.of(context).rulesNameHintTextInput,
|
||||||
errorText: controller.errorRuleName.value,
|
errorText: controller.errorRuleName.value,
|
||||||
editingController: controller.inputRuleNameController,
|
editingController: controller.inputRuleNameController,
|
||||||
|
focusNode: controller.inputRuleNameFocusNode,
|
||||||
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
onChangeAction: (value) => controller.updateRuleName(context, value),)),
|
||||||
const Padding(
|
const Padding(
|
||||||
padding: EdgeInsets.symmetric(vertical: 12),
|
padding: EdgeInsets.symmetric(vertical: 12),
|
||||||
|
|||||||
+3
@@ -11,6 +11,7 @@ class RulesFilterInputField extends StatelessWidget {
|
|||||||
final String? errorText;
|
final String? errorText;
|
||||||
final String? hintText;
|
final String? hintText;
|
||||||
final TextEditingController? editingController;
|
final TextEditingController? editingController;
|
||||||
|
final FocusNode? focusNode;
|
||||||
final OnChangeFilterInputAction? onChangeAction;
|
final OnChangeFilterInputAction? onChangeAction;
|
||||||
|
|
||||||
const RulesFilterInputField({
|
const RulesFilterInputField({
|
||||||
@@ -18,6 +19,7 @@ class RulesFilterInputField extends StatelessWidget {
|
|||||||
this.hintText,
|
this.hintText,
|
||||||
this.errorText,
|
this.errorText,
|
||||||
this.editingController,
|
this.editingController,
|
||||||
|
this.focusNode,
|
||||||
this.onChangeAction
|
this.onChangeAction
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@@ -29,6 +31,7 @@ class RulesFilterInputField extends StatelessWidget {
|
|||||||
..addController(editingController ?? TextEditingController())
|
..addController(editingController ?? TextEditingController())
|
||||||
..textStyle(const TextStyle(color: Colors.black, fontSize: 16))
|
..textStyle(const TextStyle(color: Colors.black, fontSize: 16))
|
||||||
..keyboardType(TextInputType.text)
|
..keyboardType(TextInputType.text)
|
||||||
|
..addFocusNode(focusNode)
|
||||||
..textDecoration((RulesFilterInputDecorationBuilder()
|
..textDecoration((RulesFilterInputDecorationBuilder()
|
||||||
..setContentPadding(const EdgeInsets.symmetric(
|
..setContentPadding(const EdgeInsets.symmetric(
|
||||||
vertical: BuildUtils.isWeb ? 16 : 12,
|
vertical: BuildUtils.isWeb ? 16 : 12,
|
||||||
|
|||||||
Reference in New Issue
Block a user