Skip to content

Commit 462a334

Browse files
update
1 parent e61f789 commit 462a334

File tree

4 files changed

+53
-6
lines changed

4 files changed

+53
-6
lines changed

chrome/public/bundle/hook.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2091,6 +2091,7 @@
20912091
return PlainNode;
20922092
}());
20932093

2094+
/* eslint-disable max-lines */
20942095
var treeMap = new Map();
20952096
var detailMap = new Map();
20962097
var fiberStore = new Map();
@@ -2279,8 +2280,22 @@
22792280
return created;
22802281
}
22812282
};
2282-
var getComponentFiberByDom = function (dom) {
2283+
var getFiberByDom = function (dom) {
22832284
var fiber = domToFiber.get(dom);
2285+
if (!fiber) {
2286+
if (dom.parentElement) {
2287+
return getFiberByDom(dom.parentElement);
2288+
}
2289+
else {
2290+
return null;
2291+
}
2292+
}
2293+
else {
2294+
return fiber;
2295+
}
2296+
};
2297+
var getComponentFiberByDom = function (dom) {
2298+
var fiber = getFiberByDom(dom);
22842299
if (!fiber)
22852300
return;
22862301
var r = fiber;
@@ -4545,6 +4560,7 @@
45454560
exports.getDetailNodeByFiber = getDetailNodeByFiber;
45464561
exports.getElementName = getElementName;
45474562
exports.getElementNodesFromFiber = getElementNodesFromFiber;
4563+
exports.getFiberByDom = getFiberByDom;
45484564
exports.getFiberName = getFiberName;
45494565
exports.getFiberNodeById = getFiberNodeById;
45504566
exports.getFiberTag = getFiberTag;

chrome/public/bundle/proxy.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1991,6 +1991,7 @@
19911991
return PlainNode;
19921992
}());
19931993

1994+
/* eslint-disable max-lines */
19941995
var treeMap = new Map();
19951996
var detailMap = new Map();
19961997
var fiberStore = new Map();
@@ -2179,8 +2180,22 @@
21792180
return created;
21802181
}
21812182
};
2182-
var getComponentFiberByDom = function (dom) {
2183+
var getFiberByDom = function (dom) {
21832184
var fiber = domToFiber.get(dom);
2185+
if (!fiber) {
2186+
if (dom.parentElement) {
2187+
return getFiberByDom(dom.parentElement);
2188+
}
2189+
else {
2190+
return null;
2191+
}
2192+
}
2193+
else {
2194+
return fiber;
2195+
}
2196+
};
2197+
var getComponentFiberByDom = function (dom) {
2198+
var fiber = getFiberByDom(dom);
21842199
if (!fiber)
21852200
return;
21862201
var r = fiber;
@@ -4445,6 +4460,7 @@
44454460
exports.getDetailNodeByFiber = getDetailNodeByFiber;
44464461
exports.getElementName = getElementName;
44474462
exports.getElementNodesFromFiber = getElementNodesFromFiber;
4463+
exports.getFiberByDom = getFiberByDom;
44484464
exports.getFiberName = getFiberName;
44494465
exports.getFiberNodeById = getFiberNodeById;
44504466
exports.getFiberTag = getFiberTag;

chrome/src/components/NodeValue.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,13 @@ export const NodeValue = ({
127127
if (expand && cData) {
128128
if (Array.isArray(cData)) {
129129
cData.forEach((i) => {
130-
if (i.e && i.i && !i.l && !useChunk.getReadonlyState().data?.[i.i]?.loaded) {
130+
if (i && i.e && i.i && !i.l && !useChunk.getReadonlyState().data?.[i.i]?.loaded) {
131131
useChunk.getActions().setLoading(i.i);
132132
}
133133
});
134134
} else {
135135
Object.values(cData).forEach((i: any) => {
136-
if (i.e && i.i && !i.l && !useChunk.getReadonlyState().data?.[i.i]?.loaded) {
136+
if (i && i.e && i.i && !i.l && !useChunk.getReadonlyState().data?.[i.i]?.loaded) {
137137
useChunk.getActions().setLoading(i.i);
138138
}
139139
});
@@ -171,7 +171,7 @@ export const NodeValue = ({
171171

172172
const isElement = item.t === "Element";
173173

174-
const isFunction = item.t === "Function" || item.t === 'AsyncFunction' || item.t === 'GeneratorFunction';
174+
const isFunction = item.t === "Function" || item.t === "AsyncFunction" || item.t === "GeneratorFunction";
175175

176176
const element = (
177177
<span className={`hook-${item.t} ${isReadError ? "text-red-300" : ""} ${isElement || isFunction ? "text-teal-600" : ""}`}>{textContent}</span>

packages/core/src/tree.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/* eslint-disable max-lines */
12
import { include, STATE_TYPE, type ListTree } from "@my-react/react-shared";
23

34
import { getValueById } from "./data";
@@ -291,9 +292,23 @@ export const getDetailNodeByFiber = (fiber: MyReactFiberNode) => {
291292
}
292293
};
293294

294-
export const getComponentFiberByDom = (dom: HTMLElement) => {
295+
export const getFiberByDom = (dom: HTMLElement) => {
295296
const fiber = domToFiber.get(dom);
296297

298+
if (!fiber) {
299+
if(dom.parentElement) {
300+
return getFiberByDom(dom.parentElement as HTMLElement);
301+
} else {
302+
return null;
303+
}
304+
} else {
305+
return fiber;
306+
}
307+
}
308+
309+
export const getComponentFiberByDom = (dom: HTMLElement) => {
310+
const fiber = getFiberByDom(dom);
311+
297312
if (!fiber) return;
298313

299314
let r = fiber;

0 commit comments

Comments
 (0)