From 77aad568bce4e66dffc90445c1bcad095c62eee1 Mon Sep 17 00:00:00 2001 From: Dimitrie Stefanescu Date: Fri, 14 Jul 2023 11:28:17 +0100 Subject: [PATCH] experiments(dui3): added test bindings --- .../lib/bindings/definitions/baseBindings.ts | 29 +------------------ .../lib/bindings/definitions/testBindings.ts | 25 ++++++++++++++++ packages/dui3/plugins/00.bindings.ts | 21 +++++--------- 3 files changed, 33 insertions(+), 42 deletions(-) create mode 100644 packages/dui3/lib/bindings/definitions/testBindings.ts diff --git a/packages/dui3/lib/bindings/definitions/baseBindings.ts b/packages/dui3/lib/bindings/definitions/baseBindings.ts index d6170caa0..d59330531 100644 --- a/packages/dui3/lib/bindings/definitions/baseBindings.ts +++ b/packages/dui3/lib/bindings/definitions/baseBindings.ts @@ -1,8 +1,3 @@ -// Needs to be agreed between Frontend and Rhino -export interface IRhinoRandomBinding { - makeGreeting: (name: string) => Promise -} - // Needs to be agreed between Frontend and Core export interface IBaseBinding { getAccounts: () => Promise @@ -10,10 +5,6 @@ export interface IBaseBinding { getSourceApplicationVersion: () => Promise getDocumentInfo: () => Promise - // TODO: - getFileState: () => Promise - updateFileState: (state: FileState) => Promise - /** * Subscribe to messages from the host application. * @param event @@ -48,33 +39,15 @@ export type Account = { } } -export type FileState = { - models: ModelCard[] -} - -export type ModelCard = { - serverUrl: string // we need to select the correct account - modelId: string // we need to assemble the gql query properly - projectId: string - type: 'sender' | 'receiver' - status?: 'idle' | 'inprogress' | 'error' | 'warning' | 'disabled' | 'expired' //??? - // settings: Record??? - // report: Record??? - // progress: Record // ??? send status, receive status -} export type DocumentInfo = { location: string name: string id: string } +// NOTE: just a reminder for now export type ToastInfo = { text: string details?: string type: 'info' | 'error' | 'warning' } - -export type SelectionChangedInfo = { - objectIds: string[] - humanReadableSummary?: string -} diff --git a/packages/dui3/lib/bindings/definitions/testBindings.ts b/packages/dui3/lib/bindings/definitions/testBindings.ts new file mode 100644 index 000000000..8fc21ac35 --- /dev/null +++ b/packages/dui3/lib/bindings/definitions/testBindings.ts @@ -0,0 +1,25 @@ +export interface ITestBinding { + sayHi: (name: string, count: number, sayHelloNotHi: boolean) => Promise + goAway: () => Promise + getComplexType: () => Promise + on: ( + event: E, + callback: ITestBindingEvents[E] + ) => void +} + +export interface ITestBindingEvents { + emptyTestEvent: () => void + testEvent: (args: TestEventArgs) => void +} + +export type TestEventArgs = { + name: string + isOk: boolean + count: number +} + +export type ComplexType = { + id: string + count: number +} diff --git a/packages/dui3/plugins/00.bindings.ts b/packages/dui3/plugins/00.bindings.ts index 0a53352a4..955a0ce90 100644 --- a/packages/dui3/plugins/00.bindings.ts +++ b/packages/dui3/plugins/00.bindings.ts @@ -1,11 +1,9 @@ import { GenericBridge } from '~/lib/bridge/generic' import { IRawBridge } from '~/lib/bridge/definitions' -import { - IBaseBinding, - IRhinoRandomBinding -} from '~/lib/bindings/definitions/baseBindings' +import { IBaseBinding } from '~/lib/bindings/definitions/baseBindings' import { SketchupBridge } from '~/lib/bridge/sketchup' +import { ITestBinding } from '~/lib/bindings/definitions/testBindings' // Makes TS happy declare let globalThis: Record & { @@ -20,21 +18,16 @@ declare let globalThis: Record & { * strip or customize functionality from the ui itself. */ export default defineNuxtPlugin(async () => { - const baseBinding = await tryHoistBinding('baseBinding') - + const testBindings = await tryHoistBinding('testBindings') const nonExistantBindings = await tryHoistBinding('nonExistantBindings') - const rhinoRandomBinding = await tryHoistBinding( - 'rhinoRandomBinding' - ) - - const sketchupRandomBinding = await tryHoistBinding('sketchupRandomBinding') + const baseBinding = await tryHoistBinding('baseBinding') return { provide: { - baseBinding, - rhinoRandomBinding, - sketchupRandomBinding + testBindings, + nonExistantBindings, + baseBinding } } })