TF-4229 Implement search by label filter in mobile
This commit is contained in:
@@ -45,6 +45,8 @@ mixin OptionalPopupSelectedIcon<T> {
|
||||
Color get selectedIconColor => AppColor.primaryMain;
|
||||
|
||||
double get selectedIconSize => 16.0;
|
||||
|
||||
bool get isArrangeRTL => true;
|
||||
}
|
||||
|
||||
mixin OptionalPopupHoverIcon {
|
||||
|
||||
@@ -19,6 +19,7 @@ class ContextMenuDialogItem extends StatelessWidget {
|
||||
Widget? iconWidget;
|
||||
Widget? selectedIconWidget;
|
||||
bool isSelected = false;
|
||||
bool isArrangeRTL = true;
|
||||
|
||||
if (menuAction is ContextMenuItemActionRequiredIcon) {
|
||||
final specificMenuAction =
|
||||
@@ -47,6 +48,7 @@ class ContextMenuDialogItem extends StatelessWidget {
|
||||
),
|
||||
);
|
||||
isSelected = specificMenuAction.selectedAction == menuAction.action;
|
||||
isArrangeRTL = specificMenuAction.isArrangeRTL;
|
||||
} else if (menuAction is ContextMenuItemActionRequiredFull) {
|
||||
final specificMenuAction =
|
||||
menuAction as ContextMenuItemActionRequiredFull;
|
||||
@@ -71,8 +73,12 @@ class ContextMenuDialogItem extends StatelessWidget {
|
||||
),
|
||||
);
|
||||
isSelected = specificMenuAction.selectedAction == menuAction.action;
|
||||
isArrangeRTL = specificMenuAction.isArrangeRTL;
|
||||
}
|
||||
|
||||
final leadingWidget =
|
||||
iconWidget ?? (isArrangeRTL ? const SizedBox(width: 24) : null);
|
||||
|
||||
return Material(
|
||||
type: MaterialType.transparency,
|
||||
child: InkWell(
|
||||
@@ -81,7 +87,9 @@ class ContextMenuDialogItem extends StatelessWidget {
|
||||
height: 48,
|
||||
child: Row(
|
||||
children: [
|
||||
if (iconWidget != null) iconWidget else const SizedBox(width: 24),
|
||||
if (leadingWidget != null) leadingWidget,
|
||||
if (!isArrangeRTL && selectedIconWidget != null)
|
||||
selectedIconWidget,
|
||||
Expanded(
|
||||
child: Text(
|
||||
menuAction.actionName,
|
||||
@@ -95,7 +103,7 @@ class ContextMenuDialogItem extends StatelessWidget {
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
),
|
||||
if (isSelected && selectedIconWidget != null)
|
||||
if (isArrangeRTL && isSelected && selectedIconWidget != null)
|
||||
selectedIconWidget
|
||||
else
|
||||
const SizedBox(width: 24),
|
||||
|
||||
@@ -31,6 +31,8 @@ mixin OptionalSelectedIcon<T> {
|
||||
String get selectedIcon;
|
||||
|
||||
Color get selectedIconColor => AppColor.primaryMain;
|
||||
|
||||
bool get isArrangeRTL => true;
|
||||
}
|
||||
|
||||
abstract class ContextMenuItemActionRequiredIcon<T>
|
||||
|
||||
Reference in New Issue
Block a user