isDisplayable method
Whether a payment leg summary should be displayed under this policy.
Phantom Purchase(paymentType='split') rows are unconditionally excluded.
Implementation
bool isDisplayable({
required String? paymentType,
required String eventStatus,
required bool isSplitSessionEvent,
}) {
// Phantom Purchase(paymentType='split') rows are never useful.
if (paymentType?.toLowerCase() == 'split' && !isSplitSessionEvent) {
return false;
}
if (isSplitSessionEvent) return includeParent;
final status = eventStatus.toLowerCase();
return switch (status) {
'succeeded' => true,
'failed' => includeFailed,
'cancelled' => includeCancelled,
'pending' => includePending,
'abandoned' || 'error' => includeFailed,
_ => false,
};
}