[DevTools] Highlight RN elements on hover (#25106)

* [DevTools] Highlight RN elements on hover

* Remove unused TODO
This commit is contained in:
Tianyu Yao
2022-08-24 11:25:22 -07:00
committed by GitHub
parent 3d443cad74
commit 181525338e
2 changed files with 12 additions and 6 deletions

View File

@@ -16,7 +16,11 @@ const SHOW_DURATION = 2000;
let timeoutID: TimeoutID | null = null;
let overlay: Overlay | null = null;
export function hideOverlay() {
export function hideOverlay(agent: Agent) {
if (window.document == null) {
agent.emit('hideNativeHighlight');
return;
}
timeoutID = null;
if (overlay !== null) {
@@ -31,8 +35,10 @@ export function showOverlay(
agent: Agent,
hideAfterTimeout: boolean,
) {
// TODO (npm-packages) Detect RN and support it somehow
if (window.document == null) {
if (elements != null && elements[0] != null) {
agent.emit('showNativeHighlight', elements[0]);
}
return;
}
@@ -51,6 +57,6 @@ export function showOverlay(
overlay.inspect(elements, componentName);
if (hideAfterTimeout) {
timeoutID = setTimeout(hideOverlay, SHOW_DURATION);
timeoutID = setTimeout(() => hideOverlay(agent), SHOW_DURATION);
}
}

View File

@@ -54,7 +54,7 @@ export default function setupHighlighter(
}
function stopInspectingNative() {
hideOverlay();
hideOverlay(agent);
removeListenersOnWindow(window);
iframesListeningTo.forEach(function(frame) {
try {
@@ -82,7 +82,7 @@ export default function setupHighlighter(
}
function clearNativeElementHighlight() {
hideOverlay();
hideOverlay(agent);
}
function highlightNativeElement({
@@ -129,7 +129,7 @@ export default function setupHighlighter(
bridge.send('syncSelectionToNativeElementsPanel');
}
} else {
hideOverlay();
hideOverlay(agent);
}
}