TF-3763 Update style for Has attachment checkbox in advanced search view
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+6
-7
@@ -1,5 +1,5 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/views/checkbox/labeled_checkbox.dart';
|
||||
import 'package:core/presentation/views/checkbox/default_labeled_checkbox.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/base/isolate/background_isolate_binary_messenger/background_isolate_binary_messenger_mobile.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
@@ -8,16 +8,16 @@ typedef OnChangedHasAttachment = void Function(bool? value);
|
||||
|
||||
class CheckBoxHasAttachmentWidget extends StatelessWidget {
|
||||
final bool hasAttachmentValue;
|
||||
final FocusNode? currentFocusNode;
|
||||
final FocusNode currentFocusNode;
|
||||
final FocusNode? nextFocusNode;
|
||||
final OnChangedHasAttachment? onChanged;
|
||||
final OnChangedHasAttachment onChanged;
|
||||
|
||||
const CheckBoxHasAttachmentWidget({
|
||||
super.key,
|
||||
required this.hasAttachmentValue,
|
||||
this.currentFocusNode,
|
||||
required this.currentFocusNode,
|
||||
required this.onChanged,
|
||||
this.nextFocusNode,
|
||||
this.onChanged,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -29,10 +29,9 @@ class CheckBoxHasAttachmentWidget extends StatelessWidget {
|
||||
nextFocusNode?.requestFocus();
|
||||
}
|
||||
},
|
||||
child: LabeledCheckbox(
|
||||
child: DefaultLabeledCheckbox(
|
||||
label: AppLocalizations.of(context).hasAttachment,
|
||||
focusNode: currentFocusNode,
|
||||
contentPadding: EdgeInsets.zero,
|
||||
value: hasAttachmentValue,
|
||||
activeColor: AppColor.primaryColor,
|
||||
onChanged: onChanged,
|
||||
|
||||
+12
-27
@@ -1,7 +1,7 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/presentation/views/button/icon_button_web.dart';
|
||||
import 'package:core/presentation/views/checkbox/labeled_checkbox.dart';
|
||||
import 'package:core/presentation/views/checkbox/custom_icon_labeled_checkbox.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -24,12 +24,9 @@ class AdvancedSearchFilterFormBottomView extends GetWidget<AdvancedFilterControl
|
||||
return Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Transform(
|
||||
transform: Matrix4.translationValues(-8.0, 0.0, 0.0),
|
||||
child: _buildCheckboxHasAttachment(
|
||||
context,
|
||||
currentFocusNode: focusManager.attachmentCheckboxFocusNode,
|
||||
nextFocusNode: focusManager.searchButtonFocusNode),
|
||||
_buildCheckboxHasAttachment(
|
||||
context,
|
||||
focusManager.attachmentCheckboxFocusNode,
|
||||
),
|
||||
_buildListButton(context, controller.responsiveUtils),
|
||||
],
|
||||
@@ -105,28 +102,16 @@ class AdvancedSearchFilterFormBottomView extends GetWidget<AdvancedFilterControl
|
||||
|
||||
Widget _buildCheckboxHasAttachment(
|
||||
BuildContext context,
|
||||
{
|
||||
FocusNode? currentFocusNode,
|
||||
FocusNode? nextFocusNode,
|
||||
}
|
||||
FocusNode currentFocusNode,
|
||||
) {
|
||||
return Obx(
|
||||
() => KeyboardListener(
|
||||
focusNode: FocusNode(),
|
||||
onKeyEvent: (event) {
|
||||
if (event is KeyDownEvent &&
|
||||
event.logicalKey == LogicalKeyboardKey.tab) {
|
||||
nextFocusNode?.requestFocus();
|
||||
}
|
||||
},
|
||||
child: LabeledCheckbox(
|
||||
label: AppLocalizations.of(context).hasAttachment,
|
||||
focusNode: currentFocusNode,
|
||||
contentPadding: EdgeInsets.zero,
|
||||
value: controller.hasAttachment.value,
|
||||
activeColor: AppColor.primaryColor,
|
||||
onChanged: controller.onHasAttachmentCheckboxChanged,
|
||||
),
|
||||
() => CustomIconLabeledCheckbox(
|
||||
label: AppLocalizations.of(context).hasAttachment,
|
||||
svgIconPath: controller.imagePaths.icCheckboxUnselected,
|
||||
selectedSvgIconPath: controller.imagePaths.icCheckboxSelected,
|
||||
focusNode: currentFocusNode,
|
||||
value: controller.hasAttachment.value,
|
||||
onChanged: controller.onHasAttachmentCheckboxChanged,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user