ResourceListScreen class

A resource's records as a scrollable list of cards.

A plain widget with no router dependency: the host decides where a tap goes.

Reorder toggle gating (P18): shown iff resource.reorder != null — capability alone, no host hook required. This is deliberately unlike onCreateTap: that control needs a host because navigating to a create form is host-owned UI the package cannot build for it, so an unwired host gets no button at all rather than one that silently no-ops. Reordering has no such gap — the write (ResourceDataSource.reorder) lives entirely inside this package's own data layer, with no navigation or host-owned screen involved, so there is nothing a host could fail to wire up.

Inheritance

Constructors

ResourceListScreen({required ResourceListProvider provider, PanelBodyBuilder? stateBuilder, FilamentStrings strings = const FilamentStrings(), void onRecordTap(ResourceRecord record)?, VoidCallback? onCreateTap, ListRowStyle? rowStyle, Object? selectedRecordId, FilamentWidgetRegistry? widgetRegistry, FilamentEventTransport? eventTransport, Key? key})
const

Properties

eventTransport FilamentEventTransport?
Optional host-owned Reverb adapter. A published resource channel and this adapter replace polling; either one absent keeps the poll fallback.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
onCreateTap VoidCallback?
Called when the create affordance is tapped. The screen owns no create form of its own — same division as onRecordTap — so a host that never wires this up gets no create button at all, never one that renders and silently no-ops on tap.
final
onRecordTap → void Function(ResourceRecord record)?
final
provider ResourceListProvider
final
rowStyle ListRowStyle?
Overrides the form-factor-driven default (P23): null resolves to row at the expanded form factor and card everywhere else — compact AND medium both keep today's cards, since a table only earns its columns once there's width to spare for them.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectedRecordId Object?
Highlights one row in row style — see PaginatedCardList.selectedRecordId.
final
stateBuilder PanelBodyBuilder?
final
strings FilamentStrings
final
widgetRegistry FilamentWidgetRegistry?
Application-owned widgets inserted into this screen's named slots.
final

Methods

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