mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 08:25:19 +01:00
69 lines
No EOL
2.5 KiB
JavaScript
69 lines
No EOL
2.5 KiB
JavaScript
import React from 'react';
|
|
import ReactDOM from 'react-dom';
|
|
import {ConstraintEditor} from './ConstraintEditor';
|
|
import {ContextualControls} from './ContextualControls';
|
|
import {ConstraintList} from './ConstraintExplorer';
|
|
import {StreamsContext} from 'ui/streamsContext';
|
|
import {ToastContainer} from "react-toastify";
|
|
import 'react-toastify/dist/ReactToastify.css';
|
|
import SketcherOperationWizard from "./SketcherOperationWizard";
|
|
import {Scope} from "./Scope";
|
|
import {SketcherToolbar} from "./SketcherToolbar";
|
|
import {sketcherRightToolbarConfig, sketcherTopToolbarConfig} from "../uiConfig";
|
|
import {SketchManager} from "./SketchManager";
|
|
import {ExportDialog} from "./ExportDialog";
|
|
import {SketcherPropertiesView} from "./SketcherPropertiesView";
|
|
import {SketcherDimensionView} from "./SketcherDimensionsView";
|
|
import {SketcherTerminal} from "./TerminalView";
|
|
|
|
import {SketcherAppContext} from './SketcherAppContext';
|
|
|
|
export {SketcherAppContext};
|
|
|
|
export function SketcherApp({applicationContext}) {
|
|
return <SketcherAppContext.Provider value={applicationContext}>
|
|
<StreamsContext.Provider value={applicationContext}>
|
|
<Scope><ToastContainer /></Scope>
|
|
<Scope><RightSideControls /></Scope>
|
|
{ReactDOM.createPortal(
|
|
<Scope><ConstraintList /></Scope>,
|
|
document.getElementById('constraint-list')
|
|
)}
|
|
{ReactDOM.createPortal(
|
|
<Scope><SketcherPropertiesView /></Scope>,
|
|
document.getElementById('properties-view')
|
|
)}
|
|
{ReactDOM.createPortal(
|
|
<Scope><SketcherDimensionView /></Scope>,
|
|
document.getElementById('dimension-view')
|
|
)}
|
|
{ReactDOM.createPortal(
|
|
<Scope><SketcherToolbar actions={sketcherRightToolbarConfig}/></Scope>,
|
|
document.getElementById('right-toolbar')
|
|
)}
|
|
{ReactDOM.createPortal(
|
|
<Scope><SketcherToolbar actions={sketcherTopToolbarConfig} horizontal compact/></Scope>,
|
|
document.getElementById('top-toolbar')
|
|
)}
|
|
{ReactDOM.createPortal(
|
|
<React.Fragment>
|
|
<Scope><SketchManager /></Scope>
|
|
<Scope><ExportDialog /></Scope>
|
|
<Scope><SketcherTerminal /></Scope>
|
|
</React.Fragment>,
|
|
document.getElementById('global-windows')
|
|
)}
|
|
|
|
|
|
</StreamsContext.Provider>
|
|
</SketcherAppContext.Provider>;
|
|
|
|
}
|
|
|
|
function RightSideControls() {
|
|
return <React.Fragment>
|
|
<Scope><ContextualControls /></Scope>
|
|
<Scope><ConstraintEditor /></Scope>
|
|
<Scope><SketcherOperationWizard /></Scope>
|
|
</React.Fragment>
|
|
} |