JsonDataExplorer class

A widget to display a list of Json nodes.

The DataExplorerStore handles the state of the data structure, so a DataExplorerStore must be available through a Provider for this widget to fully function, without it, expand and collapse will not work properly.

{@tool snippet}

DataExplorerStore store;
// ...
ChangeNotifierProvider.value(
  value: store,
  child:
// ...

And then a JsonDataExplorer can be built using the store data structure: {@tool snippet}

Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text(widget.title),
    ),
    body: SafeArea(
      minimum: const EdgeInsets.all(16),
      child: ChangeNotifierProvider.value(
        value: store,
        child: Consumer<DataExplorerStore>(
          builder: (context, state, child) => JsonDataExplorer(
            nodes: state.displayNodes,
          ),
        ),
      ),
    ),
  );
}

{@end-tool}

Inheritance

Constructors

JsonDataExplorer({Key? key, required Iterable<NodeViewModelState> nodes, ItemScrollController? itemScrollController, ItemPositionsListener? itemPositionsListener, NodeBuilder? rootInformationBuilder, NodeBuilder? collapsableToggleBuilder, NodeBuilder? trailingBuilder, Formatter? rootNameFormatter, Formatter? propertyNameFormatter, Formatter? valueFormatter, StyleBuilder? valueStyleBuilder, double itemSpacing = 2, ScrollPhysics? physics, DataExplorerTheme? theme})
const

Properties

collapsableToggleBuilder NodeBuilder?
Build the expand/collapse icons in root nodes.
final
hashCode int
The hash code for this object.
no setterinherited
itemPositionsListener → ItemPositionsListener?
Use to listen to scroll position changes.
final
itemScrollController → ItemScrollController?
Use to control the scroll.
final
itemSpacing double
Sets the spacing between each list item.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
nodes Iterable<NodeViewModelState>
Nodes to be displayed.
final
physics ScrollPhysics?
Sets the scroll physics of the list.
final
propertyNameFormatter Formatter?
Customizes how property names are formatted as string.
final
rootInformationBuilder NodeBuilder?
A builder to add a widget as a suffix for root nodes.
final
rootNameFormatter Formatter?
Customizes how class/array names are formatted as string.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
theme DataExplorerTheme
Theme used to render the widgets.
final
trailingBuilder NodeBuilder?
A builder to add a trailing widget in each node.
final
valueFormatter Formatter?
Customizes how property values are formatted as string.
final
valueStyleBuilder StyleBuilder?
Customizes a property style and interaction based on its value.
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}) 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