AdaptiveIncidentDesk<T> class

A staged incident workspace that coordinates an incident list, an active incident detail surface, a context panel, and a timeline panel from one adaptive model.

Inheritance

Constructors

AdaptiveIncidentDesk({Key? key, required List<T> incidents, required Widget itemBuilder(BuildContext context, T incident, bool selected, VoidCallback onTap), required Widget detailBuilder(BuildContext context, T incident), required Widget contextBuilder(BuildContext context, T incident), required Widget timelineBuilder(BuildContext context, T incident), required String listTitle, required String contextTitle, required String timelineTitle, Widget? header, Widget? emptyState, String? listDescription, Widget? listLeading, String? contextDescription, Widget? contextLeading, String? timelineDescription, Widget? timelineLeading, String modalListLabel = 'Open incidents', Widget modalListIcon = const Icon(Icons.warning_amber_outlined), String modalContextLabel = 'Open context', Widget modalContextIcon = const Icon(Icons.people_outline), String modalTimelineLabel = 'Open timeline', Widget modalTimelineIcon = const Icon(Icons.timeline_outlined), AdaptiveSize listDockedAt = AdaptiveSize.medium, AdaptiveSize contextDockedAt = AdaptiveSize.expanded, AdaptiveSize timelineDockedAt = AdaptiveSize.expanded, AdaptiveHeight minimumListDockedHeight = AdaptiveHeight.compact, AdaptiveHeight minimumContextDockedHeight = AdaptiveHeight.medium, AdaptiveHeight minimumTimelineDockedHeight = AdaptiveHeight.expanded, bool useContainerConstraints = true, bool considerOrientation = false, int? selectedIndex, int initialIndex = 0, ValueChanged<int>? onSelectedIndexChanged, double spacing = 16, double itemSpacing = 12, int listFlex = 2, int detailFlex = 4, int contextFlex = 2, int detailPaneFlex = 3, int timelineFlex = 2, EdgeInsetsGeometry listPadding = const EdgeInsets.all(16), EdgeInsetsGeometry detailPadding = const EdgeInsets.all(16), EdgeInsetsGeometry contextPadding = const EdgeInsets.all(16), EdgeInsetsGeometry timelinePadding = 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 incident desk.
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
considerOrientation bool
Whether orientation should influence container-based breakpoint selection.
final
contextBuilder Widget Function(BuildContext context, T incident)
Builds the supporting context panel for the selected incident.
final
contextDescription String?
Optional description shown below contextTitle.
final
contextDockedAt AdaptiveSize
Semantic size at which the context panel should dock inline.
final
contextFlex int
Flex used by the docked context region.
final
contextLeading Widget?
Optional leading widget shown beside contextTitle.
final
contextPadding EdgeInsetsGeometry
Padding applied inside the context surface.
final
contextTitle String
Title shown above the context panel.
final
detailBuilder Widget Function(BuildContext context, T incident)
Builds the active incident detail for the selected incident.
final
detailFlex int
Flex used by the detail region.
final
detailPadding EdgeInsetsGeometry
Padding applied inside the detail surface.
final
detailPaneFlex int
Flex used by the detail surface when the timeline is docked below it.
final
emptyState Widget?
Optional empty state shown when incidents is empty.
final
hashCode int
The hash code for this object.
no setterinherited
Optional header shown above the active incident detail surface.
final
incidents List<T>
Incidents shown in the list.
final
initialIndex int
Initial selected incident index for uncontrolled usage.
final
itemBuilder Widget Function(BuildContext context, T incident, bool selected, VoidCallback onTap)
Builds an individual incident row.
final
itemSpacing double
Space between adjacent incident rows.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
listDescription String?
Optional description shown below listTitle.
final
listDockedAt AdaptiveSize
Semantic size at which the incident list should dock inline.
final
listFlex int
Flex used by the docked list region.
final
listLeading Widget?
Optional leading widget shown beside listTitle.
final
listPadding EdgeInsetsGeometry
Padding applied inside the list surface.
final
listTitle String
Title shown above the incident list.
final
minimumContextDockedHeight AdaptiveHeight
Minimum height class required before the context panel can dock inline.
final
minimumListDockedHeight AdaptiveHeight
Minimum height class required before the list can dock inline.
final
minimumTimelineDockedHeight AdaptiveHeight
Minimum height class required before the timeline panel can dock inline.
final
modalContextIcon Widget
Icon used by the compact context trigger.
final
modalContextLabel String
Label used by the compact context trigger.
final
modalHeightFactor double
Height factor used by compact modal sheets.
final
modalListIcon Widget
Icon used by the compact list trigger.
final
modalListLabel String
Label used by the compact list trigger.
final
modalTimelineIcon Widget
Icon used by the compact timeline trigger.
final
modalTimelineLabel String
Label used by the compact timeline trigger.
final
onSelectedIndexChanged ValueChanged<int>?
Called when the selected incident changes.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedIndex int?
Optional controlled selected incident index.
final
showModalDragHandle bool
Whether to show a drag handle in compact modal sheets.
final
spacing double
Space between adjacent regions.
final
timelineBuilder Widget Function(BuildContext context, T incident)
Builds the timeline or activity panel for the selected incident.
final
timelineDescription String?
Optional description shown below timelineTitle.
final
timelineDockedAt AdaptiveSize
Semantic size at which the timeline panel should dock inline.
final
timelineFlex int
Flex used by the docked timeline region.
final
timelineLeading Widget?
Optional leading widget shown beside timelineTitle.
final
timelinePadding EdgeInsetsGeometry
Padding applied inside the timeline surface.
final
timelineTitle String
Title shown above the timeline panel.
final
useContainerConstraints bool
Whether to derive layout decisions from parent constraints.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<AdaptiveIncidentDesk<T>>
Creates the mutable state for this widget at a given location in the tree.
override
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