AdaptiveExplorer<T> class
A compound browsing surface that combines filters, results, and detail panels into one adaptive workspace.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- AdaptiveExplorer
Constructors
-
AdaptiveExplorer({Key? key, required List<
T> results, required Widget filters, required String filtersTitle, required Widget itemBuilder(BuildContext context, T result, bool selected, VoidCallback onTap), required Widget detailBuilder(BuildContext context, T result), String? filtersDescription, Widget? filtersLeading, List<Widget> activeFilters = const [], String activeFiltersLabel = 'Active filters', Widget? header, Widget? emptyState, AdaptiveSize dockedAt = AdaptiveSize.expanded, AdaptiveHeight minimumDockedHeight = AdaptiveHeight.medium, bool useContainerConstraints = true, bool considerOrientation = false, int? selectedIndex, int initialIndex = 0, ValueChanged<int> ? onSelectedIndexChanged, String modalFilterLabel = 'Open filters', Widget modalFilterIcon = const Icon(Icons.tune_outlined), double spacing = 16, int filtersFlex = 2, int resultsFlex = 2, int detailFlex = 3, double itemSpacing = 12, EdgeInsetsGeometry filtersPadding = const EdgeInsets.all(16), EdgeInsetsGeometry resultsPadding = const EdgeInsets.all(16), EdgeInsetsGeometry detailPadding = const EdgeInsets.all(16), EdgeInsetsGeometry activeFiltersPadding = const EdgeInsets.all(12), double modalHeightFactor = 0.72, bool showModalDragHandle = true, bool animateSize = true, Duration animationDuration = const Duration(milliseconds: 250), Curve animationCurve = Curves.easeInOutCubic}) -
Creates an adaptive explorer.
const
Properties
-
activeFilters
→ List<
Widget> -
Active filter chips or badges shown above the results.
final
- activeFiltersLabel → String
-
Label shown above activeFilters.
final
- activeFiltersPadding → EdgeInsetsGeometry
-
Padding applied inside the active filters surface.
final
- animateSize → bool
-
Whether to animate size changes when the mode changes.
final
- animationCurve → Curve
-
Curve used by AnimatedSize.
final
- animationDuration → Duration
-
Duration used by AnimatedSize.
final
- considerOrientation → bool
-
Whether orientation should influence container-based breakpoint selection.
final
- detailBuilder → Widget Function(BuildContext context, T result)
-
Builds the detail content for the selected result.
final
- detailFlex → int
-
Flex used by the detail region in docked mode.
final
- detailPadding → EdgeInsetsGeometry
-
Padding applied inside the detail surface.
final
- dockedAt → AdaptiveSize
-
Semantic size at which the explorer should dock inline.
final
- emptyState → Widget?
-
Optional empty state shown when results is empty.
final
- filters → Widget
-
Filter controls shown inline or in a modal sheet.
final
- filtersDescription → String?
-
Optional description shown below the filter title.
final
- filtersFlex → int
-
Flex used by the filter region in docked mode.
final
- filtersLeading → Widget?
-
Optional leading widget shown beside the filter title.
final
- filtersPadding → EdgeInsetsGeometry
-
Padding applied inside the filter surface.
final
- filtersTitle → String
-
Title shown above the filter controls.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Optional header shown above the results.
final
- initialIndex → int
-
Initial selected result index for uncontrolled usage.
final
- itemBuilder → Widget Function(BuildContext context, T result, bool selected, VoidCallback onTap)
-
Builds an individual result row or card.
final
- itemSpacing → double
-
Space between adjacent result items.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- minimumDockedHeight → AdaptiveHeight
-
Minimum height class required before the explorer can dock inline.
final
- modalFilterIcon → Widget
-
Icon used by the compact filter trigger.
final
- modalFilterLabel → String
-
Label used by the compact filter trigger.
final
- modalHeightFactor → double
-
Height factor used by compact modal sheets.
final
-
onSelectedIndexChanged
→ ValueChanged<
int> ? -
Called when the active result changes.
final
-
results
→ List<
T> -
Records shown in the result list.
final
- resultsFlex → int
-
Flex used by the results region in docked mode.
final
- resultsPadding → EdgeInsetsGeometry
-
Padding applied inside the result surface.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedIndex → int?
-
Optional controlled selected result index.
final
- showModalDragHandle → bool
-
Whether to show a drag handle in modal sheets.
final
- spacing → double
-
Space between the docked regions.
final
- useContainerConstraints → bool
-
Whether to derive the layout mode from parent constraints.
final
Methods
-
createElement(
) → StatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → State< AdaptiveExplorer< 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