AdaptivePlanningDesk<T> constructor
const
AdaptivePlanningDesk<T> ({
- Key? key,
- required List<
T> plans, - required Widget itemBuilder(
- BuildContext context,
- T plan,
- bool selected,
- VoidCallback onTap,
- required Widget focusBuilder(
- BuildContext context,
- T plan
- required Widget risksBuilder(
- BuildContext context,
- T plan
- required Widget milestonesBuilder(
- BuildContext context,
- T plan
- required String planTitle,
- required String risksTitle,
- required String milestonesTitle,
- Widget? header,
- Widget? emptyState,
- String? planDescription,
- Widget? planLeading,
- String? risksDescription,
- Widget? risksLeading,
- String? milestonesDescription,
- Widget? milestonesLeading,
- String modalPlanLabel = 'Open plans',
- Widget modalPlanIcon = const Icon(Icons.view_list_outlined),
- String modalRisksLabel = 'Open risks',
- Widget modalRisksIcon = const Icon(Icons.warning_amber_outlined),
- String modalMilestonesLabel = 'Open milestones',
- Widget modalMilestonesIcon = const Icon(Icons.flag_outlined),
- AdaptiveSize planDockedAt = AdaptiveSize.medium,
- AdaptiveSize risksDockedAt = AdaptiveSize.expanded,
- AdaptiveSize milestonesDockedAt = AdaptiveSize.expanded,
- AdaptiveHeight minimumPlanDockedHeight = AdaptiveHeight.compact,
- AdaptiveHeight minimumRisksDockedHeight = AdaptiveHeight.medium,
- AdaptiveHeight minimumMilestonesDockedHeight = AdaptiveHeight.expanded,
- bool useContainerConstraints = true,
- bool considerOrientation = false,
- int? selectedIndex,
- int initialIndex = 0,
- ValueChanged<
int> ? onSelectedIndexChanged, - double spacing = 16,
- double itemSpacing = 12,
- int planFlex = 2,
- int focusFlex = 4,
- int risksFlex = 2,
- int focusPaneFlex = 3,
- int milestonesFlex = 2,
- EdgeInsetsGeometry planPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry focusPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry risksPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry milestonesPadding = const EdgeInsets.all(16),
- double modalHeightFactor = 0.72,
- bool showModalDragHandle = true,
- bool animateSize = true,
- Duration animationDuration = const Duration(milliseconds: 250),
- Curve animationCurve = Curves.easeInOutCubic,
Creates an adaptive planning desk.
Implementation
const AdaptivePlanningDesk({
super.key,
required this.plans,
required this.itemBuilder,
required this.focusBuilder,
required this.risksBuilder,
required this.milestonesBuilder,
required this.planTitle,
required this.risksTitle,
required this.milestonesTitle,
this.header,
this.emptyState,
this.planDescription,
this.planLeading,
this.risksDescription,
this.risksLeading,
this.milestonesDescription,
this.milestonesLeading,
this.modalPlanLabel = 'Open plans',
this.modalPlanIcon = const Icon(Icons.view_list_outlined),
this.modalRisksLabel = 'Open risks',
this.modalRisksIcon = const Icon(Icons.warning_amber_outlined),
this.modalMilestonesLabel = 'Open milestones',
this.modalMilestonesIcon = const Icon(Icons.flag_outlined),
this.planDockedAt = AdaptiveSize.medium,
this.risksDockedAt = AdaptiveSize.expanded,
this.milestonesDockedAt = AdaptiveSize.expanded,
this.minimumPlanDockedHeight = AdaptiveHeight.compact,
this.minimumRisksDockedHeight = AdaptiveHeight.medium,
this.minimumMilestonesDockedHeight = AdaptiveHeight.expanded,
this.useContainerConstraints = true,
this.considerOrientation = false,
this.selectedIndex,
this.initialIndex = 0,
this.onSelectedIndexChanged,
this.spacing = 16,
this.itemSpacing = 12,
this.planFlex = 2,
this.focusFlex = 4,
this.risksFlex = 2,
this.focusPaneFlex = 3,
this.milestonesFlex = 2,
this.planPadding = const EdgeInsets.all(16),
this.focusPadding = const EdgeInsets.all(16),
this.risksPadding = const EdgeInsets.all(16),
this.milestonesPadding = const EdgeInsets.all(16),
this.modalHeightFactor = 0.72,
this.showModalDragHandle = true,
this.animateSize = true,
this.animationDuration = const Duration(milliseconds: 250),
this.animationCurve = Curves.easeInOutCubic,
});