AdaptiveReleaseLab<T> class
A staged release workspace that coordinates a release list, an active readiness surface, a blockers panel, and a rollout log from one adaptive model.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- AdaptiveReleaseLab
Constructors
-
AdaptiveReleaseLab({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.
const
Properties
- animateSize → bool
-
Whether to animate size changes when the mode changes.
final
- animationCurve → Curve
-
Curve used by AnimatedSize and AnimatedSwitcher.
final
- animationDuration → Duration
-
Duration used by AnimatedSize and AnimatedSwitcher.
final
- blockersBuilder → Widget Function(BuildContext context, T release)
-
Builds the blockers panel for the selected release.
final
- blockersDescription → String?
-
Optional description shown below blockersTitle.
final
- blockersDockedAt → AdaptiveSize
-
Semantic size at which the blockers panel should dock inline.
final
- blockersFlex → int
-
Flex used by the docked blockers region.
final
- blockersLeading → Widget?
-
Optional leading widget shown beside blockersTitle.
final
- blockersPadding → EdgeInsetsGeometry
-
Padding applied inside the blockers surface.
final
- blockersTitle → String
-
Title shown above the blockers panel.
final
- considerOrientation → bool
-
Whether orientation should influence container-based breakpoint selection.
final
- emptyState → Widget?
-
Optional empty state shown when releases is empty.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Optional header shown above the active readiness surface.
final
- initialIndex → int
-
Initial selected release index for uncontrolled usage.
final
- itemBuilder → Widget Function(BuildContext context, T release, bool selected, VoidCallback onTap)
-
Builds an individual release row.
final
- itemSpacing → double
-
Space between adjacent release rows.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- minimumBlockersDockedHeight → AdaptiveHeight
-
Minimum height class required before blockers can dock inline.
final
- minimumReleaseDockedHeight → AdaptiveHeight
-
Minimum height class required before the release list can dock inline.
final
- minimumRolloutDockedHeight → AdaptiveHeight
-
Minimum height class required before rollout can dock inline.
final
- modalBlockersIcon → Widget
-
Icon used by the compact blockers trigger.
final
- modalBlockersLabel → String
-
Label used by the compact blockers trigger.
final
- modalHeightFactor → double
-
Height factor used by compact modal sheets.
final
- modalReleaseIcon → Widget
-
Icon used by the compact release-list trigger.
final
- modalReleaseLabel → String
-
Label used by the compact release-list trigger.
final
- modalRolloutIcon → Widget
-
Icon used by the compact rollout trigger.
final
- modalRolloutLabel → String
-
Label used by the compact rollout trigger.
final
-
onSelectedIndexChanged
→ ValueChanged<
int> ? -
Called when the selected release changes.
final
- readinessBuilder → Widget Function(BuildContext context, T release)
-
Builds the active readiness surface for the selected release.
final
- readinessFlex → int
-
Flex used by the readiness region.
final
- readinessPadding → EdgeInsetsGeometry
-
Padding applied inside the readiness surface.
final
- readinessPaneFlex → int
-
Flex used by the readiness surface when rollout is docked below it.
final
- releaseDescription → String?
-
Optional description shown below releaseTitle.
final
- releaseDockedAt → AdaptiveSize
-
Semantic size at which the release list should dock inline.
final
- releaseFlex → int
-
Flex used by the docked release-list region.
final
- releaseLeading → Widget?
-
Optional leading widget shown beside releaseTitle.
final
- releasePadding → EdgeInsetsGeometry
-
Padding applied inside the release list surface.
final
-
releases
→ List<
T> -
Releases shown in the list.
final
- releaseTitle → String
-
Title shown above the release list.
final
- rolloutBuilder → Widget Function(BuildContext context, T release)
-
Builds the rollout log for the selected release.
final
- rolloutDescription → String?
-
Optional description shown below rolloutTitle.
final
- rolloutDockedAt → AdaptiveSize
-
Semantic size at which the rollout panel should dock inline.
final
- rolloutFlex → int
-
Flex used by the docked rollout region.
final
- rolloutLeading → Widget?
-
Optional leading widget shown beside rolloutTitle.
final
- rolloutPadding → EdgeInsetsGeometry
-
Padding applied inside the rollout surface.
final
- rolloutTitle → String
-
Title shown above the rollout panel.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedIndex → int?
-
Optional controlled selected release index.
final
- showModalDragHandle → bool
-
Whether to show a drag handle in compact modal sheets.
final
- spacing → double
-
Space between adjacent regions.
final
- useContainerConstraints → bool
-
Whether to derive layout decisions from parent constraints.
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's location in the tree.
inherited
-
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