TF-2684 Add long press action for TMailButtonWidget
This commit is contained in:
@@ -2,4 +2,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
typedef OnTapActionCallback = void Function();
|
||||
typedef OnTapActionAtPositionCallback = void Function(RelativeRect position);
|
||||
typedef OnTapActionAtPositionCallback = void Function(RelativeRect position);
|
||||
typedef OnLongPressActionCallback = void Function();
|
||||
@@ -10,6 +10,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
|
||||
final OnTapActionCallback? onTapActionCallback;
|
||||
final OnTapActionAtPositionCallback? onTapActionAtPositionCallback;
|
||||
final OnLongPressActionCallback? onLongPressActionCallback;
|
||||
|
||||
final double borderRadius;
|
||||
final double? width;
|
||||
@@ -44,6 +45,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
required this.text,
|
||||
this.onTapActionCallback,
|
||||
this.onTapActionAtPositionCallback,
|
||||
this.onLongPressActionCallback,
|
||||
this.borderRadius = 20,
|
||||
this.width,
|
||||
this.maxWidth = double.infinity,
|
||||
@@ -77,6 +79,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
final Key? key,
|
||||
OnTapActionCallback? onTapActionCallback,
|
||||
OnTapActionAtPositionCallback? onTapActionAtPositionCallback,
|
||||
OnLongPressActionCallback? onLongPressActionCallback,
|
||||
double borderRadius = 20,
|
||||
double? width,
|
||||
double maxWidth = double.infinity,
|
||||
@@ -99,6 +102,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
text: '',
|
||||
onTapActionCallback: onTapActionCallback,
|
||||
onTapActionAtPositionCallback: onTapActionAtPositionCallback,
|
||||
onLongPressActionCallback: onLongPressActionCallback,
|
||||
borderRadius: borderRadius,
|
||||
width: width,
|
||||
maxWidth : maxWidth,
|
||||
@@ -124,6 +128,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
final Key? key,
|
||||
OnTapActionCallback? onTapActionCallback,
|
||||
OnTapActionAtPositionCallback? onTapActionAtPositionCallback,
|
||||
OnLongPressActionCallback? onLongPressActionCallback,
|
||||
double borderRadius = 20,
|
||||
double? width,
|
||||
double maxWidth = double.infinity,
|
||||
@@ -145,6 +150,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
text: text,
|
||||
onTapActionCallback: onTapActionCallback,
|
||||
onTapActionAtPositionCallback: onTapActionAtPositionCallback,
|
||||
onLongPressActionCallback: onLongPressActionCallback,
|
||||
borderRadius: borderRadius,
|
||||
width: width,
|
||||
maxWidth : maxWidth,
|
||||
@@ -335,6 +341,7 @@ class TMailButtonWidget extends StatelessWidget {
|
||||
return TMailContainerWidget(
|
||||
onTapActionCallback: onTapActionCallback,
|
||||
onTapActionAtPositionCallback: onTapActionAtPositionCallback,
|
||||
onLongPressActionCallback: onLongPressActionCallback,
|
||||
borderRadius: borderRadius,
|
||||
width: width,
|
||||
maxWidth: maxWidth,
|
||||
|
||||
@@ -7,6 +7,7 @@ class TMailContainerWidget extends StatelessWidget {
|
||||
|
||||
final OnTapActionCallback? onTapActionCallback;
|
||||
final OnTapActionAtPositionCallback? onTapActionAtPositionCallback;
|
||||
final OnLongPressActionCallback? onLongPressActionCallback;
|
||||
|
||||
final Widget child;
|
||||
final double borderRadius;
|
||||
@@ -26,6 +27,7 @@ class TMailContainerWidget extends StatelessWidget {
|
||||
required this.child,
|
||||
this.onTapActionCallback,
|
||||
this.onTapActionAtPositionCallback,
|
||||
this.onLongPressActionCallback,
|
||||
this.borderRadius = 20,
|
||||
this.width,
|
||||
this.maxWidth = double.infinity,
|
||||
@@ -58,6 +60,7 @@ class TMailContainerWidget extends StatelessWidget {
|
||||
onTapActionAtPositionCallback!.call(position);
|
||||
}
|
||||
},
|
||||
onLongPress: onLongPressActionCallback,
|
||||
borderRadius: BorderRadius.all(Radius.circular(borderRadius)),
|
||||
child: tooltipMessage != null
|
||||
? Tooltip(
|
||||
|
||||
Reference in New Issue
Block a user