Search term highlighting in result table.
| | |
| | | |
| | | handleInputChange = (event) => { |
| | | event.preventDefault(); |
| | | this.setState({filter : {...this.state.filter, [event.target.name]: event.target.value}}); |
| | | this.setState({filter: {...this.state.filter, [event.target.name]: event.target.value}}); |
| | | }; |
| | | |
| | | |
| | |
| | | }} |
| | | /> |
| | | <FileListTable |
| | | entries={this.state.fileList}/> |
| | | entries={this.state.fileList} |
| | | search={this.state.filter.search}/> |
| | | </React.Fragment>; |
| | | } |
| | | } |
| | |
| | | import FileListEntry from './FileListEntry'; |
| | | |
| | | function FileListTable({entries, search}) { |
| | | const lowercaseSearch = search.toLowerCase(); |
| | | const lowercaseSearch = search.split(' ')[0].toLowerCase(); |
| | | return ( |
| | | <Table striped bordered hover size={'sm'} responsive> |
| | | <thead> |
| | |
| | | <th>Modified time</th> |
| | | <th>Size</th> |
| | | <th>Path</th> |
| | | <th></th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | {entries |
| | | .filter(entry => [entry.message] |
| | | .join('|#|').toLowerCase() |
| | | .indexOf(lowercaseSearch) !== -1) |
| | | .map((entry, index) => <FileListEntry |
| | | entry={entry} |
| | | search={lowercaseSearch} |