findWidgetForComponent<WidgetType> static method

WidgetType findWidgetForComponent<WidgetType>(
  1. String nodeId, [
  2. Finder? superEditorFinder
])

Finds and returns the Widget that configures the DocumentComponent with the given nodeId.

The given nodeId must exist in the SuperEditor's document. The Widget that configures the give node must be of type WidgetType.

By default, this method expects a single SuperEditor in the widget tree and finds it byType. To specify one SuperEditor among many, pass a superEditorFinder.

Implementation

static WidgetType findWidgetForComponent<WidgetType>(String nodeId, [Finder? superEditorFinder]) {
  final documentLayout = findDocumentLayout(superEditorFinder);
  final widget = (documentLayout.getComponentByNodeId(nodeId) as State).widget;
  if (widget is! WidgetType) {
    throw Exception("Looking for a component's widget. Expected type $WidgetType, but found ${widget.runtimeType}");
  }

  return widget as WidgetType;
}