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