import React, {useContext} from 'react'; import View3d from './View3d'; import ls from './AppTabs.less'; import TabSwitcher, {Tab} from 'ui/components/TabSwticher'; import Card from "ui/components/Card"; import {useStreamWithUpdater} from "ui/effects"; import {ReactApplicationContext} from "../ReactApplicationContext"; export default function AppTabs() { const [{tabs, activeTab}, updateTabs] = useStreamWithUpdater(ctx => ctx.appTabsService.tabs$); const ctx = useContext(ReactApplicationContext); const switchTo = index => updateTabs(({tabs}) => ({tabs, activeTab: index})); const close = index => updateTabs(({activeTab, tabs}) => { tabs.splice(index, 1); return { activeTab: (activeTab === index ? -1 : activeTab), tabs }; }); const detach = index => ctx.appTabsService.detach(index); return
{tabs.map(({id, url}, index) => )}
{tabs.map(({label, id}, index) => { const bind = func => e => { func(index); e.stopPropagation(); }; return })}
} export function FrameView({url}) { return