BankStandingOrderTile class

Manager row for a recurring/scheduled payment (BankStandingOrder).

Shows an initials avatar, the payee name with a 'Monthly · next 1 Jul' summary line, and the amount on the trailing edge (rendered with BankBalanceText, so privacy mode masks it).

State treatment:

  • Paused orders render at 40% opacity with a pending-coloured 'Paused' chip.
  • Failed orders show a danger chip plus an inline retry button that fires onResume.

A long-press: or the trailing overflow button: opens a bottom action sheet with pause/resume, skip-next (confirmation dialog) and cancel (destructive, confirmation dialog). Confirming skip-next fires onSkipNext and optimistically advances the displayed date to the following occurrence.

Actions whose callbacks are null are omitted from the sheet; when no actions are available the overflow button is hidden.

BankStandingOrderTile(
  order: BankStandingOrder(
    id: 'so-1',
    payeeName: 'Acme Lettings',
    amount: Money.fromDouble(1250, 'GBP'),
    pattern: BankRecurringPattern.monthly,
    nextRunDate: DateTime(2026, 7, 1),
  ),
  onTap: _openDetail,
  onPause: _pause,
  onResume: _resume,
  onSkipNext: _skipNext,
  onCancel: _cancel,
)
Inheritance

Constructors

BankStandingOrderTile({required BankStandingOrder order, Key? key, VoidCallback? onTap, VoidCallback? onPause, VoidCallback? onResume, VoidCallback? onSkipNext, VoidCallback? onCancel, String pausedLabel = 'Paused', String failedLabel = 'Failed', String retryLabel = 'Retry payment', String pauseActionLabel = 'Pause', String resumeActionLabel = 'Resume', String skipNextActionLabel = 'Skip next payment', String cancelActionLabel = 'Cancel standing order', String skipConfirmTitle = 'Skip next payment?', String skipConfirmMessage = 'The next scheduled payment will be skipped. Later payments stay ' 'on schedule.', String cancelConfirmTitle = 'Cancel standing order?', String cancelConfirmMessage = 'This permanently stops all future payments to this payee.', String confirmActionLabel = 'Confirm', String dismissActionLabel = 'Go back', String moreActionsLabel = 'More actions', EdgeInsetsGeometry? padding, Widget? leading, Color? accentColor, TextStyle? titleStyle, TextStyle? subtitleStyle, TextStyle? amountStyle, IconData? pauseIcon, IconData? resumeIcon, IconData? skipNextIcon, IconData? cancelIcon, IconData? retryIcon, IconData? moreIcon, String? semanticLabel})
const

Properties

accentColor Color?
Tint of the initials inside the fallback avatar. Defaults to the theme primary.
final
amountStyle TextStyle?
Merged over the computed amount style.
final
cancelActionLabel String
Action-sheet label for cancelling the order.
final
cancelConfirmMessage String
Body text of the cancel confirmation dialog.
final
cancelConfirmTitle String
Title of the cancel confirmation dialog.
final
cancelIcon IconData?
Glyph of the cancel sheet action. Defaults to Icons.delete_outline.
final
confirmActionLabel String
Label of the confirming button in both dialogs.
final
dismissActionLabel String
Label of the dismissing button in both dialogs.
final
failedLabel String
Chip label shown on failed orders.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
leading Widget?
Replaces the leading payee avatar when set.
final
moreActionsLabel String
Tooltip and semantics label of the trailing overflow button.
final
moreIcon IconData?
Glyph of the trailing overflow button. Defaults to Icons.more_vert.
final
onCancel VoidCallback?
Called after the user confirms cancelling the standing order.
final
onPause VoidCallback?
Called when the user chooses "Pause" from the action sheet.
final
onResume VoidCallback?
Called when the user chooses "Resume", or taps the inline retry button of a failed order.
final
onSkipNext VoidCallback?
Called after the user confirms skipping the next payment.
final
onTap VoidCallback?
Called when the row body is tapped.
final
order BankStandingOrder
The standing order to display.
final
padding EdgeInsetsGeometry?
Overrides the row content padding. Defaults to horizontal BankTokens.space4 and vertical BankTokens.space3.
final
pauseActionLabel String
Action-sheet label for pausing the order.
final
pausedLabel String
Chip label shown on paused orders.
final
pauseIcon IconData?
Glyph of the pause sheet action. Defaults to Icons.pause_circle_outline.
final
resumeActionLabel String
Action-sheet label for resuming the order.
final
resumeIcon IconData?
Glyph of the resume sheet action. Defaults to Icons.play_circle_outline.
final
retryIcon IconData?
Glyph of the inline retry button. Defaults to Icons.refresh.
final
retryLabel String
Tooltip/semantics label for the inline retry button.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
semanticLabel String?
Overrides the computed row semantics label.
final
skipConfirmMessage String
Body text of the skip-next confirmation dialog.
final
skipConfirmTitle String
Title of the skip-next confirmation dialog.
final
skipNextActionLabel String
Action-sheet label for skipping the next payment.
final
skipNextIcon IconData?
Glyph of the skip-next sheet action. Defaults to Icons.skip_next_outlined.
final
subtitleStyle TextStyle?
Merged over the computed schedule-line style.
final
titleStyle TextStyle?
Merged over the computed payee-name style.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<BankStandingOrderTile>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited