AdaptiveReleaseLab<T> constructor
const
AdaptiveReleaseLab<T> ({
- Key? key,
- required List<
T> releases, - required Widget itemBuilder(
- BuildContext context,
- T release,
- bool selected,
- VoidCallback onTap,
- required Widget readinessBuilder(
- BuildContext context,
- T release
- required Widget blockersBuilder(
- BuildContext context,
- T release
- required Widget rolloutBuilder(
- BuildContext context,
- T release
- required String releaseTitle,
- required String blockersTitle,
- required String rolloutTitle,
- Widget? header,
- Widget? emptyState,
- String? releaseDescription,
- Widget? releaseLeading,
- String? blockersDescription,
- Widget? blockersLeading,
- String? rolloutDescription,
- Widget? rolloutLeading,
- String modalReleaseLabel = 'Open releases',
- Widget modalReleaseIcon = const Icon(Icons.rocket_launch_outlined),
- String modalBlockersLabel = 'Open blockers',
- Widget modalBlockersIcon = const Icon(Icons.warning_amber_outlined),
- String modalRolloutLabel = 'Open rollout log',
- Widget modalRolloutIcon = const Icon(Icons.history_outlined),
- AdaptiveSize releaseDockedAt = AdaptiveSize.medium,
- AdaptiveSize blockersDockedAt = AdaptiveSize.expanded,
- AdaptiveSize rolloutDockedAt = AdaptiveSize.expanded,
- AdaptiveHeight minimumReleaseDockedHeight = AdaptiveHeight.compact,
- AdaptiveHeight minimumBlockersDockedHeight = AdaptiveHeight.medium,
- AdaptiveHeight minimumRolloutDockedHeight = AdaptiveHeight.expanded,
- bool useContainerConstraints = true,
- bool considerOrientation = false,
- int? selectedIndex,
- int initialIndex = 0,
- ValueChanged<
int> ? onSelectedIndexChanged, - double spacing = 16,
- double itemSpacing = 12,
- int releaseFlex = 2,
- int readinessFlex = 4,
- int blockersFlex = 2,
- int readinessPaneFlex = 3,
- int rolloutFlex = 2,
- EdgeInsetsGeometry releasePadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry readinessPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry blockersPadding = const EdgeInsets.all(16),
- EdgeInsetsGeometry rolloutPadding = 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 release lab.
Implementation
const AdaptiveReleaseLab({
super.key,
required this.releases,
required this.itemBuilder,
required this.readinessBuilder,
required this.blockersBuilder,
required this.rolloutBuilder,
required this.releaseTitle,
required this.blockersTitle,
required this.rolloutTitle,
this.header,
this.emptyState,
this.releaseDescription,
this.releaseLeading,
this.blockersDescription,
this.blockersLeading,
this.rolloutDescription,
this.rolloutLeading,
this.modalReleaseLabel = 'Open releases',
this.modalReleaseIcon = const Icon(Icons.rocket_launch_outlined),
this.modalBlockersLabel = 'Open blockers',
this.modalBlockersIcon = const Icon(Icons.warning_amber_outlined),
this.modalRolloutLabel = 'Open rollout log',
this.modalRolloutIcon = const Icon(Icons.history_outlined),
this.releaseDockedAt = AdaptiveSize.medium,
this.blockersDockedAt = AdaptiveSize.expanded,
this.rolloutDockedAt = AdaptiveSize.expanded,
this.minimumReleaseDockedHeight = AdaptiveHeight.compact,
this.minimumBlockersDockedHeight = AdaptiveHeight.medium,
this.minimumRolloutDockedHeight = AdaptiveHeight.expanded,
this.useContainerConstraints = true,
this.considerOrientation = false,
this.selectedIndex,
this.initialIndex = 0,
this.onSelectedIndexChanged,
this.spacing = 16,
this.itemSpacing = 12,
this.releaseFlex = 2,
this.readinessFlex = 4,
this.blockersFlex = 2,
this.readinessPaneFlex = 3,
this.rolloutFlex = 2,
this.releasePadding = const EdgeInsets.all(16),
this.readinessPadding = const EdgeInsets.all(16),
this.blockersPadding = const EdgeInsets.all(16),
this.rolloutPadding = const EdgeInsets.all(16),
this.modalHeightFactor = 0.72,
this.showModalDragHandle = true,
this.animateSize = true,
this.animationDuration = const Duration(milliseconds: 250),
this.animationCurve = Curves.easeInOutCubic,
});