rename AppContext to ReactApplicationContext

This commit is contained in:
Val Erastov 2022-08-14 21:04:34 -07:00
parent 4bb2abadab
commit 465c0c2c02
25 changed files with 54 additions and 63 deletions

View file

@ -6,7 +6,7 @@ import {useStream} from "ui/effects";
// @ts-ignore // @ts-ignore
import bottleExample from "raw-loader!./bottleExample.txt"; import bottleExample from "raw-loader!./bottleExample.txt";
import {ApplicationContext} from "cad/context"; import {ApplicationContext} from "cad/context";
import {AppContext} from "cad/dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
export const DebugMode$ = state(false); export const DebugMode$ = state(false);
@ -14,7 +14,7 @@ export function Debugger() {
const debugMode: boolean = useStream(DebugMode$); const debugMode: boolean = useStream(DebugMode$);
const [codeText, setCodeText] = useState<string>(bottleExample); const [codeText, setCodeText] = useState<string>(bottleExample);
const context: ApplicationContext = useContext(AppContext); const context: ApplicationContext = useContext(ReactApplicationContext);
function evalCode() { function evalCode() {
eval(codeText); eval(codeText);

View file

@ -1,12 +1,12 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import {useStreamWithUpdater} from "./effects"; import {useStreamWithUpdater} from "./effects";
import {AppContext} from "../../web/app/cad/dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
export default function bind(streamProvider) { export default function bind(streamProvider) {
return function (Component) { return function (Component) {
return function Connected (props) { return function Connected (props) {
const context = useContext(AppContext); const context = useContext(ReactApplicationContext);
const [value, updater] = useStreamWithUpdater(streamProvider(context, props)); const [value, updater] = useStreamWithUpdater(streamProvider(context, props));

View file

@ -1,9 +1,9 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import {AppContext} from "../dom/components/AppContext"; import {ReactApplicationContext} from "../dom/ReactApplicationContext";
export function ActionButtonBehavior({children, actionId}) { export function ActionButtonBehavior({children, actionId}) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const request = {actionId, x: 0, y: 0}; const request = {actionId, x: 0, y: 0};

View file

@ -1,7 +1,7 @@
import React, {useContext, useEffect} from 'react'; import React, {useContext, useEffect} from 'react';
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
import {Status} from "ui/components/Status"; import {Status} from "ui/components/Status";
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
import cx from 'classnames'; import cx from 'classnames';
import {NoIcon} from "../../../sketcher/icons/NoIcon"; import {NoIcon} from "../../../sketcher/icons/NoIcon";
import ls from "../../../sketcher/components/ConstraintExplorer.less"; import ls from "../../../sketcher/components/ConstraintExplorer.less";
@ -14,7 +14,7 @@ import {AssemblyConstraintsSchemas} from "../assemblySchemas";
export function AssemblyView() { export function AssemblyView() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const constraints = useStream(ctx => ctx.assemblyService.constraints$); const constraints = useStream(ctx => ctx.assemblyService.constraints$);
const status = useStream(ctx => ctx.assemblyService.status$); const status = useStream(ctx => ctx.assemblyService.status$);
@ -35,7 +35,7 @@ export function AssemblyConstraintButton({prefix='', constraint: c, ...props}: {
props?: React.HTMLAttributes<HTMLDivElement> props?: React.HTMLAttributes<HTMLDivElement>
}) { }) {
const ctx: ApplicationContext = useContext(AppContext); const ctx: ApplicationContext = useContext(ReactApplicationContext);
const edit = (constraint) => { const edit = (constraint) => {
if (constraint.editable) { if (constraint.editable) {

View file

@ -1,5 +1,5 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
import {Dialog} from "ui/components/Dialog"; import {Dialog} from "ui/components/Dialog";
import {matchAvailableSubjects, MatchIndex, matchSelection} from "../../../sketcher/selectionMatcher"; import {matchAvailableSubjects, MatchIndex, matchSelection} from "../../../sketcher/selectionMatcher";
@ -8,7 +8,7 @@ import {AssemblyConstraintsSchemas} from "../assemblySchemas";
export function ModellerContextualActions() { export function ModellerContextualActions() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const selection: string[] = useStream(ctx => ctx.streams.selection.all); const selection: string[] = useStream(ctx => ctx.streams.selection.all);

View file

@ -1,14 +1,11 @@
import React, {useContext, useState} from "react"; import React, {useContext, useState} from "react";
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
import {AssemblyProcess} from "../assemblySolver"; import {AssemblyProcess} from "../assemblySolver";
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
import {MShell} from "../../model/mshell";
import CSys from "math/csys";
import {Matrix3x4} from "math/matrix";
export function StepByStepSimulation() { export function StepByStepSimulation() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const [process, setProcess] = useState<AssemblyProcess>(null); const [process, setProcess] = useState<AssemblyProcess>(null);
const constraints = useStream(ctx => ctx.assemblyService.constraints$); const constraints = useStream(ctx => ctx.assemblyService.constraints$);

View file

@ -5,7 +5,7 @@ import Field from "ui/components/controls/Field";
import Label from "ui/components/controls/Label"; import Label from "ui/components/controls/Label";
import {ColorControl} from "ui/components/controls/ColorControl"; import {ColorControl} from "ui/components/controls/ColorControl";
import CheckboxControl from "ui/components/controls/CheckboxControl"; 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 {ModelAttributes} from "cad/attributes/attributesService";
import {GenericWizard} from "ui/components/GenericWizard"; import {GenericWizard} from "ui/components/GenericWizard";
import {View} from "cad/scene/views/view"; import {View} from "cad/scene/views/view";
@ -44,7 +44,7 @@ export interface DisplayOptionsViewProps {
export function DisplayOptionsView(props: DisplayOptionsViewProps) { export function DisplayOptionsView(props: DisplayOptionsViewProps) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const streamsAndPatchers: [ModelAttributes, any][] = []; const streamsAndPatchers: [ModelAttributes, any][] = [];
useEffect(()=>{ useEffect(()=>{

View file

@ -1,7 +1,7 @@
import React, {useContext, useEffect} from 'react'; import React, {useContext} from 'react';
import {Dialog} from "ui/components/Dialog"; import {Dialog} from "ui/components/Dialog";
import {NOOP} from "gems/func"; import {NOOP} from "gems/func";
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
import {readShellEntityFromJson} from "../../scene/wrappers/entityIO"; import {readShellEntityFromJson} from "../../scene/wrappers/entityIO";
import {DEFLECTION} from "../e0/common"; import {DEFLECTION} from "../e0/common";
import {MFace} from "../../model/mface"; import {MFace} from "../../model/mface";
@ -9,7 +9,7 @@ import {MFace} from "../../model/mface";
export function DefeatureFaceWizard() { export function DefeatureFaceWizard() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
return <Dialog title='Defeaturing' onClose={NOOP}> return <Dialog title='Defeaturing' onClose={NOOP}>

View file

@ -1,5 +1,5 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import {AppContext} from "cad/dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
import {MSketchObject} from "cad/model/msketchObject"; import {MSketchObject} from "cad/model/msketchObject";
import {VisibleSwitch} from "cad/craft/ui/SceneInlineObjectExplorer"; import {VisibleSwitch} from "cad/craft/ui/SceneInlineObjectExplorer";
@ -24,7 +24,7 @@ export function ModelButtonBehavior({children, model, controlVisibility}: {
controlVisibility?: boolean controlVisibility?: boolean
}) { }) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
if (controlVisibility === undefined) { if (controlVisibility === undefined) {
controlVisibility = !model.parent controlVisibility = !model.parent

View file

@ -9,9 +9,8 @@ import mapContext from 'ui/mapContext';
import {EMPTY_OBJECT} from 'gems/objects'; import {EMPTY_OBJECT} from 'gems/objects';
import ButtonGroup from 'ui/components/controls/ButtonGroup'; import ButtonGroup from 'ui/components/controls/ButtonGroup';
import Button from 'ui/components/controls/Button'; import Button from 'ui/components/controls/Button';
import {removeAndDropDependants, removeFeature} from '../craftHistoryUtils'; import {removeFeature} from '../craftHistoryUtils';
import RenderObject from 'ui/components/RenderObject'; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
import {AppContext} from "cad/dom/components/AppContext";
import {resolveAppearance} from "cad/craft/operationHelper"; import {resolveAppearance} from "cad/craft/operationHelper";
function SelectedModificationInfo({ history, index, function SelectedModificationInfo({ history, index,
@ -19,7 +18,7 @@ function SelectedModificationInfo({ history, index,
locationHint: lh, locationHint: lh,
drop, edit, drop, edit,
close}) { close}) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
useEffect(() => { useEffect(() => {

View file

@ -5,7 +5,7 @@ import CadError from '../../../../utils/errors';
import {FormEditContext, FormParamsContext, FormPathContext, FormStateContext} from './form/Form'; import {FormEditContext, FormParamsContext, FormPathContext, FormStateContext} from './form/Form';
import {GenericWizard} from "ui/components/GenericWizard"; import {GenericWizard} from "ui/components/GenericWizard";
import {useStream} from "ui/effects"; 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 {resolveAppearance} from "cad/craft/operationHelper";
import ImgIcon from "ui/components/ImgIcon"; import ImgIcon from "ui/components/ImgIcon";
@ -21,7 +21,7 @@ interface WizardProps {
export default function Wizard(props: WizardProps) { export default function Wizard(props: WizardProps) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const state = useStream(ctx => ctx.wizardService.state$); const state = useStream(ctx => ctx.wizardService.state$);
const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$); const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$);

View file

@ -1,12 +1,12 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import Wizard from './Wizard'; import Wizard from './Wizard';
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
import {AppContext} from "cad/dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
import {ErrorBoundary} from "ui/errorBoundary"; import {ErrorBoundary} from "ui/errorBoundary";
export default function WizardManager() { export default function WizardManager() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$); const workingRequest = useStream(ctx => ctx.wizardService.workingRequest$);
if (!workingRequest) { if (!workingRequest) {

View file

@ -6,7 +6,7 @@ import Fa from 'ui/components/Fa';
import {attachToForm} from './Form'; import {attachToForm} from './Form';
import {camelCaseSplitToStr} from 'gems/camelCaseSplit'; import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
import {EMPTY_ARRAY, removeInPlace} from 'gems/iterables'; 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 produce from "immer";
import {FiEdit} from "react-icons/all"; import {FiEdit} from "react-icons/all";
import {MFace} from "cad/model/mface"; import {MFace} from "cad/model/mface";
@ -16,7 +16,7 @@ import {SafeLength} from "cad/craft/ui/SafeLength";
function EntityList(props) { function EntityList(props) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
let {name, label, active, setActive, value, placeholder, readOnly, entityRenderer} = props; let {name, label, active, setActive, value, placeholder, readOnly, entityRenderer} = props;
@ -61,7 +61,7 @@ function EntityList(props) {
} }
function EditButton({model}) { function EditButton({model}) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
if (!(model instanceof MFace)) { if (!(model instanceof MFace)) {
return null; return null;

View file

@ -5,7 +5,6 @@ import Stack from 'ui/components/Stack';
import {camelCaseSplitToStr} from 'gems/camelCaseSplit'; import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
import {ParamsPath, ParamsPathSegment, WizardState} from "cad/craft/wizard/wizardTypes"; import {ParamsPath, ParamsPathSegment, WizardState} from "cad/craft/wizard/wizardTypes";
import {flattenPath, OperationParams, OperationParamValue} from "cad/craft/schema/schema"; import {flattenPath, OperationParams, OperationParamValue} from "cad/craft/schema/schema";
import {AppContext} from "cad/dom/components/AppContext";
interface FormEdit { interface FormEdit {
onChange: any; onChange: any;

View file

@ -0,0 +1,4 @@
import React from "react";
import {ApplicationContext} from "cad/context";
export const ReactApplicationContext: React.Context<ApplicationContext> = React.createContext(null);

View file

@ -1,4 +0,0 @@
import React from "react";
import {ApplicationContext} from "cad/context";
export const AppContext: React.Context<ApplicationContext> = React.createContext(null);

View file

@ -7,12 +7,12 @@ import ls from './AppTabs.less';
import TabSwitcher, {Tab} from 'ui/components/TabSwticher'; import TabSwitcher, {Tab} from 'ui/components/TabSwticher';
import Card from "ui/components/Card"; import Card from "ui/components/Card";
import {useStreamWithUpdater} from "ui/effects"; import {useStreamWithUpdater} from "ui/effects";
import {AppContext} from "./AppContext"; import {ReactApplicationContext} from "../ReactApplicationContext";
export default function AppTabs({}) { export default function AppTabs({}) {
const [{tabs, activeTab}, updateTabs] = useStreamWithUpdater(ctx => ctx.appTabsService.tabs$); 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})); const switchTo = index => updateTabs(({tabs}) => ({tabs, activeTab: index}));

View file

@ -1,11 +1,11 @@
import React, {useContext, useEffect} from 'react'; import React, {useContext, useEffect} from 'react';
import ls from './CameraControl.less'; import ls from './CameraControl.less';
import cameraControlRenderer from 'scene/cameraControlRenderer'; import cameraControlRenderer from 'scene/cameraControlRenderer';
import {AppContext} from "cad/dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
export default function CameraControl() { export default function CameraControl() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const domRef = React.useRef(null); const domRef = React.useRef(null);

View file

@ -1,7 +1,7 @@
import React, {useContext} from 'react'; import React, {useContext} from 'react';
import {useStream, useStreamWithPatcher} from "ui/effects"; import {useStream, useStreamWithPatcher} from "ui/effects";
import {SELECTABLE_ENTITIES} from "../../scene/entityContextBundle"; 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 Field from "ui/components/controls/Field";
import {InnerFolder} from "ui/components/Folder"; import {InnerFolder} from "ui/components/Folder";
import Label from "ui/components/controls/Label"; import Label from "ui/components/controls/Label";
@ -10,7 +10,6 @@ import Stack from "ui/components/Stack";
import {ColorControl} from "ui/components/controls/ColorControl"; import {ColorControl} from "ui/components/controls/ColorControl";
export function SelectionView() { export function SelectionView() {
const selections = []; const selections = [];
@ -48,7 +47,7 @@ interface SelectedModelViewProps {
function SelectedModelView(props: SelectedModelViewProps) { function SelectedModelView(props: SelectedModelViewProps) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const model = ctx.cadRegistry.find(props.modelId); const model = ctx.cadRegistry.find(props.modelId);
const [attrs, patchAttrs] = useStreamWithPatcher(ctx => ctx.attributesService.streams.get(props.modelId)); const [attrs, patchAttrs] = useStreamWithPatcher(ctx => ctx.attributesService.streams.get(props.modelId));

View file

@ -2,11 +2,10 @@ import React, {useContext} from 'react';
import MenuHolder from '../menu/MenuHolder'; import MenuHolder from '../menu/MenuHolder';
import ActionInfo from '../actionInfo/ActionInfo'; import ActionInfo from '../actionInfo/ActionInfo';
import {ContributedComponents} from './ContributedComponents';
import {stream} from 'lstream'; import {stream} from 'lstream';
import {DocumentationWindow} from 'doc/DocumentationWindow'; import {DocumentationWindow} from 'doc/DocumentationWindow';
import {Scope} from "../../../sketcher/components/Scope"; import {Scope} from "../../../sketcher/components/Scope";
import {AppContext} from "./AppContext"; import {ReactApplicationContext} from "../ReactApplicationContext";
const onCloseAll = stream<void>(); const onCloseAll = stream<void>();
@ -15,7 +14,7 @@ export const UISystemContext = React.createContext(null);
export default function UISystem({children, ...props}) { export default function UISystem({children, ...props}) {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const uiCxt = { const uiCxt = {
closeAllUpPopups: () => { closeAllUpPopups: () => {

View file

@ -3,15 +3,15 @@ import React from 'react';
import 'ui/styles/global/index.less'; import 'ui/styles/global/index.less';
import AppTabs from "./AppTabs"; import AppTabs from "./AppTabs";
import {StreamsContext} from "ui/streamsContext"; import {StreamsContext} from "ui/streamsContext";
import {AppContext} from "./AppContext"; import {ReactApplicationContext} from "../ReactApplicationContext";
import {Debugger} from "debugger/Debugger"; import {Debugger} from "debugger/Debugger";
export default function WebApplication(props) { export default function WebApplication(props) {
const {appContext} = props; const {appContext} = props;
return <StreamsContext.Provider value={appContext}> return <StreamsContext.Provider value={appContext}>
<Debugger /> <Debugger />
<AppContext.Provider value={appContext}> <ReactApplicationContext.Provider value={appContext}>
<AppTabs/> <AppTabs/>
</AppContext.Provider> </ReactApplicationContext.Provider>
</StreamsContext.Provider> </StreamsContext.Provider>
} }

View file

@ -9,7 +9,7 @@ import cx from 'classnames';
import {actionDecorator} from '../actions/actionDecorators'; import {actionDecorator} from '../actions/actionDecorators';
import Folder from 'ui/components/Folder'; import Folder from 'ui/components/Folder';
import Stack from 'ui/components/Stack'; import Stack from 'ui/components/Stack';
import {AppContext} from "../dom/components/AppContext"; import {ReactApplicationContext} from "../dom/ReactApplicationContext";
import {useStream} from "ui/effects"; import {useStream} from "ui/effects";
@ -17,7 +17,7 @@ export default function Expressions() {
const [activeTab, setActiveTab] = useState('Script'); const [activeTab, setActiveTab] = useState('Script');
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const synced = useStream(ctx => ctx.expressionService.synced$); const synced = useStream(ctx => ctx.expressionService.synced$);
const errors = useStream(ctx => ctx.expressionService.errors$); const errors = useStream(ctx => ctx.expressionService.errors$);
const reevaluateExpressions = ctx.expressionService.reevaluateExpressions; const reevaluateExpressions = ctx.expressionService.reevaluateExpressions;

View file

@ -1,6 +1,6 @@
import React, {useCallback, useContext, useEffect} from 'react'; import React, {useCallback, useContext, useEffect} from 'react';
import {useStreamWithUpdater} from "ui/effects"; import {useStreamWithUpdater} from "ui/effects";
import {AppContext} from "../dom/components/AppContext"; import {ReactApplicationContext} from "../dom/ReactApplicationContext";
import {GenericWizard} from "ui/components/GenericWizard"; import {GenericWizard} from "ui/components/GenericWizard";
import Field from "ui/components/controls/Field"; import Field from "ui/components/controls/Field";
import {Group} from "../craft/wizard/components/form/Form"; 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 Folder from "ui/components/Folder";
import {never} from "lstream"; import {never} from "lstream";
import NumberControl from "ui/components/controls/NumberControl"; import NumberControl from "ui/components/controls/NumberControl";
import {LocationControl} from "./LocationControl";
import {Matrix3x4} from "math/matrix"; import {Matrix3x4} from "math/matrix";
export function LocationDialog() { export function LocationDialog() {
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const [req, setReq] = useStreamWithUpdater(ctx => ctx.locationService.editLocationRequest$); const [req, setReq] = useStreamWithUpdater(ctx => ctx.locationService.editLocationRequest$);

View file

@ -1,7 +1,7 @@
import React, {useContext, useState} from 'react'; import React, {useContext} from 'react';
import {useStreamWithUpdater} from "ui/effects"; import {useStreamWithUpdater} from "ui/effects";
import {PartCatalog} from "./PartCatalog"; import {PartCatalog} from "./PartCatalog";
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "cad/dom/ReactApplicationContext";
import {Dialog} from "ui/components/Dialog"; import {Dialog} from "ui/components/Dialog";
import {useDataLoader} from "ui/useDataLoader"; import {useDataLoader} from "ui/useDataLoader";
import {WhenDataReady} from "ui/components/WhenDataReady"; import {WhenDataReady} from "ui/components/WhenDataReady";
@ -11,7 +11,7 @@ import theme from "ui/styles/theme";
export function CatalogPartChooser() { export function CatalogPartChooser() {
const [req, setReq] = useStreamWithUpdater(ctx => ctx.remotePartsService.choosePartRequest$); const [req, setReq] = useStreamWithUpdater(ctx => ctx.remotePartsService.choosePartRequest$);
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const loader = useDataLoader('parts', () => ctx.remotePartsService.loadDefinedCatalogs()); const loader = useDataLoader('parts', () => ctx.remotePartsService.loadDefinedCatalogs());
if (!req) { if (!req) {

View file

@ -1,7 +1,7 @@
import React, {useContext, useEffect} from 'react'; import React, {useContext, useEffect} from 'react';
import {attachToForm, formField} from "../../craft/wizard/components/form/Form"; import {attachToForm, formField} from "../../craft/wizard/components/form/Form";
import InputControl from "ui/components/controls/InputControl"; import InputControl from "ui/components/controls/InputControl";
import {AppContext} from "../../dom/components/AppContext"; import {ReactApplicationContext} from "../../dom/ReactApplicationContext";
export function PartRefControl(props) { export function PartRefControl(props) {
@ -14,7 +14,7 @@ export function PartRefControl(props) {
}, []); }, []);
const ctx = useContext(AppContext); const ctx = useContext(ReactApplicationContext);
const openChooser = e => { const openChooser = e => {