GraphNodeViewBehavior.defaultBehavior constructor

GraphNodeViewBehavior.defaultBehavior({
  1. GraphTooltipPosition tooltipPosition = GraphTooltipPosition.right,
  2. GraphTooltipTriggerMode tooltipTriggerMode = GraphTooltipTriggerMode.hover,
  3. GraphTooltipWidgetBuilder? tooltipBuilder,
  4. GraphDefaultNodeRendererWidgetBuilder? nodeRendererBuilder,
  5. GraphDefaultNodeRendererStyle nodeRendererStyle = const GraphDefaultNodeRendererStyle(),
  6. Widget? child,
})

Creates a default node view behavior with standard configuration.

Implementation

factory GraphNodeViewBehavior.defaultBehavior({
  GraphTooltipPosition tooltipPosition = GraphTooltipPosition.right,
  GraphTooltipTriggerMode tooltipTriggerMode = GraphTooltipTriggerMode.hover,
  GraphTooltipWidgetBuilder? tooltipBuilder,
  GraphDefaultNodeRendererWidgetBuilder? nodeRendererBuilder,
  GraphDefaultNodeRendererStyle nodeRendererStyle =
      const GraphDefaultNodeRendererStyle(),
  Widget? child,
}) {
  return GraphNodeViewBehavior(
    tooltipBehavior: GraphTooltipBehavior(
      position: tooltipPosition,
      builder: tooltipBuilder ??
          (context, node) => GraphTooltip(node: node as GraphNode),
      triggerMode: tooltipTriggerMode,
    ),
    builder: nodeRendererBuilder ??
        (context, graph, node, child) {
          final s = node['label']?.toString() ??
              node.id.value.substring(node.id.value.length - 4);
          return GraphDefaultNodeRenderer(
            node: node,
            style: nodeRendererStyle,
            child: Center(
              child: Text(s),
            ),
          );
        },
    child: child,
  );
}