diff --git a/packages/base/src/3dview/mainview.tsx b/packages/base/src/3dview/mainview.tsx index c7c2e3ad..983f2732 100644 --- a/packages/base/src/3dview/mainview.tsx +++ b/packages/base/src/3dview/mainview.tsx @@ -120,7 +120,7 @@ export class MainView extends React.Component { window.addEventListener('jupytercadObjectSelection', (e: Event) => { const customEvent = e as CustomEvent; - if (customEvent.detail.mainViewModel === this._mainViewModel.id) { + if (customEvent.detail.mainViewModelId === this._mainViewModel.id) { this.lookAtPosition(customEvent.detail.objPosition); } }); diff --git a/packages/base/src/panelview/model.ts b/packages/base/src/panelview/model.ts index ce33753e..e343d2f4 100644 --- a/packages/base/src/panelview/model.ts +++ b/packages/base/src/panelview/model.ts @@ -4,6 +4,7 @@ import { ISignal } from '@lumino/signaling'; import { IJupyterCadTracker, IJupyterCadWidget } from '@jupytercad/schema'; import { IControlPanelModel } from '../types'; import { JupyterCadWidget } from '../widget'; +import { MainViewModel } from '../3dview/mainviewmodel'; export class ControlPanelModel implements IControlPanelModel { constructor(options: ControlPanelModel.IOptions) { @@ -27,9 +28,9 @@ export class ControlPanelModel implements IControlPanelModel { return this._tracker.currentWidget?.context.model.sharedModel; } - get mainViewModel(): string | undefined { + get mainViewModel(): MainViewModel | undefined { return (this._tracker.currentWidget as JupyterCadWidget | null)?.content - .currentViewModel.id; + .currentViewModel; } disconnect(f: any): void { diff --git a/packages/base/src/panelview/objecttree.tsx b/packages/base/src/panelview/objecttree.tsx index 3ef0cf20..e5ae215b 100644 --- a/packages/base/src/panelview/objecttree.tsx +++ b/packages/base/src/panelview/objecttree.tsx @@ -251,7 +251,7 @@ class ObjectTreeReact extends React.Component { detail: { objectId, objPosition, - mainViewModel: this.props.cpModel.mainViewModel + mainViewModelId: this.props.cpModel.mainViewModel?.id } }); window.dispatchEvent(event); diff --git a/packages/base/src/types.ts b/packages/base/src/types.ts index 5e5f5ed7..78dc511b 100644 --- a/packages/base/src/types.ts +++ b/packages/base/src/types.ts @@ -1,6 +1,7 @@ import { ISignal } from '@lumino/signaling'; import { IJupyterCadModel, IJupyterCadDoc, IDict } from '@jupytercad/schema'; import { IJupyterCadTracker, IJupyterCadWidget } from '@jupytercad/schema'; +import { MainViewModel } from './3dview/mainviewmodel'; export { IDict }; export type ValueOf = T[keyof T]; @@ -42,5 +43,5 @@ export interface IControlPanelModel { filePath: string | undefined; jcadModel: IJupyterCadModel | undefined; sharedModel: IJupyterCadDoc | undefined; - mainViewModel: string | undefined; + mainViewModel: MainViewModel | undefined; }