From 9797ada55a0dbe50fc6ea5c12ed5f95862db3132 Mon Sep 17 00:00:00 2001 From: Eric NGUYEN Date: Fri, 10 Feb 2023 17:07:26 +0100 Subject: [PATCH] Replace isComponentsOpen, isSymbolsOpen by SelectorMode in SVG.tsx --- src/Components/SVG/SVG.tsx | 32 +++++++++++++++++++++++++++----- src/Components/Viewer/Viewer.tsx | 12 +++++++++--- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/Components/SVG/SVG.tsx b/src/Components/SVG/SVG.tsx index 738a0da..8e79f93 100644 --- a/src/Components/SVG/SVG.tsx +++ b/src/Components/SVG/SVG.tsx @@ -21,9 +21,14 @@ interface ISVGProps { selectedContainer?: IContainerModel symbols: Map selectedSymbol?: ISymbolModel + selectorMode: SelectorMode selectContainer: (containerId: string) => void - isComponentsOpen: boolean - isSymbolsOpen: boolean +} + +export enum SelectorMode { + Nothing, + Containers, + Symbols } export const ID = 'svg'; @@ -62,6 +67,25 @@ export function SVG(props: ISVGProps): JSX.Element { selectContainer={props.selectContainer} />; + function Selector(): JSX.Element { + switch (props.selectorMode) { + case SelectorMode.Containers: + return ; + case SelectorMode.Symbols: + return ; + default: + return <>; + } + } + return (
- {/* leave this at the end so it can be removed during the svg export */} - { props.isComponentsOpen ? : null } - { props.isSymbolsOpen ? : null } +
diff --git a/src/Components/Viewer/Viewer.tsx b/src/Components/Viewer/Viewer.tsx index a0b342e..3c97354 100644 --- a/src/Components/Viewer/Viewer.tsx +++ b/src/Components/Viewer/Viewer.tsx @@ -8,7 +8,7 @@ import { BAR_WIDTH } from '../Bar/Bar'; import { Canvas } from '../Canvas/Canvas'; import { AddDimensions } from '../Canvas/DimensionLayer'; import { RenderSelector } from '../Canvas/Selector'; -import { SVG } from '../SVG/SVG'; +import { SelectorMode, SVG } from '../SVG/SVG'; import { RenderSymbol } from '../Canvas/Symbol'; import { useState } from 'react'; import { type ISymbolModel } from '../../Interfaces/ISymbolModel'; @@ -71,6 +71,13 @@ export function Viewer({ return <>; } + let selectorMode = SelectorMode.Nothing; + if (isComponentsOpen) { + selectorMode = SelectorMode.Containers; + } else if (isSymbolsOpen) { + selectorMode = SelectorMode.Symbols; + } + if (USE_EXPERIMENTAL_CANVAS_API) { function Draw(ctx: CanvasRenderingContext2D, frameCount: number, scale: number, translatePos: IPoint): void { if (mainContainer === undefined) { @@ -144,9 +151,8 @@ export function Viewer({ selectedContainer={selectedContainer} symbols={current.symbols} selectedSymbol={selectedSymbol} + selectorMode={selectorMode} selectContainer={selectContainer} - isComponentsOpen={isComponentsOpen} - isSymbolsOpen={isSymbolsOpen} > {mainContainer}