diff options
Diffstat (limited to 'src/server/authentication/controllers/WorkspacesMenu.tsx')
-rw-r--r-- | src/server/authentication/controllers/WorkspacesMenu.tsx | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/server/authentication/controllers/WorkspacesMenu.tsx b/src/server/authentication/controllers/WorkspacesMenu.tsx new file mode 100644 index 000000000..77e3a9778 --- /dev/null +++ b/src/server/authentication/controllers/WorkspacesMenu.tsx @@ -0,0 +1,48 @@ +import * as React from 'react'; +import * as ReactDOM from 'react-dom'; +import { observable, action, configure, reaction, computed } from 'mobx'; +import { observer } from "mobx-react"; +import * as request from 'request' + +@observer +export class WorkspacesMenu extends React.Component { + static Instance: WorkspacesMenu; + @observable private workspacesExposed: boolean = false; + @observable private workspaceIds: Array<string> = []; + + constructor(props: Readonly<{}>) { + super(props); + WorkspacesMenu.Instance = this; + } + + toggle() { + action(() => { + if (!this.workspacesExposed) { + request.get(window.location.origin + "/getAllWorkspaceIds", (error, response, body) => { + this.workspaceIds = body; + console.log(this.workspaceIds); + }) + } + this.workspacesExposed = !this.workspacesExposed; + }); + } + + render() { + return ( + <div + style={{ + width: "150px", + height: "150px", + position: "absolute", + top: 75, + right: 0, + background: "grey", + zIndex: 15, + visibility: this.workspacesExposed ? "visible" : "hidden" + }} + > + {this.workspaceIds.map(s => <li key={s} >${s}</li>)} + </div> + ); + } +}
\ No newline at end of file |