From 52f3e2913f7ca4e03605f32d35f1c7462da336c4 Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Thu, 20 Jul 2023 18:01:48 +0100 Subject: [PATCH] experiments(dui3): minor changes --- .../lib/bindings/definitions/baseBindings.ts | 27 +++++++------------ packages/dui3/plugins/00.bindings.ts | 14 ++++++---- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/packages/dui3/lib/bindings/definitions/baseBindings.ts b/packages/dui3/lib/bindings/definitions/baseBindings.ts index ce742a45a..18e033c4c 100644 --- a/packages/dui3/lib/bindings/definitions/baseBindings.ts +++ b/packages/dui3/lib/bindings/definitions/baseBindings.ts @@ -2,30 +2,23 @@ import { BaseBridge } from '~~/lib/bridge/base' +export interface Event { + on: (event: E, callback: T[E]) => void + showDevTools: () => Promise +} + +export const IBasicConnectorBindingKey = 'baseBinding' + // Needs to be agreed between Frontend and Core -export interface IBaseBinding { +export interface IBasicConnectorBinding + extends Event { getAccounts: () => Promise getSourceApplicationName: () => Promise getSourceApplicationVersion: () => Promise getDocumentInfo: () => Promise - - /** - * Subscribe to messages from the host application. - * @param event - * @param callback - */ - on: ( - event: E, - callback: IBaseBindingHostEvents[E] - ) => void - /** - * Note: this method does not need to be implemented in the .NET host application base bindings, - * it is served by the DUI3 bridge. - */ - showDevTools: () => Promise } -export interface IBaseBindingHostEvents { +export interface IBasicConnectorBindingHostEvents { displayToastNotification: (args: ToastInfo) => void documentChanged: () => void } diff --git a/packages/dui3/plugins/00.bindings.ts b/packages/dui3/plugins/00.bindings.ts index e0c89d562..f3195b315 100644 --- a/packages/dui3/plugins/00.bindings.ts +++ b/packages/dui3/plugins/00.bindings.ts @@ -1,11 +1,14 @@ -import { GenericBridge } from '~/lib/bridge/generic' import { IRawBridge } from '~/lib/bridge/definitions' +import { GenericBridge } from '~/lib/bridge/generic' +import { SketchupBridge } from '~/lib/bridge/sketchup' + import { - IBaseBinding, + IBasicConnectorBinding, + IBasicConnectorBindingKey, MockedBaseBinding } from '~/lib/bindings/definitions/baseBindings' -import { SketchupBridge } from '~/lib/bridge/sketchup' + import { ITestBinding, ITestBindingKey, @@ -30,11 +33,12 @@ export default defineNuxtPlugin(async () => { (await tryHoistBinding(ITestBindingKey)) || new MockedTestBinding() // Tries to register some non-existant bindings. - const nonExistantBindings = await tryHoistBinding('nonExistantBindings') + const nonExistantBindings = await tryHoistBinding('nonExistantBindings') // Registers a set of default bindings. const baseBinding = - (await tryHoistBinding('baseBinding')) || new MockedBaseBinding() + (await tryHoistBinding(IBasicConnectorBindingKey)) || + new MockedBaseBinding() const showDevTools = () => { baseBinding.showDevTools()