import React, {useContext} from 'react'; import ls from './ContextualControls.less'; import {matchAvailableActions} from "../actions"; import {useStream} from "../../../../modules/ui/effects"; import {SketcherAppContext} from "./SketcherApp"; import {MatchIndex, matchSelection} from "../selectionMatcher"; import {ConstraintButton} from "./ConstraintExplorer"; export function ContextualControls() { const selection = useStream(ctx => ctx.viewer.streams.selection); const ___ = useStream(ctx => ctx.viewer.parametricManager.$constraints); const ctx = useContext(SketcherAppContext); if (selection.length === 0) { return null; } const obj = selection.length === 1 ? selection[0] : null; const availableActions = matchAvailableActions(selection); const nonInternalConstraints = obj && Array.from(obj.constraints).filter(c => !c.internal); return
{ selection.map(s =>
{s.simpleClassName}: {s.id}
) }
AVAILABLE ACTIONS:
{ availableActions.map(a => ) }
{ nonInternalConstraints && nonInternalConstraints.length !== 0 && <>
PARTICIPATES IN CONSTRAINTS:
{nonInternalConstraints.map(c => )} }
; } function debugEgg(obj) { return e => { obj.visitParams(p => console.log(p.toString())); } }