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, 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