mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 08:25:19 +01:00
rename AppContext to ReactApplicationContext
This commit is contained in:
parent
4bb2abadab
commit
465c0c2c02
25 changed files with 54 additions and 63 deletions
|
|
@ -6,7 +6,7 @@ import {useStream} from "ui/effects";
|
|||
// @ts-ignore
|
||||
import bottleExample from "raw-loader!./bottleExample.txt";
|
||||
import {ApplicationContext} from "cad/context";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
|
||||
export const DebugMode$ = state(false);
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ export function Debugger() {
|
|||
|
||||
const debugMode: boolean = useStream(DebugMode$);
|
||||
const [codeText, setCodeText] = useState<string>(bottleExample);
|
||||
const context: ApplicationContext = useContext(AppContext);
|
||||
const context: ApplicationContext = useContext(ReactApplicationContext);
|
||||
|
||||
function evalCode() {
|
||||
eval(codeText);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import React, {useContext} from 'react';
|
||||
import {useStreamWithUpdater} from "./effects";
|
||||
import {AppContext} from "../../web/app/cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
|
||||
export default function bind(streamProvider) {
|
||||
return function (Component) {
|
||||
return function Connected (props) {
|
||||
|
||||
const context = useContext(AppContext);
|
||||
const context = useContext(ReactApplicationContext);
|
||||
const [value, updater] = useStreamWithUpdater(streamProvider(context, props));
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import React, {useContext} from 'react';
|
||||
import {AppContext} from "../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../dom/ReactApplicationContext";
|
||||
|
||||
export function ActionButtonBehavior({children, actionId}) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const request = {actionId, x: 0, y: 0};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, {useContext, useEffect} from 'react';
|
||||
import {useStream} from "ui/effects";
|
||||
import {Status} from "ui/components/Status";
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
|
||||
import cx from 'classnames';
|
||||
import {NoIcon} from "../../../sketcher/icons/NoIcon";
|
||||
import ls from "../../../sketcher/components/ConstraintExplorer.less";
|
||||
|
|
@ -14,7 +14,7 @@ import {AssemblyConstraintsSchemas} from "../assemblySchemas";
|
|||
|
||||
export function AssemblyView() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const constraints = useStream(ctx => ctx.assemblyService.constraints$);
|
||||
const status = useStream(ctx => ctx.assemblyService.status$);
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ export function AssemblyConstraintButton({prefix='', constraint: c, ...props}: {
|
|||
props?: React.HTMLAttributes<HTMLDivElement>
|
||||
}) {
|
||||
|
||||
const ctx: ApplicationContext = useContext(AppContext);
|
||||
const ctx: ApplicationContext = useContext(ReactApplicationContext);
|
||||
|
||||
const edit = (constraint) => {
|
||||
if (constraint.editable) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import React, {useContext} from 'react';
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
|
||||
import {useStream} from "ui/effects";
|
||||
import {Dialog} from "ui/components/Dialog";
|
||||
import {matchAvailableSubjects, MatchIndex, matchSelection} from "../../../sketcher/selectionMatcher";
|
||||
|
|
@ -8,7 +8,7 @@ import {AssemblyConstraintsSchemas} from "../assemblySchemas";
|
|||
|
||||
export function ModellerContextualActions() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const selection: string[] = useStream(ctx => ctx.streams.selection.all);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,11 @@
|
|||
import React, {useContext, useState} from "react";
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
|
||||
import {AssemblyProcess} from "../assemblySolver";
|
||||
import {useStream} from "ui/effects";
|
||||
import {MShell} from "../../model/mshell";
|
||||
import CSys from "math/csys";
|
||||
import {Matrix3x4} from "math/matrix";
|
||||
|
||||
export function StepByStepSimulation() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const [process, setProcess] = useState<AssemblyProcess>(null);
|
||||
const constraints = useStream(ctx => ctx.assemblyService.constraints$);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import Field from "ui/components/controls/Field";
|
|||
import Label from "ui/components/controls/Label";
|
||||
import {ColorControl} from "ui/components/controls/ColorControl";
|
||||
import CheckboxControl from "ui/components/controls/CheckboxControl";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {ModelAttributes} from "cad/attributes/attributesService";
|
||||
import {GenericWizard} from "ui/components/GenericWizard";
|
||||
import {View} from "cad/scene/views/view";
|
||||
|
|
@ -44,7 +44,7 @@ export interface DisplayOptionsViewProps {
|
|||
|
||||
export function DisplayOptionsView(props: DisplayOptionsViewProps) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const streamsAndPatchers: [ModelAttributes, any][] = [];
|
||||
|
||||
useEffect(()=>{
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, {useContext, useEffect} from 'react';
|
||||
import React, {useContext} from 'react';
|
||||
import {Dialog} from "ui/components/Dialog";
|
||||
import {NOOP} from "gems/func";
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
|
||||
import {readShellEntityFromJson} from "../../scene/wrappers/entityIO";
|
||||
import {DEFLECTION} from "../e0/common";
|
||||
import {MFace} from "../../model/mface";
|
||||
|
|
@ -9,7 +9,7 @@ import {MFace} from "../../model/mface";
|
|||
|
||||
export function DefeatureFaceWizard() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
|
||||
return <Dialog title='Defeaturing' onClose={NOOP}>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import React, {useContext} from 'react';
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {useStream} from "ui/effects";
|
||||
import {MSketchObject} from "cad/model/msketchObject";
|
||||
import {VisibleSwitch} from "cad/craft/ui/SceneInlineObjectExplorer";
|
||||
|
|
@ -24,7 +24,7 @@ export function ModelButtonBehavior({children, model, controlVisibility}: {
|
|||
controlVisibility?: boolean
|
||||
}) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
if (controlVisibility === undefined) {
|
||||
controlVisibility = !model.parent
|
||||
|
|
|
|||
|
|
@ -9,9 +9,8 @@ import mapContext from 'ui/mapContext';
|
|||
import {EMPTY_OBJECT} from 'gems/objects';
|
||||
import ButtonGroup from 'ui/components/controls/ButtonGroup';
|
||||
import Button from 'ui/components/controls/Button';
|
||||
import {removeAndDropDependants, removeFeature} from '../craftHistoryUtils';
|
||||
import RenderObject from 'ui/components/RenderObject';
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {removeFeature} from '../craftHistoryUtils';
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {resolveAppearance} from "cad/craft/operationHelper";
|
||||
|
||||
function SelectedModificationInfo({ history, index,
|
||||
|
|
@ -19,7 +18,7 @@ function SelectedModificationInfo({ history, index,
|
|||
locationHint: lh,
|
||||
drop, edit,
|
||||
close}) {
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import CadError from '../../../../utils/errors';
|
|||
import {FormEditContext, FormParamsContext, FormPathContext, FormStateContext} from './form/Form';
|
||||
import {GenericWizard} from "ui/components/GenericWizard";
|
||||
import {useStream} from "ui/effects";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {resolveAppearance} from "cad/craft/operationHelper";
|
||||
import ImgIcon from "ui/components/ImgIcon";
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ interface WizardProps {
|
|||
|
||||
export default function Wizard(props: WizardProps) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const state = useStream(ctx => ctx.wizardService.state$);
|
||||
const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import React, {useContext} from 'react';
|
||||
import Wizard from './Wizard';
|
||||
import {useStream} from "ui/effects";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {ErrorBoundary} from "ui/errorBoundary";
|
||||
|
||||
export default function WizardManager() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$);
|
||||
|
||||
if (!workingRequest) {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import Fa from 'ui/components/Fa';
|
|||
import {attachToForm} from './Form';
|
||||
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
||||
import {EMPTY_ARRAY, removeInPlace} from 'gems/iterables';
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import produce from "immer";
|
||||
import {FiEdit} from "react-icons/all";
|
||||
import {MFace} from "cad/model/mface";
|
||||
|
|
@ -16,7 +16,7 @@ import {SafeLength} from "cad/craft/ui/SafeLength";
|
|||
|
||||
function EntityList(props) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
let {name, label, active, setActive, value, placeholder, readOnly, entityRenderer} = props;
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ function EntityList(props) {
|
|||
}
|
||||
|
||||
function EditButton({model}) {
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
if (!(model instanceof MFace)) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ import Stack from 'ui/components/Stack';
|
|||
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
||||
import {ParamsPath, ParamsPathSegment, WizardState} from "cad/craft/wizard/wizardTypes";
|
||||
import {flattenPath, OperationParams, OperationParamValue} from "cad/craft/schema/schema";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
|
||||
interface FormEdit {
|
||||
onChange: any;
|
||||
|
|
|
|||
4
web/app/cad/dom/ReactApplicationContext.ts
Normal file
4
web/app/cad/dom/ReactApplicationContext.ts
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import React from "react";
|
||||
import {ApplicationContext} from "cad/context";
|
||||
|
||||
export const ReactApplicationContext: React.Context<ApplicationContext> = React.createContext(null);
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
import React from "react";
|
||||
import {ApplicationContext} from "cad/context";
|
||||
|
||||
export const AppContext: React.Context<ApplicationContext> = React.createContext(null);
|
||||
|
|
@ -7,12 +7,12 @@ import ls from './AppTabs.less';
|
|||
import TabSwitcher, {Tab} from 'ui/components/TabSwticher';
|
||||
import Card from "ui/components/Card";
|
||||
import {useStreamWithUpdater} from "ui/effects";
|
||||
import {AppContext} from "./AppContext";
|
||||
import {ReactApplicationContext} from "../ReactApplicationContext";
|
||||
|
||||
export default function AppTabs({}) {
|
||||
|
||||
const [{tabs, activeTab}, updateTabs] = useStreamWithUpdater(ctx => ctx.appTabsService.tabs$);
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const switchTo = index => updateTabs(({tabs}) => ({tabs, activeTab: index}));
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import React, {useContext, useEffect} from 'react';
|
||||
import ls from './CameraControl.less';
|
||||
import cameraControlRenderer from 'scene/cameraControlRenderer';
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
|
||||
export default function CameraControl() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const domRef = React.useRef(null);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, {useContext} from 'react';
|
||||
import {useStream, useStreamWithPatcher} from "ui/effects";
|
||||
import {SELECTABLE_ENTITIES} from "../../scene/entityContextBundle";
|
||||
import {AppContext} from "cad/dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import Field from "ui/components/controls/Field";
|
||||
import {InnerFolder} from "ui/components/Folder";
|
||||
import Label from "ui/components/controls/Label";
|
||||
|
|
@ -10,7 +10,6 @@ import Stack from "ui/components/Stack";
|
|||
import {ColorControl} from "ui/components/controls/ColorControl";
|
||||
|
||||
|
||||
|
||||
export function SelectionView() {
|
||||
|
||||
const selections = [];
|
||||
|
|
@ -48,7 +47,7 @@ interface SelectedModelViewProps {
|
|||
|
||||
function SelectedModelView(props: SelectedModelViewProps) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const model = ctx.cadRegistry.find(props.modelId);
|
||||
const [attrs, patchAttrs] = useStreamWithPatcher(ctx => ctx.attributesService.streams.get(props.modelId));
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,10 @@ import React, {useContext} from 'react';
|
|||
import MenuHolder from '../menu/MenuHolder';
|
||||
|
||||
import ActionInfo from '../actionInfo/ActionInfo';
|
||||
import {ContributedComponents} from './ContributedComponents';
|
||||
import {stream} from 'lstream';
|
||||
import {DocumentationWindow} from 'doc/DocumentationWindow';
|
||||
import {Scope} from "../../../sketcher/components/Scope";
|
||||
import {AppContext} from "./AppContext";
|
||||
import {ReactApplicationContext} from "../ReactApplicationContext";
|
||||
|
||||
|
||||
const onCloseAll = stream<void>();
|
||||
|
|
@ -15,7 +14,7 @@ export const UISystemContext = React.createContext(null);
|
|||
|
||||
export default function UISystem({children, ...props}) {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const uiCxt = {
|
||||
closeAllUpPopups: () => {
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@ import React from 'react';
|
|||
import 'ui/styles/global/index.less';
|
||||
import AppTabs from "./AppTabs";
|
||||
import {StreamsContext} from "ui/streamsContext";
|
||||
import {AppContext} from "./AppContext";
|
||||
import {ReactApplicationContext} from "../ReactApplicationContext";
|
||||
import {Debugger} from "debugger/Debugger";
|
||||
|
||||
export default function WebApplication(props) {
|
||||
const {appContext} = props;
|
||||
return <StreamsContext.Provider value={appContext}>
|
||||
<Debugger />
|
||||
<AppContext.Provider value={appContext}>
|
||||
<ReactApplicationContext.Provider value={appContext}>
|
||||
<AppTabs/>
|
||||
</AppContext.Provider>
|
||||
</ReactApplicationContext.Provider>
|
||||
</StreamsContext.Provider>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import cx from 'classnames';
|
|||
import {actionDecorator} from '../actions/actionDecorators';
|
||||
import Folder from 'ui/components/Folder';
|
||||
import Stack from 'ui/components/Stack';
|
||||
import {AppContext} from "../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../dom/ReactApplicationContext";
|
||||
import {useStream} from "ui/effects";
|
||||
|
||||
|
||||
|
|
@ -17,7 +17,7 @@ export default function Expressions() {
|
|||
|
||||
const [activeTab, setActiveTab] = useState('Script');
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const synced = useStream(ctx => ctx.expressionService.synced$);
|
||||
const errors = useStream(ctx => ctx.expressionService.errors$);
|
||||
const reevaluateExpressions = ctx.expressionService.reevaluateExpressions;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import React, {useCallback, useContext, useEffect} from 'react';
|
||||
import {useStreamWithUpdater} from "ui/effects";
|
||||
import {AppContext} from "../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../dom/ReactApplicationContext";
|
||||
import {GenericWizard} from "ui/components/GenericWizard";
|
||||
import Field from "ui/components/controls/Field";
|
||||
import {Group} from "../craft/wizard/components/form/Form";
|
||||
|
|
@ -8,13 +8,11 @@ import Label from "ui/components/controls/Label";
|
|||
import Folder from "ui/components/Folder";
|
||||
import {never} from "lstream";
|
||||
import NumberControl from "ui/components/controls/NumberControl";
|
||||
|
||||
import {LocationControl} from "./LocationControl";
|
||||
import {Matrix3x4} from "math/matrix";
|
||||
|
||||
export function LocationDialog() {
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const [req, setReq] = useStreamWithUpdater(ctx => ctx.locationService.editLocationRequest$);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, {useContext, useState} from 'react';
|
||||
import React, {useContext} from 'react';
|
||||
import {useStreamWithUpdater} from "ui/effects";
|
||||
import {PartCatalog} from "./PartCatalog";
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
|
||||
import {Dialog} from "ui/components/Dialog";
|
||||
import {useDataLoader} from "ui/useDataLoader";
|
||||
import {WhenDataReady} from "ui/components/WhenDataReady";
|
||||
|
|
@ -11,7 +11,7 @@ import theme from "ui/styles/theme";
|
|||
export function CatalogPartChooser() {
|
||||
|
||||
const [req, setReq] = useStreamWithUpdater(ctx => ctx.remotePartsService.choosePartRequest$);
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
const loader = useDataLoader('parts', () => ctx.remotePartsService.loadDefinedCatalogs());
|
||||
|
||||
if (!req) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, {useContext, useEffect} from 'react';
|
||||
import {attachToForm, formField} from "../../craft/wizard/components/form/Form";
|
||||
import InputControl from "ui/components/controls/InputControl";
|
||||
import {AppContext} from "../../dom/components/AppContext";
|
||||
import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
|
||||
|
||||
export function PartRefControl(props) {
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ export function PartRefControl(props) {
|
|||
|
||||
}, []);
|
||||
|
||||
const ctx = useContext(AppContext);
|
||||
const ctx = useContext(ReactApplicationContext);
|
||||
|
||||
const openChooser = e => {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue