@@ -20,6 +20,8 @@ export default class CategoryList extends React.Component {
2020 this . listWrapperRef = React . createRef ( ) ;
2121 this . state = {
2222 openClasses : [ ] ,
23+ hoveredFilter : null ,
24+ hoveredClass : null ,
2325 } ;
2426 }
2527
@@ -170,7 +172,11 @@ export default class CategoryList extends React.Component {
170172 const link = generatePath ( this . context , ( this . props . linkPrefix || '' ) + ( c . link || id ) ) ;
171173 return (
172174 < div key = { id } >
173- < div className = { styles . link } >
175+ < div
176+ className = { styles . link }
177+ onMouseEnter = { ( ) => this . setState ( { hoveredClass : id } ) }
178+ onMouseLeave = { ( ) => this . setState ( { hoveredClass : null } ) }
179+ >
174180 < Link
175181 title = { c . name }
176182 to = { { pathname : link } }
@@ -194,6 +200,7 @@ export default class CategoryList extends React.Component {
194200 { c . onEdit && (
195201 < a
196202 className = { styles . edit }
203+ style = { { opacity : this . state . hoveredClass === id ? 1 : 0 } }
197204 onClick = { e => {
198205 e . preventDefault ( ) ;
199206 c . onEdit ( ) ;
@@ -221,8 +228,14 @@ export default class CategoryList extends React.Component {
221228 const url = id
222229 ? `${ this . props . linkPrefix } ${ c . name } ?filters=${ encodeURIComponent ( filter ) } &filterId=${ id } `
223230 : `${ this . props . linkPrefix } ${ c . name } ?filters=${ encodeURIComponent ( filter ) } ` ;
231+ const filterKey = `${ c . name } -${ index } ` ;
224232 return (
225- < div key = { index } className = { styles . childLink } >
233+ < div
234+ key = { index }
235+ className = { styles . childLink }
236+ onMouseEnter = { ( ) => this . setState ( { hoveredFilter : filterKey } ) }
237+ onMouseLeave = { ( ) => this . setState ( { hoveredFilter : null } ) }
238+ >
226239 < Link
227240 className = { selectedFilter === index ? styles . active : '' }
228241 onClick = { e => {
@@ -236,6 +249,7 @@ export default class CategoryList extends React.Component {
236249 { this . props . onEditFilter && (
237250 < a
238251 className = { styles . editFilter }
252+ style = { { opacity : this . state . hoveredFilter === filterKey ? 1 : 0 } }
239253 onClick = { e => {
240254 e . preventDefault ( ) ;
241255 this . props . onEditFilter ( c . name , filterData ) ;
0 commit comments