File tree Expand file tree Collapse file tree 4 files changed +53
-6
lines changed
Expand file tree Collapse file tree 4 files changed +53
-6
lines changed Original file line number Diff line number Diff line change 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 ( ) ;
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 ;
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 ;
Original file line number Diff line number Diff line change 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 ( ) ;
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 ;
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 ;
Original file line number Diff line number Diff 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 >
Original file line number Diff line number Diff line change 1+ /* eslint-disable max-lines */
12import { include , STATE_TYPE , type ListTree } from "@my-react/react-shared" ;
23
34import { 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 ;
You can’t perform that action at this time.
0 commit comments