diff options
Diffstat (limited to 'src/client/views/ContextMenu.tsx')
| -rw-r--r-- | src/client/views/ContextMenu.tsx | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/client/views/ContextMenu.tsx b/src/client/views/ContextMenu.tsx index 4f26a75d2..4a216ca21 100644 --- a/src/client/views/ContextMenu.tsx +++ b/src/client/views/ContextMenu.tsx @@ -59,10 +59,27 @@ export class ContextMenu extends React.Component { render() { return ( <div className="contextMenu-cont" style={{ left: this._pageX, top: this._pageY, display: this._display }} ref={this.ref}> + <input className="contextMenu-item" type="text" id="mySearch" placeholder="Search . . ." onKeyUp={this.search}></input> {this._items.map(prop => { return <ContextMenuItem {...prop} key={prop.description} /> })} </div> ) } + + search() { + let input = document.getElementById("mySearch"); + let filter = (input as HTMLSelectElement).value.toUpperCase(); + let li = document.getElementById("options"); + let a = (li as HTMLSelectElement).getElementsByTagName("div"); + for (let i = 0; i < a.length; i++) { + let txtValue = a[i].textContent || a[i].innerText; + if (txtValue.toUpperCase().indexOf(filter) > -1) { + a[i].style.display = ""; + } + else { + a[i].style.display = "none"; + } + } + } }
\ No newline at end of file |
