diff options
| author | bob <bcz@cs.brown.edu> | 2019-06-11 10:53:36 -0400 | 
|---|---|---|
| committer | bob <bcz@cs.brown.edu> | 2019-06-11 10:53:36 -0400 | 
| commit | 95674ee7f68782d1ce85858120efea956825bcb9 (patch) | |
| tree | 0d2ddc9838b45278d6533099f7030a9713d6413f /src/client/views/ContextMenu.tsx | |
| parent | 4dacd1220e6a0ef73167f187f52f3b4c222c2586 (diff) | |
| parent | 06d5bb5c65da6f4a115ebf8118989115420bccef (diff) | |
merged embedded linking with master
Diffstat (limited to 'src/client/views/ContextMenu.tsx')
| -rw-r--r-- | src/client/views/ContextMenu.tsx | 26 | 
1 files changed, 21 insertions, 5 deletions
| diff --git a/src/client/views/ContextMenu.tsx b/src/client/views/ContextMenu.tsx index 615a928ad..da374455e 100644 --- a/src/client/views/ContextMenu.tsx +++ b/src/client/views/ContextMenu.tsx @@ -1,14 +1,20 @@  import React = require("react");  import { ContextMenuItem, ContextMenuProps } from "./ContextMenuItem";  import { observable, action } from "mobx"; -import { observer } from "mobx-react"; -import "./ContextMenu.scss"; +import { observer } from "mobx-react" +import "./ContextMenu.scss" +import { library } from '@fortawesome/fontawesome-svg-core'; +import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; +import { faSearch, faCircle } from '@fortawesome/free-solid-svg-icons'; + +library.add(faSearch); +library.add(faCircle);  @observer  export class ContextMenu extends React.Component {      static Instance: ContextMenu; -    @observable private _items: Array<ContextMenuProps> = [{ description: "test", event: (e: React.MouseEvent) => e.preventDefault() }]; +    @observable private _items: Array<ContextMenuProps> = [{ description: "test", event: (e: React.MouseEvent) => e.preventDefault(), icon: "smile" }];      @observable private _pageX: number = 0;      @observable private _pageY: number = 0;      @observable private _display: string = "none"; @@ -75,6 +81,11 @@ export class ContextMenu extends React.Component {          return false;      } +    @action +    closeMenu = () => { +        this.clearItems(); +    } +      render() {          let style = this._yRelativeToTop ? { left: this._pageX, top: this._pageY, display: this._display } :              { left: this._pageX, bottom: this._pageY, display: this._display }; @@ -82,9 +93,14 @@ export class ContextMenu extends React.Component {          return (              <div className="contextMenu-cont" style={style} ref={this.ref}> -                <input className="contextMenu-item" type="text" placeholder="Search . . ." value={this._searchString} onChange={this.onChange}></input> +                <span> +                    <span className="icon-background"> +                        <FontAwesomeIcon icon="search" size="lg" /> +                    </span> +                    <input className="contextMenu-item contextMenu-description" type="text" placeholder="Search . . ." value={this._searchString} onChange={this.onChange} /> +                </span>                  {this._items.filter(prop => prop.description.toLowerCase().indexOf(this._searchString.toLowerCase()) !== -1). -                    map(prop => <ContextMenuItem {...prop} key={prop.description} />)} +                    map(prop => <ContextMenuItem {...prop} key={prop.description} closeMenu={this.closeMenu} />)}              </div>          );      } | 
