import * as React from "react"; import * as cx from "classnames"; import { BaseConsoleProps, ConsoleTab } from "./view.pc"; import { ScriptProcess } from "../../../../state"; import { Dispatch } from "../../../../../../desktop/node_modules/redux"; export type Props = { scriptProcesses: ScriptProcess[]; dispatch: Dispatch; }; type State = { selectedTabIndex: number; }; export default (Base: React.ComponentClass) => class ConsoleController extends React.PureComponent { state = { selectedTabIndex: 0 }; selectTabIndex = (index: number) => { this.setState({ ...this.state, selectedTabIndex: index }); }; render() { const { selectTabIndex } = this; const { scriptProcesses, ...rest } = this.props; const { selectedTabIndex } = this.state; const tabs = scriptProcesses.map((process, i) => { return ( selectTabIndex(i)} labelProps={{ text: process.label }} /> ); }); const scriptProcess = scriptProcesses[selectedTabIndex]; return ( ); } };