diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client/views/ContextMenu.scss | 7 | ||||
-rw-r--r-- | src/client/views/ContextMenu.tsx | 17 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/client/views/ContextMenu.scss b/src/client/views/ContextMenu.scss index 234f82eb9..dc5907f14 100644 --- a/src/client/views/ContextMenu.scss +++ b/src/client/views/ContextMenu.scss @@ -3,6 +3,7 @@ display: flex; z-index: 1000; box-shadow: #AAAAAA .2vw .2vw .4vw; + flex-direction: column; //E } .contextMenu-item { @@ -31,4 +32,8 @@ font-size: 1.5vw; text-align: left; width: 8vw; -}
\ No newline at end of file +} + +// #mySearch { +// font-size: 1.5vw; +// }
\ No newline at end of file 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 |