Dont allow focusing leaf node

Summary: This mode is useless for leaves

Reviewed By: aigoncharov

Differential Revision: D47949539

fbshipit-source-id: 7f3ae6652ad696e9f550fe5b8f2298a1a3eff329
This commit is contained in:
Luke De Feo
2023-08-01 10:32:29 -07:00
committed by Facebook GitHub Bot
parent 9932d28b2f
commit af7c1c7e74
3 changed files with 24 additions and 6 deletions

View File

@@ -9,7 +9,7 @@
import {Button, Dropdown, Menu, Slider, Tooltip, Typography} from 'antd';
import {Layout, produce, theme, usePlugin} from 'flipper-plugin';
import {Id} from '../../ClientTypes';
import {ClientNode, Id} from '../../ClientTypes';
import {plugin} from '../../index';
import React from 'react';
import {
@@ -44,16 +44,18 @@ export function VisualiserControls({
}: {
wireFrameMode: WireFrameMode;
onSetWireFrameMode: (mode: WireFrameMode) => void;
selectedNode?: Id;
selectedNode?: ClientNode;
focusedNode?: Id;
setTargetMode: (targetMode: TargetModeState) => void;
targetMode: TargetModeState;
}) {
const instance = usePlugin(plugin);
const focusDisabled = focusedNode == null && selectedNode == null;
const focusDisabled =
focusedNode == null &&
(selectedNode == null || selectedNode.children.length === 0);
const focusToolTip = focusDisabled
? 'Select a node to focus it'
? 'Select a non leaf node to focus it'
: focusedNode == null
? 'Focus current node'
: 'Remove focus';
@@ -153,7 +155,7 @@ export function VisualiserControls({
disabled={focusDisabled}
onClick={() => {
if (focusedNode == null) {
instance.uiActions.onFocusNode(selectedNode);
instance.uiActions.onFocusNode(selectedNode?.id);
} else {
instance.uiActions.onFocusNode();
}