import React, {Fragment, useContext, useState} from 'react'; import ls from './Expressions.less'; import cmn from 'ui/styles/common.less'; import ToolButton from 'ui/components/ToolButton'; import Fa from 'ui/components/Fa'; import Row from 'ui/components/Row'; import bind from 'ui/bind'; import cx from 'classnames'; import {actionDecorator} from '../actions/actionDecorators'; import Folder from 'ui/components/Folder'; import Stack from 'ui/components/Stack'; import {ReactApplicationContext} from "../dom/ReactApplicationContext"; import {useStream} from "ui/effects"; export default function Expressions() { const [activeTab, setActiveTab] = useState('Script'); const ctx = useContext(ReactApplicationContext); const synced = useStream(ctx => ctx.expressionService.synced$); const errors = useStream(ctx => ctx.expressionService.errors$); const reevaluateExpressions = ctx.expressionService.reevaluateExpressions; const tabBtn = (name, icon) => { // @ts-ignore return setActiveTab(name)} pressed={activeTab === name}>{icon} {name}; }; return
{tabBtn('Script', )} {tabBtn('Table', )} {errors.length > 0 && } {!synced && }
{activeTab === 'Script' &&