@@ -3,16 +3,20 @@ import { type NodeValue as NodeValueType } from "@my-react-devtool/core";
33
44import { useCallbackRef } from "@/hooks/useCallbackRef" ;
55import { useDetailNodeExt } from "@/hooks/useDetailNodeExt" ;
6+ import { useHighlightNode } from "@/hooks/useHighlightNode" ;
67import { useSelectNode } from "@/hooks/useSelectNode" ;
8+ import { useTriggerNode } from "@/hooks/useTriggerNode" ;
79import { useUISize } from "@/hooks/useUISize" ;
810
911import { NodeValue } from "./NodeValue" ;
1012
11- const Trigger = ( ) => {
13+ const Trigger = ( { select } : { select : string } ) => {
1214 const trigger = useDetailNodeExt ( ( s ) => s . triggerStatus ) ;
1315
1416 const size = useUISize . useShallowStableSelector ( ( s ) => s . state ) ;
1517
18+ const triggerCount = useTriggerNode . useShallowSelector ( ( s ) => s . state ?. [ select ] ) ;
19+
1620 const sizeClass = size === "sm" ? "text-[11px]" : size === "md" ? "text-[12px]" : "text-[13px]" ;
1721
1822 const render = useCallbackRef ( ( index : number , item : NodeValueType ) => {
@@ -23,6 +27,8 @@ const Trigger = () => {
2327 ) ;
2428 } ) ;
2529
30+ const startCount = triggerCount - 9 >= 0 ? triggerCount - 9 : 0 ;
31+
2632 const hasTrigger = trigger ?. length > 0 ;
2733
2834 return hasTrigger ? (
@@ -31,17 +37,19 @@ const Trigger = () => {
3137 < span > trigger</ span >
3238 </ div >
3339 < Spacer y = { 1 } />
34- < div className = "w-full" > { trigger ?. map ( ( w , index ) => render ( index , w ) ) } </ div >
40+ < div className = "w-full" > { trigger ?. map ( ( w , index ) => render ( startCount + index , w ) ) } </ div >
3541 < Divider />
3642 </ div >
3743 ) : null ;
3844} ;
3945
40- const Warn = ( ) => {
46+ const Warn = ( { select } : { select : string } ) => {
4147 const warn = useDetailNodeExt ( ( s ) => s . warnStatus ) ;
4248
4349 const size = useUISize . useShallowStableSelector ( ( s ) => s . state ) ;
4450
51+ const warnCount = useHighlightNode . useShallowSelector ( ( s ) => s . warn [ select ] ) ;
52+
4553 const sizeClass = size === "sm" ? "text-[11px]" : size === "md" ? "text-[12px]" : "text-[13px]" ;
4654
4755 const render = useCallbackRef ( ( index : number , item : NodeValueType ) => {
@@ -52,6 +60,8 @@ const Warn = () => {
5260 ) ;
5361 } ) ;
5462
63+ const startCount = warnCount - 9 >= 0 ? warnCount - 9 : 0 ;
64+
5565 const hasWarn = warn ?. length > 0 ;
5666
5767 return hasWarn ? (
@@ -60,17 +70,19 @@ const Warn = () => {
6070 < span > warn</ span >
6171 </ div >
6272 < Spacer y = { 1 } />
63- < div className = "w-full" > { warn ?. map ( ( w , index ) => render ( index , w ) ) } </ div >
73+ < div className = "w-full" > { warn ?. map ( ( w , index ) => render ( startCount + index , w ) ) } </ div >
6474 < Divider />
6575 </ div >
6676 ) : null ;
6777} ;
6878
69- const Error = ( ) => {
79+ const Error = ( { select } : { select : string } ) => {
7080 const error = useDetailNodeExt ( ( s ) => s . errorStatus ) ;
7181
7282 const size = useUISize . useShallowStableSelector ( ( s ) => s . state ) ;
7383
84+ const errorCount = useHighlightNode . useShallowSelector ( ( s ) => s . error [ select ] ) ;
85+
7486 const sizeClass = size === "sm" ? "text-[11px]" : size === "md" ? "text-[12px]" : "text-[13px]" ;
7587
7688 const render = useCallbackRef ( ( index : number , item : NodeValueType ) => {
@@ -81,6 +93,8 @@ const Error = () => {
8193 ) ;
8294 } ) ;
8395
96+ const startCount = errorCount - 9 >= 0 ? errorCount - 9 : 0 ;
97+
8498 const hasError = error ?. length > 0 ;
8599
86100 return hasError ? (
@@ -89,7 +103,7 @@ const Error = () => {
89103 < span > error</ span >
90104 </ div >
91105 < Spacer y = { 1 } />
92- < div className = "w-full" > { error ?. map ( ( w , index ) => render ( index , w ) ) } </ div >
106+ < div className = "w-full" > { error ?. map ( ( w , index ) => render ( startCount + index , w ) ) } </ div >
93107 < Divider />
94108 </ div >
95109 ) : null ;
@@ -104,9 +118,9 @@ export const ExtendView = () => {
104118
105119 return (
106120 < >
107- < Trigger />
108- < Warn />
109- < Error />
121+ < Trigger select = { select } />
122+ < Warn select = { select } />
123+ < Error select = { select } />
110124 </ >
111125 ) ;
112126} ;
0 commit comments