81 lines
2.1 KiB
Dart
81 lines
2.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'claims_collection_kpi.dart';
|
|
import 'enrollment_collection_kpi.dart';
|
|
|
|
/// When true, tab widgets skip scroll/entrance animations (PDF capture).
|
|
class ClaimsPdfExportScope extends InheritedWidget {
|
|
final bool enabled;
|
|
final double? laneWidth;
|
|
|
|
const ClaimsPdfExportScope({
|
|
super.key,
|
|
required this.enabled,
|
|
this.laneWidth,
|
|
required super.child,
|
|
});
|
|
|
|
static bool of(BuildContext context) {
|
|
return context
|
|
.dependOnInheritedWidgetOfExactType<ClaimsPdfExportScope>()
|
|
?.enabled ??
|
|
false;
|
|
}
|
|
|
|
static double? laneWidthOf(BuildContext context) {
|
|
return context
|
|
.dependOnInheritedWidgetOfExactType<ClaimsPdfExportScope>()
|
|
?.laneWidth;
|
|
}
|
|
|
|
@override
|
|
bool updateShouldNotify(ClaimsPdfExportScope oldWidget) {
|
|
return oldWidget.enabled != enabled ||
|
|
oldWidget.laneWidth != laneWidth;
|
|
}
|
|
}
|
|
|
|
/// Provides parsed KPI data to all Claims Overview tabs.
|
|
class ClaimsOverviewScope extends InheritedWidget {
|
|
final ClaimsOverviewViewData data;
|
|
|
|
const ClaimsOverviewScope({
|
|
super.key,
|
|
required this.data,
|
|
required super.child,
|
|
});
|
|
|
|
static ClaimsOverviewViewData of(BuildContext context) {
|
|
final scope =
|
|
context.dependOnInheritedWidgetOfExactType<ClaimsOverviewScope>();
|
|
return scope?.data ?? ClaimsOverviewViewData.empty();
|
|
}
|
|
|
|
@override
|
|
bool updateShouldNotify(ClaimsOverviewScope oldWidget) {
|
|
return oldWidget.data != data;
|
|
}
|
|
}
|
|
|
|
/// Provides parsed enrollment KPI data to the Enrollment tab.
|
|
class EnrollmentOverviewScope extends InheritedWidget {
|
|
final EnrollmentOverviewViewData data;
|
|
|
|
const EnrollmentOverviewScope({
|
|
super.key,
|
|
required this.data,
|
|
required super.child,
|
|
});
|
|
|
|
static EnrollmentOverviewViewData of(BuildContext context) {
|
|
final scope =
|
|
context.dependOnInheritedWidgetOfExactType<EnrollmentOverviewScope>();
|
|
return scope?.data ?? EnrollmentOverviewViewData.empty();
|
|
}
|
|
|
|
@override
|
|
bool updateShouldNotify(EnrollmentOverviewScope oldWidget) {
|
|
return oldWidget.data != data;
|
|
}
|
|
}
|