TF-2083 Change input field arguments

(cherry picked from commit 4faec0c82170a4fb5d12caac3716a5ed98f2993d)
This commit is contained in:
hieubt
2023-09-08 15:18:31 +07:00
committed by Dat Vu
parent 685bebd738
commit fb8a5cb6b8
3 changed files with 34 additions and 34 deletions
@@ -3,20 +3,20 @@ import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class RulesFilterInputFieldArguments with EquatableMixin { class RulesFilterInputFieldArguments with EquatableMixin {
final FocusNode inputRuleConditionValueFocusNode; final FocusNode focusNode;
final String errorRuleConditionValue; final String errorText;
final TextEditingController inputRuleConditionValueController; final TextEditingController controller;
RulesFilterInputFieldArguments({ RulesFilterInputFieldArguments({
required this.inputRuleConditionValueFocusNode, required this.focusNode,
required this.errorRuleConditionValue, required this.errorText,
required this.inputRuleConditionValueController, required this.controller,
}); });
@override @override
List<Object?> get props => [ List<Object?> get props => [
inputRuleConditionValueFocusNode, focusNode,
errorRuleConditionValue, errorText,
inputRuleConditionValueController, controller,
]; ];
} }
@@ -40,8 +40,8 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart'; import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/dialog_router.dart'; import 'package:tmail_ui_user/main/routes/dialog_router.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/rules_filter_input_field_arguments.dart';
import 'model/rules_filter_input_field_arguments.dart';
class RulesFilterCreatorController extends BaseMailboxController { class RulesFilterCreatorController extends BaseMailboxController {
@@ -113,8 +113,8 @@ class RulesFilterCreatorController extends BaseMailboxController {
inputRuleNameFocusNode.dispose(); inputRuleNameFocusNode.dispose();
inputRuleNameController.dispose(); inputRuleNameController.dispose();
for (var ruleConditionValueArguments in listRuleConditionValueArguments) { for (var ruleConditionValueArguments in listRuleConditionValueArguments) {
ruleConditionValueArguments.inputRuleConditionValueFocusNode.dispose(); ruleConditionValueArguments.focusNode.dispose();
ruleConditionValueArguments.inputRuleConditionValueController.dispose(); ruleConditionValueArguments.controller.dispose();
} }
super.onClose(); super.onClose();
} }
@@ -152,9 +152,9 @@ class RulesFilterCreatorController extends BaseMailboxController {
); );
listRuleCondition.add(newRuleCondition); listRuleCondition.add(newRuleCondition);
RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments( RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments(
inputRuleConditionValueFocusNode: FocusNode(), focusNode: FocusNode(),
errorRuleConditionValue: '', errorText: '',
inputRuleConditionValueController: TextEditingController(), controller: TextEditingController(),
); );
listRuleConditionValueArguments.add(newRuleConditionValueArguments); listRuleConditionValueArguments.add(newRuleConditionValueArguments);
emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage; emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage;
@@ -167,7 +167,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
listRuleCondition[0] = firstRuleCondition; listRuleCondition[0] = firstRuleCondition;
listRuleCondition.refresh(); listRuleCondition.refresh();
_setValueInputField( _setValueInputField(
listRuleConditionValueArguments[0].inputRuleConditionValueController, listRuleConditionValueArguments[0].controller,
listRuleCondition[0].value listRuleCondition[0].value
); );
} }
@@ -184,14 +184,14 @@ class RulesFilterCreatorController extends BaseMailboxController {
); );
listRuleCondition.add(currentRule); listRuleCondition.add(currentRule);
RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments( RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments(
inputRuleConditionValueFocusNode: FocusNode(), focusNode: FocusNode(),
errorRuleConditionValue: '', errorText: '',
inputRuleConditionValueController: TextEditingController(), controller: TextEditingController(),
); );
listRuleConditionValueArguments.add(newRuleConditionValueArguments); listRuleConditionValueArguments.add(newRuleConditionValueArguments);
emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage; emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage;
_setValueInputField( _setValueInputField(
listRuleConditionValueArguments[0].inputRuleConditionValueController, listRuleConditionValueArguments[0].controller,
listRuleCondition[0].value listRuleCondition[0].value
); );
_newRuleName = _currentTMailRule!.name; _newRuleName = _currentTMailRule!.name;
@@ -238,9 +238,9 @@ class RulesFilterCreatorController extends BaseMailboxController {
listRuleCondition.refresh(); listRuleCondition.refresh();
String? errorString = _getErrorStringByInputValue(context, listRuleCondition[ruleConditionIndex].value); String? errorString = _getErrorStringByInputValue(context, listRuleCondition[ruleConditionIndex].value);
RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments( RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments(
inputRuleConditionValueFocusNode: listRuleConditionValueArguments[ruleConditionIndex].inputRuleConditionValueFocusNode, focusNode: listRuleConditionValueArguments[ruleConditionIndex].focusNode,
errorRuleConditionValue: errorString ?? '', errorText: errorString ?? '',
inputRuleConditionValueController: listRuleConditionValueArguments[ruleConditionIndex].inputRuleConditionValueController, controller: listRuleConditionValueArguments[ruleConditionIndex].controller,
); );
if (listRuleConditionValueArguments.length > ruleConditionIndex) { if (listRuleConditionValueArguments.length > ruleConditionIndex) {
listRuleConditionValueArguments[ruleConditionIndex] = newRuleConditionValueArguments; listRuleConditionValueArguments[ruleConditionIndex] = newRuleConditionValueArguments;
@@ -327,12 +327,12 @@ class RulesFilterCreatorController extends BaseMailboxController {
if (errorString != null) { if (errorString != null) {
int ruleConditionIndex = listRuleCondition.indexOf(ruleCondition); int ruleConditionIndex = listRuleCondition.indexOf(ruleCondition);
RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments( RulesFilterInputFieldArguments newRuleConditionValueArguments = RulesFilterInputFieldArguments(
inputRuleConditionValueFocusNode: listRuleConditionValueArguments[ruleConditionIndex].inputRuleConditionValueFocusNode, focusNode: listRuleConditionValueArguments[ruleConditionIndex].focusNode,
errorRuleConditionValue: errorString, errorText: errorString,
inputRuleConditionValueController: listRuleConditionValueArguments[ruleConditionIndex].inputRuleConditionValueController, controller: listRuleConditionValueArguments[ruleConditionIndex].controller,
); );
listRuleConditionValueArguments[ruleConditionIndex] = newRuleConditionValueArguments; listRuleConditionValueArguments[ruleConditionIndex] = newRuleConditionValueArguments;
listRuleConditionValueArguments[listRuleCondition.indexOf(ruleCondition)].inputRuleConditionValueFocusNode.requestFocus(); listRuleConditionValueArguments[listRuleCondition.indexOf(ruleCondition)].focusNode.requestFocus();
} }
} }
return; return;
@@ -409,9 +409,9 @@ class RulesFilterCreatorController extends BaseMailboxController {
); );
listRuleCondition.add(newRuleCondition); listRuleCondition.add(newRuleCondition);
listRuleConditionValueArguments.add(RulesFilterInputFieldArguments( listRuleConditionValueArguments.add(RulesFilterInputFieldArguments(
inputRuleConditionValueFocusNode: FocusNode(), focusNode: FocusNode(),
errorRuleConditionValue: '', errorText: '',
inputRuleConditionValueController: TextEditingController(), controller: TextEditingController(),
)); ));
} }
@@ -591,13 +591,13 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
itemCount: controller.listRuleCondition.length, itemCount: controller.listRuleCondition.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {
return RuleFilterConditionWidget( return RuleFilterConditionWidget(
key: ValueKey(controller.listRuleConditionValueArguments[index].inputRuleConditionValueFocusNode), key: ValueKey(controller.listRuleConditionValueArguments[index].focusNode),
ruleFilterConditionScreenType: ruleFilterConditionScreenType, ruleFilterConditionScreenType: ruleFilterConditionScreenType,
ruleCondition: controller.listRuleCondition[index], ruleCondition: controller.listRuleCondition[index],
imagePaths: _imagePaths, imagePaths: _imagePaths,
conditionValueErrorText: controller.listRuleConditionValueArguments[index].errorRuleConditionValue, conditionValueErrorText: controller.listRuleConditionValueArguments[index].errorText,
conditionValueFocusNode: controller.listRuleConditionValueArguments[index].inputRuleConditionValueFocusNode, conditionValueFocusNode: controller.listRuleConditionValueArguments[index].focusNode,
conditionValueEditingController: controller.listRuleConditionValueArguments[index].inputRuleConditionValueController, conditionValueEditingController: controller.listRuleConditionValueArguments[index].controller,
tapRuleConditionFieldCallback: (value) => { tapRuleConditionFieldCallback: (value) => {
if (ruleFilterConditionScreenType == RuleFilterConditionScreenType.mobile) { if (ruleFilterConditionScreenType == RuleFilterConditionScreenType.mobile) {
controller.openContextMenuAction( controller.openContextMenuAction(