Other types

type BrowserPermission

A string that is one of "notifications" | "microphone" | "geolocation".

Note that more possible values may be added in the future, so make sure your handler can deal with unknown permission types gracefully.

interface BrowserPermissionRequest

Passed to ChatboxProps​.beforeBrowserPermission­Prompt when a browser permission dialog needs to be shown to the user.

Method Overview

cancel

Cancel whatever user action caused the permission to be requested.

showPrompt

Show the browser permission prompt that lets the user allow or deny this permission.

Properties

The type of permission requested.

Note that more possible values may be added in the future, so make sure your handler can deal with unknown permission types gracefully.

cancel

browserPermissionRequest.cancel()

Cancel whatever user action caused the permission to be requested.

For example, if a user wants to share their location for the first time so that this event is triggered, then if you call cancel(), no permission will be requested from the browser, the location sharing will be cancelled, and TalkJS will continue as if the location sharing button had not been clicked at all.

This may be useful if you're using this event to show custom UI elements that nudge users towards granting permission, and this UI has a "cancel" button.

Returns

void

showPrompt

browserPermissionRequest.showPrompt(): Promise<"granted" | "denied">

Show the browser permission prompt that lets the user allow or deny this permission.

When the user clicks "Allow", then the user action that triggered the browser permission request will proceed and the return value resolves to "granted".

When the user clicks "Deny", then the user action is cancelled, the onMissingBrowserPermission event is triggered, and the return value resolves to "denied".

Returns

Promise<"granted" | "denied">

interface DeleteMessageEvent

An event object dispatched by the ChatboxProps​.onDeleteMessage event.

Properties

conversation
: ConversationSnapshot

The conversation that the message used to be in.

currentUser
: UserSnapshot
message
: MessageSnapshot

The message that was just deleted.

interface MissingBrowserPermissionEvent

Sent by ChatboxProps​.onMissingBrowserPermission when the user tried to do an action that require explicit browser permission, but that permission has been denied.

This event is meant to let you show a message to the user if an action (eg sharing a location, or enabling notifications) can't proceed because the browser permission for that has been denied.

If you want to control when to show the browser permissions prompt, use ChatboxProps​.beforeBrowserPermission­Prompt.

This event is emitted both when the user has denied this permission in the past, and when a user action just triggered a browser permissions prompt which the user then denied. If you need to differentiate between these two cases, use beforeBrowserPermissionPrompt, and inspect the return value of BrowserPermissionRequest​.showPrompt.

Properties

The type of permission that was denied.

Note that more possible values may be added in the future, so make sure your handler can deal with unknown permission types gracefully.

interface SelectConversationEvent

An event object dispatched by the ConversationListProps​.onSelectConversation event.

Properties

conversation
: ConversationSnapshot

The newly-selected conversation.

currentUser
: UserSnapshot

interface SendMessageEvent

An event object dispatched by the ChatboxProps​.onSendMessage event.

Properties

conversation
: ConversationSnapshot

The conversation the message was sent in.

currentUser
: UserSnapshot
message
: MessageSnapshot

The message that was just sent.