TF-2083 change condition widget to RuleFilterConditionWidget
(cherry picked from commit 6fde253f44d587f10745eb3688d703d03787225c)
This commit is contained in:
+20
-4
@@ -14,6 +14,7 @@ import 'package:model/model.dart';
|
||||
import 'package:rule_filter/rule_filter/rule_action.dart';
|
||||
import 'package:rule_filter/rule_filter/rule_append_in.dart';
|
||||
import 'package:rule_filter/rule_filter/rule_condition.dart' as rule_condition;
|
||||
import 'package:rule_filter/rule_filter/rule_condition.dart';
|
||||
import 'package:rule_filter/rule_filter/tmail_rule.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
|
||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
||||
@@ -55,6 +56,7 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
final emailRuleFilterActionSelected = Rxn<EmailRuleFilterAction>();
|
||||
final mailboxSelected = Rxn<PresentationMailbox>();
|
||||
final actionType = CreatorActionType.create.obs;
|
||||
final listRuleCondition = RxList<RuleCondition>();
|
||||
|
||||
final TextEditingController inputRuleNameController = TextEditingController();
|
||||
final TextEditingController inputConditionValueController = TextEditingController();
|
||||
@@ -145,6 +147,12 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
case CreatorActionType.create:
|
||||
ruleConditionFieldSelected.value = rule_condition.Field.from;
|
||||
ruleConditionComparatorSelected.value = rule_condition.Comparator.contains;
|
||||
RuleCondition newRuleCondition = RuleCondition(
|
||||
field: rule_condition.Field.from,
|
||||
comparator: rule_condition.Comparator.contains,
|
||||
value: ''
|
||||
);
|
||||
listRuleCondition.add(newRuleCondition);
|
||||
emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage;
|
||||
if (_emailAddress != null) {
|
||||
_newRuleConditionValue = _emailAddress?.email;
|
||||
@@ -158,6 +166,12 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
if (_currentTMailRule != null) {
|
||||
ruleConditionFieldSelected.value = _currentTMailRule!.condition.field;
|
||||
ruleConditionComparatorSelected.value = _currentTMailRule!.condition.comparator;
|
||||
RuleCondition currentRule = RuleCondition(
|
||||
field: _currentTMailRule!.condition.field,
|
||||
comparator: _currentTMailRule!.condition.comparator,
|
||||
value: _currentTMailRule!.condition.value
|
||||
);
|
||||
listRuleCondition.add(currentRule);
|
||||
emailRuleFilterActionSelected.value = EmailRuleFilterAction.moveMessage;
|
||||
_newRuleConditionValue = _currentTMailRule!.condition.value;
|
||||
_setValueInputField(inputConditionValueController, _newRuleConditionValue ?? '');
|
||||
@@ -213,12 +227,14 @@ class RulesFilterCreatorController extends BaseMailboxController {
|
||||
);
|
||||
}
|
||||
|
||||
void selectRuleConditionField(rule_condition.Field? newField) {
|
||||
ruleConditionFieldSelected.value = newField;
|
||||
void selectRuleConditionField(rule_condition.Field? newField, int? ruleConditionIndex) {
|
||||
listRuleCondition[ruleConditionIndex!].field.obs.value = newField!;
|
||||
listRuleCondition.refresh();
|
||||
}
|
||||
|
||||
void selectRuleConditionComparator(rule_condition.Comparator? newComparator) {
|
||||
ruleConditionComparatorSelected.value = newComparator;
|
||||
void selectRuleConditionComparator(rule_condition.Comparator? newComparator, int? ruleConditionIndex) {
|
||||
listRuleCondition[ruleConditionIndex!].comparator.obs.value = newComparator!;
|
||||
listRuleCondition.refresh();
|
||||
}
|
||||
|
||||
void selectEmailRuleFilterAction(EmailRuleFilterAction? newAction) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import 'package:get/get.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:rule_filter/rule_filter/rule_condition.dart' as rule_condition;
|
||||
import 'package:rule_filter/rule_filter/rule_condition.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/drop_down_button_widget.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/extensions/rule_condition_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/model/email_rule_filter_action.dart';
|
||||
@@ -13,10 +14,13 @@ import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rule_condition_comparator_bottom_sheet_action_tile_builder.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rule_condition_field_bottom_sheet_action_tile_builder.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rule_filter_button_field.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rule_filter_condition_widget.dart';
|
||||
import 'package:tmail_ui_user/features/rules_filter_creator/presentation/widgets/rules_filter_input_field_builder.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
import 'model/rule_filter_condition_type.dart';
|
||||
|
||||
class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
@@ -143,40 +147,62 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
fontSize: 16,
|
||||
color: Colors.black)),
|
||||
const SizedBox(height: 24),
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
borderRadius: BorderRadius.circular(12)),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Expanded(child: Obx(() => DropDownButtonWidget<rule_condition.Field>(
|
||||
items: rule_condition.Field.values,
|
||||
itemSelected: controller.ruleConditionFieldSelected.value,
|
||||
dropdownMaxHeight: 250,
|
||||
onChanged: (newField) =>
|
||||
controller.selectRuleConditionField(newField),
|
||||
supportSelectionIcon: true))),
|
||||
Container(
|
||||
width: 220,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
child: Obx(() => DropDownButtonWidget<rule_condition.Comparator>(
|
||||
items: rule_condition.Comparator.values,
|
||||
itemSelected: controller.ruleConditionComparatorSelected.value,
|
||||
onChanged: (newComparator) =>
|
||||
controller.selectRuleConditionComparator(newComparator),
|
||||
supportSelectionIcon: true))),
|
||||
Expanded(child: Obx(() => RulesFilterInputField(
|
||||
hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
errorText: controller.errorRuleConditionValue.value,
|
||||
editingController: controller.inputConditionValueController,
|
||||
focusNode: controller.inputRuleConditionFocusNode,
|
||||
onChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value))))
|
||||
]
|
||||
)
|
||||
),
|
||||
// Container(
|
||||
// padding: const EdgeInsets.all(12),
|
||||
// decoration: BoxDecoration(
|
||||
// color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
// borderRadius: BorderRadius.circular(12)),
|
||||
// child: Row(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// Expanded(child: Obx(() => DropDownButtonWidget<rule_condition.Field>(
|
||||
// items: rule_condition.Field.values,
|
||||
// itemSelected: controller.ruleConditionFieldSelected.value,
|
||||
// dropdownMaxHeight: 250,
|
||||
// onChanged: (newField) =>
|
||||
// controller.selectRuleConditionField(newField),
|
||||
// supportSelectionIcon: true))),
|
||||
// Container(
|
||||
// width: 220,
|
||||
// padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
// child: Obx(() => DropDownButtonWidget<rule_condition.Comparator>(
|
||||
// items: rule_condition.Comparator.values,
|
||||
// itemSelected: controller.ruleConditionComparatorSelected.value,
|
||||
// onChanged: (newComparator) =>
|
||||
// controller.selectRuleConditionComparator(newComparator),
|
||||
// supportSelectionIcon: true))),
|
||||
// Expanded(child: Obx(() => RulesFilterInputField(
|
||||
// hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
// errorText: controller.errorRuleConditionValue.value,
|
||||
// editingController: controller.inputConditionValueController,
|
||||
// focusNode: controller.inputRuleConditionFocusNode,
|
||||
// onChangeAction: (value) =>
|
||||
// controller.updateConditionValue(context, value))))
|
||||
// ]
|
||||
// )
|
||||
// ),
|
||||
Obx(() {
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: controller.listRuleCondition.length,
|
||||
itemBuilder: (context, index) {
|
||||
return RuleFilterConditionWidget(
|
||||
ruleFilterConditionType: RuleFilterConditionType.desktop,
|
||||
ruleCondition: controller.listRuleCondition[index],
|
||||
imagePaths: _imagePaths,
|
||||
conditionValueErrorText: controller.errorRuleConditionValue.value,
|
||||
conditionValueFocusNode: controller.inputRuleConditionFocusNode,
|
||||
conditionValueEditingController: controller.inputConditionValueController,
|
||||
tapRuleConditionFieldCallback: (value) =>
|
||||
controller.selectRuleConditionField(value, index),
|
||||
tapRuleConditionComparatorCallback: (value) =>
|
||||
controller.selectRuleConditionComparator(value, index),
|
||||
conditionValueOnChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value),
|
||||
);
|
||||
}
|
||||
);
|
||||
}),
|
||||
const SizedBox(height: 24),
|
||||
Text(AppLocalizations.of(context).actionTitleRulesFilter,
|
||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||
@@ -302,40 +328,62 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
fontSize: 16,
|
||||
color: Colors.black)),
|
||||
const SizedBox(height: 24),
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
borderRadius: BorderRadius.circular(12)),
|
||||
child: Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Expanded(child: Obx(() => DropDownButtonWidget<rule_condition.Field>(
|
||||
items: rule_condition.Field.values,
|
||||
itemSelected: controller.ruleConditionFieldSelected.value,
|
||||
dropdownMaxHeight: 250,
|
||||
onChanged: (newField) =>
|
||||
controller.selectRuleConditionField(newField),
|
||||
supportSelectionIcon: true))),
|
||||
Container(
|
||||
width: 220,
|
||||
padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
child: Obx(() => DropDownButtonWidget<rule_condition.Comparator>(
|
||||
items: rule_condition.Comparator.values,
|
||||
itemSelected: controller.ruleConditionComparatorSelected.value,
|
||||
onChanged: (newComparator) =>
|
||||
controller.selectRuleConditionComparator(newComparator),
|
||||
supportSelectionIcon: true))),
|
||||
Expanded(child: Obx(() => RulesFilterInputField(
|
||||
hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
errorText: controller.errorRuleConditionValue.value,
|
||||
editingController: controller.inputConditionValueController,
|
||||
focusNode: controller.inputRuleConditionFocusNode,
|
||||
onChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value))))
|
||||
]
|
||||
)
|
||||
),
|
||||
// Container(
|
||||
// padding: const EdgeInsets.all(12),
|
||||
// decoration: BoxDecoration(
|
||||
// color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
// borderRadius: BorderRadius.circular(12)),
|
||||
// child: Row(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// Expanded(child: Obx(() => DropDownButtonWidget<rule_condition.Field>(
|
||||
// items: rule_condition.Field.values,
|
||||
// itemSelected: controller.ruleConditionFieldSelected.value,
|
||||
// dropdownMaxHeight: 250,
|
||||
// onChanged: (newField) =>
|
||||
// controller.selectRuleConditionField(newField),
|
||||
// supportSelectionIcon: true))),
|
||||
// Container(
|
||||
// width: 220,
|
||||
// padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||
// child: Obx(() => DropDownButtonWidget<rule_condition.Comparator>(
|
||||
// items: rule_condition.Comparator.values,
|
||||
// itemSelected: controller.ruleConditionComparatorSelected.value,
|
||||
// onChanged: (newComparator) =>
|
||||
// controller.selectRuleConditionComparator(newComparator),
|
||||
// supportSelectionIcon: true))),
|
||||
// Expanded(child: Obx(() => RulesFilterInputField(
|
||||
// hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
// errorText: controller.errorRuleConditionValue.value,
|
||||
// editingController: controller.inputConditionValueController,
|
||||
// focusNode: controller.inputRuleConditionFocusNode,
|
||||
// onChangeAction: (value) =>
|
||||
// controller.updateConditionValue(context, value))))
|
||||
// ]
|
||||
// )
|
||||
// ),
|
||||
Obx(() {
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: controller.listRuleCondition.length,
|
||||
itemBuilder: (context, index) {
|
||||
return RuleFilterConditionWidget(
|
||||
ruleFilterConditionType: RuleFilterConditionType.tablet,
|
||||
ruleCondition: controller.listRuleCondition[index],
|
||||
imagePaths: _imagePaths,
|
||||
conditionValueErrorText: controller.errorRuleConditionValue.value,
|
||||
conditionValueFocusNode: controller.inputRuleConditionFocusNode,
|
||||
conditionValueEditingController: controller.inputConditionValueController,
|
||||
tapRuleConditionFieldCallback: (value) =>
|
||||
controller.selectRuleConditionField(value, index),
|
||||
tapRuleConditionComparatorCallback: (value) =>
|
||||
controller.selectRuleConditionComparator(value, index),
|
||||
conditionValueOnChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value),
|
||||
);
|
||||
}
|
||||
);
|
||||
}),
|
||||
const SizedBox(height: 24),
|
||||
Text(AppLocalizations.of(context).actionTitleRulesFilter,
|
||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||
@@ -467,53 +515,75 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
fontSize: 16,
|
||||
color: Colors.black)),
|
||||
const SizedBox(height: 24),
|
||||
Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
borderRadius: BorderRadius.circular(12)),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Obx(() {
|
||||
return RuleFilterButtonField<rule_condition.Field>(
|
||||
value: controller.ruleConditionFieldSelected.value,
|
||||
tapActionCallback: (value) {
|
||||
KeyboardUtils.hideKeyboard(context);
|
||||
controller.openContextMenuAction(
|
||||
context,
|
||||
_bottomSheetRuleConditionFieldActionTiles(
|
||||
context,
|
||||
controller.ruleConditionFieldSelected.value));
|
||||
}
|
||||
);
|
||||
}),
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(vertical: 12),
|
||||
child: Obx(() {
|
||||
return RuleFilterButtonField<rule_condition.Comparator>(
|
||||
value: controller.ruleConditionComparatorSelected.value,
|
||||
tapActionCallback: (value) {
|
||||
KeyboardUtils.hideKeyboard(context);
|
||||
controller.openContextMenuAction(
|
||||
context,
|
||||
_bottomSheetRuleConditionComparatorActionTiles(
|
||||
context,
|
||||
controller.ruleConditionComparatorSelected.value));
|
||||
}
|
||||
);
|
||||
}),
|
||||
),
|
||||
Obx(() => RulesFilterInputField(
|
||||
hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
errorText: controller.errorRuleConditionValue.value,
|
||||
editingController: controller.inputConditionValueController,
|
||||
focusNode: controller.inputRuleConditionFocusNode,
|
||||
onChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value)))
|
||||
]
|
||||
)
|
||||
),
|
||||
// Container(
|
||||
// padding: const EdgeInsets.all(12),
|
||||
// decoration: BoxDecoration(
|
||||
// color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
// borderRadius: BorderRadius.circular(12)),
|
||||
// child: Column(
|
||||
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||
// children: [
|
||||
// Obx(() {
|
||||
// return RuleFilterButtonField<rule_condition.Field>(
|
||||
// value: controller.ruleConditionFieldSelected.value,
|
||||
// tapActionCallback: (value) {
|
||||
// KeyboardUtils.hideKeyboard(context);
|
||||
// controller.openContextMenuAction(
|
||||
// context,
|
||||
// _bottomSheetRuleConditionFieldActionTiles(
|
||||
// context,
|
||||
// controller.ruleConditionFieldSelected.value));
|
||||
// }
|
||||
// );
|
||||
// }),
|
||||
// Padding(
|
||||
// padding: const EdgeInsets.symmetric(vertical: 12),
|
||||
// child: Obx(() {
|
||||
// return RuleFilterButtonField<rule_condition.Comparator>(
|
||||
// value: controller.ruleConditionComparatorSelected.value,
|
||||
// tapActionCallback: (value) {
|
||||
// KeyboardUtils.hideKeyboard(context);
|
||||
// controller.openContextMenuAction(
|
||||
// context,
|
||||
// _bottomSheetRuleConditionComparatorActionTiles(
|
||||
// context,
|
||||
// controller.ruleConditionComparatorSelected.value));
|
||||
// }
|
||||
// );
|
||||
// }),
|
||||
// ),
|
||||
// Obx(() => RulesFilterInputField(
|
||||
// hintText: AppLocalizations.of(context).conditionValueHintTextInput,
|
||||
// errorText: controller.errorRuleConditionValue.value,
|
||||
// editingController: controller.inputConditionValueController,
|
||||
// focusNode: controller.inputRuleConditionFocusNode,
|
||||
// onChangeAction: (value) =>
|
||||
// controller.updateConditionValue(context, value)))
|
||||
// ]
|
||||
// )
|
||||
// ),
|
||||
Obx(() {
|
||||
return ListView.builder(
|
||||
shrinkWrap: true,
|
||||
itemCount: controller.listRuleCondition.length,
|
||||
itemBuilder: (context, index) {
|
||||
return RuleFilterConditionWidget(
|
||||
ruleFilterConditionType: RuleFilterConditionType.mobile,
|
||||
ruleCondition: controller.listRuleCondition[index],
|
||||
imagePaths: _imagePaths,
|
||||
conditionValueErrorText: controller.errorRuleConditionValue.value,
|
||||
conditionValueFocusNode: controller.inputRuleConditionFocusNode,
|
||||
conditionValueEditingController: controller.inputConditionValueController,
|
||||
tapRuleConditionFieldCallback: (value) =>
|
||||
controller.selectRuleConditionField(value, index),
|
||||
tapRuleConditionComparatorCallback: (value) =>
|
||||
controller.selectRuleConditionComparator(value, index),
|
||||
conditionValueOnChangeAction: (value) =>
|
||||
controller.updateConditionValue(context, value),
|
||||
);
|
||||
}
|
||||
);
|
||||
}),
|
||||
const Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 12),
|
||||
child: Divider(
|
||||
@@ -616,18 +686,20 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
|
||||
List<Widget> _bottomSheetRuleConditionFieldActionTiles(
|
||||
BuildContext context,
|
||||
rule_condition.Field? fieldSelected
|
||||
rule_condition.Field? fieldSelected,
|
||||
int? ruleConditionIndex,
|
||||
) {
|
||||
return rule_condition.Field.values
|
||||
.map((field) =>
|
||||
_buildRuleConditionFieldWidget(context, field, fieldSelected))
|
||||
_buildRuleConditionFieldWidget(context, field, fieldSelected, ruleConditionIndex))
|
||||
.toList();
|
||||
}
|
||||
|
||||
Widget _buildRuleConditionFieldWidget(
|
||||
BuildContext context,
|
||||
rule_condition.Field field,
|
||||
rule_condition.Field? fieldSelected
|
||||
rule_condition.Field? fieldSelected,
|
||||
int? ruleConditionIndex,
|
||||
) {
|
||||
return (RuleConditionFieldSheetActionTileBuilder(
|
||||
field.getTitle(context),
|
||||
@@ -641,7 +713,7 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
height: 20,
|
||||
fit: BoxFit.fill))
|
||||
..onActionClick((field) {
|
||||
controller.selectRuleConditionField(field);
|
||||
controller.selectRuleConditionField(field, ruleConditionIndex);
|
||||
popBack();
|
||||
}))
|
||||
.build();
|
||||
@@ -649,18 +721,20 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
|
||||
List<Widget> _bottomSheetRuleConditionComparatorActionTiles(
|
||||
BuildContext context,
|
||||
rule_condition.Comparator? comparatorSelected
|
||||
rule_condition.Comparator? comparatorSelected,
|
||||
int? ruleConditionIndex,
|
||||
) {
|
||||
return rule_condition.Comparator.values
|
||||
.map((comparator) =>
|
||||
_buildRuleConditionComparatorWidget(context, comparator, comparatorSelected))
|
||||
_buildRuleConditionComparatorWidget(context, comparator, comparatorSelected, ruleConditionIndex))
|
||||
.toList();
|
||||
}
|
||||
|
||||
Widget _buildRuleConditionComparatorWidget(
|
||||
BuildContext context,
|
||||
rule_condition.Comparator comparator,
|
||||
rule_condition.Comparator? comparatorSelected
|
||||
rule_condition.Comparator? comparatorSelected,
|
||||
int? ruleConditionIndex,
|
||||
) {
|
||||
return (RuleConditionComparatorSheetActionTileBuilder(
|
||||
comparator.getTitle(context),
|
||||
@@ -674,7 +748,7 @@ class RuleFilterCreatorView extends GetWidget<RulesFilterCreatorController> {
|
||||
height: 20,
|
||||
fit: BoxFit.fill))
|
||||
..onActionClick((comparator) {
|
||||
controller.selectRuleConditionComparator(comparator);
|
||||
controller.selectRuleConditionComparator(comparator, ruleConditionIndex);
|
||||
popBack();
|
||||
}))
|
||||
.build();
|
||||
|
||||
+19
-19
@@ -41,25 +41,25 @@ class RuleFilterConditionWidget extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: _buildRuleFilterCondition(
|
||||
context,
|
||||
ruleFilterConditionType,
|
||||
ruleCondition,
|
||||
tapRuleConditionFieldCallback,
|
||||
tapRuleConditionComparatorCallback,
|
||||
conditionValueErrorText,
|
||||
conditionValueEditingController,
|
||||
conditionValueFocusNode,
|
||||
conditionValueOnChangeAction,
|
||||
onTapRemoveRuleFilterConditionCallback,
|
||||
imagePaths,
|
||||
)
|
||||
);
|
||||
padding: const EdgeInsets.all(12),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColor.colorBackgroundFieldConditionRulesFilter,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
child: _buildRuleFilterCondition(
|
||||
context,
|
||||
ruleFilterConditionType,
|
||||
ruleCondition,
|
||||
tapRuleConditionFieldCallback,
|
||||
tapRuleConditionComparatorCallback,
|
||||
conditionValueErrorText,
|
||||
conditionValueEditingController,
|
||||
conditionValueFocusNode,
|
||||
conditionValueOnChangeAction,
|
||||
onTapRemoveRuleFilterConditionCallback,
|
||||
imagePaths,
|
||||
)
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user