diff --git a/src/js/components/folder/index.jsx b/src/js/components/folder/index.jsx index d250431..ccdd13d 100644 --- a/src/js/components/folder/index.jsx +++ b/src/js/components/folder/index.jsx @@ -7,12 +7,28 @@ class Folder extends React.Component { this.state = {} } + getHighlight ({ nodeLabel, filter, index }) { + const prefix = nodeLabel.substring(0, index) + const middle = nodeLabel.substring(index, index + filter.length) + const suffix = nodeLabel.substring(index + filter.length) + return ( + <> + {prefix} + {middle ? {middle} : null} + {suffix} + > + ) + } + render () { - const { children, nodeLabel, isViewed } = this.props + const { children, nodeLabel, isViewed, filter } = this.props + + const index = filter ? (nodeLabel.toLowerCase() || '').indexOf(filter.toLowerCase()) : -1 + const displayName = (index === -1) ? nodeLabel : this.getHighlight({ nodeLabel, filter, index }) const display = (