PanelShell class

The one-widget panel: sidebar/rail/drawer, master list and detail pane, laid out by form factor (P23).

  • compact: a Scaffold with the resources in a drawer and a nested Navigator pushing list → view → form, exactly the wiring the example host used to do by hand.
  • medium: a NavigationRail in place of the drawer; same single pane.
  • expanded: sidebar | master list (row style, selection highlighted) | detail pane with its own nested Navigator, so relation flows push inside the pane and never lose the list.

All three read one state — the selected resource and record — so a window crossing a breakpoint keeps what the user was looking at.

Inheritance

Constructors

PanelShell({required ResourceDataSource source, required PanelProvider panelProvider, FilamentStrings strings = const FilamentStrings(), EntryRegistry? registry, FieldRegistry? fieldRegistry, FilamentWidgetRegistry? widgetRegistry, FilamentEventTransport? eventTransport, FilamentFilePicker? filePicker, DashboardChartBuilder? chartBuilder, IconData iconFor(ResourceSchema resource)?, VoidCallback? onLogout, void onLinkTap(String href)?, FilamentBreakpoints breakpoints = const FilamentBreakpoints(), Key? key})
const

Properties

breakpoints → FilamentBreakpoints
final
chartBuilder → DashboardChartBuilder?
final
eventTransport → FilamentEventTransport?
final
fieldRegistry → FieldRegistry?
final
filePicker → FilamentFilePicker?
final
hashCode → int
The hash code for this object.
no setterinherited
iconFor → IconData Function(ResourceSchema resource)?
Sidebar icon per resource — the contract carries none. Null → folder.
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onLinkTap → void Function(String href)?
final
onLogout → VoidCallback?
Adds a profile menu with a log-out item to the dashboard's AppBar.
final
panelProvider → PanelProvider
final
registry → EntryRegistry?
Null builds EntryRegistry.defaults with onLinkTap and a related- record tap that opens the target record in the current pane.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
source → ResourceDataSource
final
strings → FilamentStrings
final
widgetRegistry → FilamentWidgetRegistry?
Application-owned widgets forwarded to every package-owned screen.
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<PanelShell>
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