From c6428256221c55b273bd3577770afb4e13dfab83 Mon Sep 17 00:00:00 2001 From: Henning Dieterichs Date: Fri, 2 Aug 2019 12:43:22 +0200 Subject: [PATCH] Fixes bugs. --- extension/.vscodeignore | 12 ++---------- extension/src/WebViews.ts | 29 +++++++++++++---------------- extension/ui/src/Model.ts | 22 +++++++++++++++++++++- 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/extension/.vscodeignore b/extension/.vscodeignore index ed3f9d3..c7061af 100644 --- a/extension/.vscodeignore +++ b/extension/.vscodeignore @@ -1,10 +1,2 @@ -.vscode/** -.vscode-test/** -out/test/** -src/** -.gitignore -vsc-extension-quickstart.md -**/tsconfig.json -**/tslint.json -**/*.map -**/*.ts \ No newline at end of file +node_modules +ui/node_modules \ No newline at end of file diff --git a/extension/src/WebViews.ts b/extension/src/WebViews.ts index ada7fb7..db4c60f 100644 --- a/extension/src/WebViews.ts +++ b/extension/src/WebViews.ts @@ -73,6 +73,19 @@ export function getHtml(server: Server) { ${ isDev @@ -83,22 +96,6 @@ export function getHtml(server: Server) { server.mainBundle }">` } - `; diff --git a/extension/ui/src/Model.ts b/extension/ui/src/Model.ts index ae53e1c..95a0b6b 100644 --- a/extension/ui/src/Model.ts +++ b/extension/ui/src/Model.ts @@ -10,8 +10,14 @@ import { DataExtractorId } from "@hediet/debug-visualizer-data-extraction"; import { Visualization, VisualizationId } from "./Visualizers/Visualizer"; import { knownVisualizations } from "./Visualizers"; +interface VsCodeApi { + getState(): TState | undefined; + setState(state: unknown): void; +} + declare const window: Window & { serverPort?: number; + VsCodeApi?: VsCodeApi; }; interface VSCodeApi { @@ -61,6 +67,18 @@ class IFrameVSCodeApi implements VSCodeApi { } } +class DirectVSCodeApi implements VSCodeApi { + constructor(private readonly vsCodeApi: VsCodeApi) {} + + async getState(): Promise { + return this.vsCodeApi.getState(); + } + + async setState(state: TState): Promise { + this.vsCodeApi.setState(state); + } +} + export class Model { port: number; @@ -99,7 +117,9 @@ export class Model { | typeof debugVisualizerUIContract.TServerInterface | undefined = undefined; - private readonly vsCodeApi = new IFrameVSCodeApi<{ expression: string }>(); + private readonly vsCodeApi = window.VsCodeApi + ? new DirectVSCodeApi<{ expression: string }>(window.VsCodeApi) + : new IFrameVSCodeApi<{ expression: string }>(); @observable private _loading = false;