interface MbpEmbedClient {
    connect(): Promise<void>;
    id: string;
    version: string;
    ui: {
        setTitle: ((title) => Promise<void>);
        setDescription: ((description) => Promise<void>);
        setBacklinkLabel: ((label) => Promise<void>);
        setStatusLoading: ((isLoading?) => Promise<void>);
        setStatusSuccess: ((opts) => Promise<void>);
        setStatusError: ((opts) => Promise<void>);
    };
    navigation: {
        back: (() => Promise<void>);
        openNewEmbed: ((url) => Promise<void>);
        openExternal: ((url) => Promise<void>);
        openHostRoute: (<R>(route, params?) => Promise<void>);
        onBackNavigation: ((callback) => MessageHandlerUnsubscribe);
        enableExitConfirmation: ((opts) => Promise<void>);
        disableExitConfirmation: (() => Promise<void>);
    };
    context: {
        getTenant: (() => Promise<Tenant>);
        getIpdcProduct: (() => Promise<IpdcProduct>);
    };
    appointment: {
        start: (() => Promise<{
            products: IpdcProduct[];
        }>);
        create: ((appointment) => Promise<void>);
        cancel: ((id?) => Promise<void>);
    };
    notifications: {
        scheduleNotification: ((notification) => Promise<string>);
        cancelNotification: ((id) => Promise<void>);
        getAllNotifications: (() => Promise<ScheduledNotification[]>);
        getNotificationPermissions: (() => Promise<NotificationPermissions>);
    };
}

Hierarchy

  • Client
    • MbpEmbedClient

Methods

  • Returns Promise<void>

Properties

id: string
version: string
ui: {
    setTitle: ((title) => Promise<void>);
    setDescription: ((description) => Promise<void>);
    setBacklinkLabel: ((label) => Promise<void>);
    setStatusLoading: ((isLoading?) => Promise<void>);
    setStatusSuccess: ((opts) => Promise<void>);
    setStatusError: ((opts) => Promise<void>);
} = ...

Type declaration

  • Readonly setTitle: ((title) => Promise<void>)
      • (title): Promise<void>
      • Parameters

        • title: string

        Returns Promise<void>

  • Readonly setDescription: ((description) => Promise<void>)
      • (description): Promise<void>
      • Parameters

        • description: string

        Returns Promise<void>

  • Readonly setBacklinkLabel: ((label) => Promise<void>)
      • (label): Promise<void>
      • Parameters

        • label: string

        Returns Promise<void>

  • Readonly setStatusLoading: ((isLoading?) => Promise<void>)
      • (isLoading?): Promise<void>
      • Parameters

        • isLoading: boolean = true

        Returns Promise<void>

  • Readonly setStatusSuccess: ((opts) => Promise<void>)
      • (opts): Promise<void>
      • Parameters

        • opts: {
              title?: string;
              message?: string;
          }
          • Optional title?: string
          • Optional message?: string

        Returns Promise<void>

  • Readonly setStatusError: ((opts) => Promise<void>)
      • (opts): Promise<void>
      • Parameters

        • opts: {
              title?: string;
              message?: string;
          }
          • Optional title?: string
          • Optional message?: string

        Returns Promise<void>

navigation: {
    back: (() => Promise<void>);
    openNewEmbed: ((url) => Promise<void>);
    openExternal: ((url) => Promise<void>);
    openHostRoute: (<R>(route, params?) => Promise<void>);
    onBackNavigation: ((callback) => MessageHandlerUnsubscribe);
    enableExitConfirmation: ((opts) => Promise<void>);
    disableExitConfirmation: (() => Promise<void>);
} = ...

Type declaration

  • Readonly back: (() => Promise<void>)
      • Returns Promise<void>

  • Readonly openNewEmbed: ((url) => Promise<void>)
      • Parameters

        • url: string

        Returns Promise<void>

  • Readonly openExternal: ((url) => Promise<void>)
      • Parameters

        • url: string

        Returns Promise<void>

  • Readonly openHostRoute: (<R>(route, params?) => Promise<void>)

    Navigate to a route (screen) in the host application

      • Type Parameters

        Parameters

        • route: R

          a valid route in the host app. Use AppHostRoutes or WebHostRoutes to guarantee valid routes.

        • Optional params: RouteParams<HostRoute>[R]

          optional parameters for the route. Most routes do not accept parameters.

        Returns Promise<void>

  • Readonly onBackNavigation: ((callback) => MessageHandlerUnsubscribe)

    Allows registering a callback function that is invoked whenever user leaves screen due to native/host back navigation.

    Registering multiple callbacks will result in only the most recently registered callbvack being invoked (i.e. newer callbacks overwrite older ones)

    Returns

    A function that will remove the navigation callback

      • Parameters

        • callback: (() => boolean)

          a function that will be called on any back navigation in host. If the callback returns false, the host navigation will be blocked. The response needs to be received within 100ms, or host navigation will continue regardless of callback.

            • (): boolean
            • Returns boolean

        Returns MessageHandlerUnsubscribe

  • Readonly enableExitConfirmation: ((opts) => Promise<void>)
      • Parameters

        • opts: {
              title?: string;
              message?: string;
              confirm?: string;
              ignore?: string;
          }
          • Optional title?: string
          • Optional message?: string
          • Optional confirm?: string
          • Optional ignore?: string

        Returns Promise<void>

  • Readonly disableExitConfirmation: (() => Promise<void>)
      • Returns Promise<void>

context: {
    getTenant: (() => Promise<Tenant>);
    getIpdcProduct: (() => Promise<IpdcProduct>);
} = ...

Type declaration

appointment: {
    start: (() => Promise<{
        products: IpdcProduct[];
    }>);
    create: ((appointment) => Promise<void>);
    cancel: ((id?) => Promise<void>);
} = ...

Type declaration

  • Readonly start: (() => Promise<{
        products: IpdcProduct[];
    }>)
  • Readonly create: ((appointment) => Promise<void>)
      • (appointment): Promise<void>
      • Parameters

        Returns Promise<void>

  • Readonly cancel: ((id?) => Promise<void>)
      • (id?): Promise<void>
      • Parameters

        • Optional id: string

        Returns Promise<void>

notifications: {
    scheduleNotification: ((notification) => Promise<string>);
    cancelNotification: ((id) => Promise<void>);
    getAllNotifications: (() => Promise<ScheduledNotification[]>);
    getNotificationPermissions: (() => Promise<NotificationPermissions>);
} = ...

Type declaration