snapshot method
Implementation
CockpitSnapshot snapshot({
CockpitSnapshotOptions options = const CockpitSnapshotOptions(),
}) {
var visibleTargets = _registry.visibleTargets;
var diagnosticOptions = options;
final query = options.query?.trim();
if (query != null &&
query.isNotEmpty &&
CockpitSelector.isExplicit(query)) {
visibleTargets = _registry.matchingVisibleTargets(
CockpitSelector.parse(query),
);
diagnosticOptions = options.copyWith(clearQuery: true);
}
var snapshot = _diagnosticBuilder
.build(
routeName: _registry.routeName,
visibleTargets: visibleTargets,
options: diagnosticOptions,
)
.snapshot;
final treeOptions = options.tree;
final rootContext = _boundaryKey.currentContext;
if (treeOptions != null && rootContext is Element) {
snapshot = snapshot.copyWith(
tree: _widgetTreeBuilder.build(
root: rootContext,
route: _registry.routeName,
targets: visibleTargets,
options: treeOptions,
),
);
}
if (!options.includeRebuildActivity || widget.rebuildTracker == null) {
return snapshot.copyWith(focus: cockpitBuildFocusSnapshot());
}
return snapshot.copyWith(
focus: cockpitBuildFocusSnapshot(),
rebuild: widget.rebuildTracker!.snapshot(
maxEntries: options.maxRebuildEntries,
),
);
}