diff --git a/packages/shell/src/api/workspace.ts b/packages/shell/src/api/workspace.ts index d51f670e9..1a16d31ce 100644 --- a/packages/shell/src/api/workspace.ts +++ b/packages/shell/src/api/workspace.ts @@ -39,12 +39,19 @@ export class Workspace implements IPublicApiWorkspace { const { name: resourceName, type: resourceType } = d; const { description, + editorViews, } = d.resourceTypeModel({} as any, {}); return { resourceName, resourceType, description, + editorViews: editorViews.map(d => ( + { + viewName: d.viewName, + viewType: d.viewType || 'editor', + } + )), }; }); } diff --git a/packages/shell/src/model/editor-view.ts b/packages/shell/src/model/editor-view.ts index d70a109b1..92d1a5772 100644 --- a/packages/shell/src/model/editor-view.ts +++ b/packages/shell/src/model/editor-view.ts @@ -24,4 +24,12 @@ export class EditorView { }, }); } + + get viewName() { + return this[editorViewSymbol].viewName; + } + + get viewType() { + return this[editorViewSymbol].viewType; + } } diff --git a/packages/types/src/shell/model/editor-view.ts b/packages/types/src/shell/model/editor-view.ts index 793417845..d51e4f9ff 100644 --- a/packages/types/src/shell/model/editor-view.ts +++ b/packages/types/src/shell/model/editor-view.ts @@ -1,3 +1,7 @@ import { IPublicModelPluginContext } from './plugin-context'; -export interface IPublicModelEditorView extends IPublicModelPluginContext {} \ No newline at end of file +export interface IPublicModelEditorView extends IPublicModelPluginContext { + viewName: string; + + viewType: 'editor' | 'webview'; +} \ No newline at end of file diff --git a/packages/workspace/src/context/view-context.ts b/packages/workspace/src/context/view-context.ts index ff4c12eee..0542f83a9 100644 --- a/packages/workspace/src/context/view-context.ts +++ b/packages/workspace/src/context/view-context.ts @@ -10,6 +10,8 @@ export interface IViewContext extends IBasicContext { editorWindow: IEditorWindow; viewName: string; + + viewType: 'editor' | 'webview'; } export class Context extends BasicContext implements IViewContext {