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' import './WorkspacesMenu.css' @observer export class WorkspacesMenu extends React.Component { static Instance: WorkspacesMenu; @observable private workspacesExposed: boolean = false; @observable private workspaceIds: Array = []; constructor(props: Readonly<{}>) { super(props); WorkspacesMenu.Instance = this; } @action toggle() { if (this.workspacesExposed) { this.workspacesExposed = !this.workspacesExposed; } else { request.get(window.location.origin + "/getAllWorkspaceIds", this.idCallback) } } @action.bound idCallback: request.RequestCallback = (error, response, body) => { this.workspaceIds = []; let ids: Array = JSON.parse(body) as Array; if (ids) { for (let i = 0; i < ids.length; i++) { this.workspaceIds.push(ids[i]); } console.log(this.workspaceIds); this.workspacesExposed = !this.workspacesExposed; } } setWorkspaceId = (e: React.MouseEvent) => { console.log(e.currentTarget.innerHTML); } render() { return (
{this.workspaceIds.map(s =>
  • {s}
  • )}
    ); } }