diff options
author | tschicke-brown <tyler_schicke@brown.edu> | 2019-05-21 18:36:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-21 18:36:55 -0400 |
commit | f16a5c689fb075ad232e2c076a47030f6080d1c0 (patch) | |
tree | 7d55626e1cd78722c9ec297f9efce8de0f6c7265 /src/client/views/MainView.tsx | |
parent | 3020cfcf20d187c976a7f386a95bec0c41cba06b (diff) | |
parent | d8e75e672f1384dc68af1f63aabd68d8b6820adb (diff) |
Merge pull request #147 from browngraphicslab/cont_menu_ui
Fixes to search bar
Diffstat (limited to 'src/client/views/MainView.tsx')
-rw-r--r-- | src/client/views/MainView.tsx | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/client/views/MainView.tsx b/src/client/views/MainView.tsx index 6169466bc..aa34a12ed 100644 --- a/src/client/views/MainView.tsx +++ b/src/client/views/MainView.tsx @@ -40,6 +40,7 @@ export class MainView extends React.Component { @observable private _workspacesShown: boolean = false; @observable public pwidth: number = 0; @observable public pheight: number = 0; + private searchbox: React.RefObject<HTMLDivElement>; @computed private get mainContainer(): Opt<Doc> { return FieldValue(Cast(CurrentUserUtils.UserDocument.activeWorkspace, Doc)); @@ -56,6 +57,7 @@ export class MainView extends React.Component { constructor(props: Readonly<{}>) { super(props); MainView.Instance = this; + this.searchbox = React.createRef(); // causes errors to be generated when modifying an observable outside of an action configure({ enforceActions: "observed" }); if (window.location.search.includes("readonly")) { @@ -260,17 +262,33 @@ export class MainView extends React.Component { return [ <button className="clear-db-button" key="clear-db" onClick={e => e.shiftKey && e.altKey && DocServer.DeleteDatabase()}>Clear Database</button>, <div id="toolbar" key="toolbar"> + <button className="toolbar-button round-button" title="Search" onClick={this.toggleSearch}><FontAwesomeIcon icon="search" size="sm" /></button> <button className="toolbar-button round-button" title="Undo" onClick={() => UndoManager.Undo()}><FontAwesomeIcon icon="undo-alt" size="sm" /></button> <button className="toolbar-button round-button" title="Redo" onClick={() => UndoManager.Redo()}><FontAwesomeIcon icon="redo-alt" size="sm" /></button> <button className="toolbar-button round-button" title="Ink" onClick={() => InkingControl.Instance.toggleDisplay()}><FontAwesomeIcon icon="pen-nib" size="sm" /></button> </div >, - <div className="main-searchDiv" key="search" style={{ top: '34px', right: '1px', position: 'absolute' }} > <SearchBox /> </div>, + <div ref={this.searchbox} className="main-searchDiv" key="search" style={{ top: '34px', right: '1px', position: 'absolute' }} > <SearchBox /> </div>, <div className="main-buttonDiv" key="logout" style={{ bottom: '0px', right: '1px', position: 'absolute' }} ref={logoutRef}> <button onClick={() => request.get(DocServer.prepend(RouteStore.logout), emptyFunction)}>Log Out</button></div> ]; } + @action + toggleSearch = () => { + const sb = this.searchbox.current; + if (sb !== null) { + console.log("toggle search") + if (sb.style.display === "none") { + sb.style.display = "block"; + } + else { + sb.style.display = "none"; + } + } + + } + render() { return ( <div id="main-div"> |