@@ -49,38 +49,43 @@ const TagMenuItem: React.FC<{
49
49
const randomNumber = React . useMemo ( ( ) => Math . floor ( Math . random ( ) * 1000 ) , [ ] ) ;
50
50
const checkboxId = tagPath . replace ( / [ \W ] / g, '_' ) + randomNumber ;
51
51
52
+ const expandChildrenClick = React . useCallback ( ( e ) => {
53
+ e . preventDefault ( ) ;
54
+ onToggleChildren ?.( tagPath ) ;
55
+ } , [ onToggleChildren , tagPath ] ) ;
56
+
52
57
return (
53
- < div className = "pgn__menu-item pgn__form-checkbox tag-toggle-item" role = "group ">
54
- < input
55
- type = "checkbox"
56
- id = { checkboxId }
57
- checked = { isChecked }
58
- onChange = { onClickCheckbox }
59
- className = "pgn__form-checkbox-input flex-shrink-0"
60
- />
61
- < label htmlFor = { checkboxId } className = "flex-shrink-1 mb-0" >
62
- { label } { ' ' }
63
- < Badge variant = "light" pill > { tagCount } </ Badge >
64
- </ label >
65
- {
66
- hasChildren
67
- ? (
68
- < IconButton
69
- src = { isExpanded ? ArrowDropUp : ArrowDropDown }
70
- iconAs = { Icon }
71
- alt = {
72
- intl . formatMessage (
73
- isExpanded ? messages . childTagsCollapse : messages . childTagsExpand ,
74
- { tagName : label } ,
75
- )
76
- }
77
- onClick = { ( ) => onToggleChildren ?. ( tagPath ) }
78
- variant = "primary "
79
- size = "sm"
80
- />
81
- ) : null
82
- }
83
- </ div >
58
+ < label className = "d-inline " >
59
+ < div className = "pgn__menu-item pgn__form-checkbox tag-toggle-item" role = "group" >
60
+ < input
61
+ type = "checkbox"
62
+ id = { checkboxId }
63
+ checked = { isChecked }
64
+ onChange = { onClickCheckbox }
65
+ className = "pgn__form-checkbox-input flex-shrink-0"
66
+ / >
67
+ { label }
68
+ < Badge variant = "light" pill className = "ml-1" > { tagCount } </ Badge >
69
+ {
70
+ hasChildren
71
+ ? (
72
+ < IconButton
73
+ src = { isExpanded ? ArrowDropUp : ArrowDropDown }
74
+ iconAs = { Icon }
75
+ alt = {
76
+ intl . formatMessage (
77
+ isExpanded ? messages . childTagsCollapse : messages . childTagsExpand ,
78
+ { tagName : label } ,
79
+ )
80
+ }
81
+ onClick = { expandChildrenClick }
82
+ variant = "primary"
83
+ size = "sm "
84
+ />
85
+ ) : null
86
+ }
87
+ </ div >
88
+ </ label >
84
89
) ;
85
90
} ;
86
91
@@ -125,7 +130,6 @@ const TagOptions: React.FC<{
125
130
return (
126
131
< React . Fragment key = { tagName } >
127
132
< TagMenuItem
128
- key = { tagName }
129
133
label = { tagName }
130
134
tagCount = { t . tagCount }
131
135
tagPath = { tagPath }
0 commit comments