@microsoft/teams-js 2.4.2 → 2.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/MicrosoftTeams.d.ts +299 -14
- package/dist/MicrosoftTeams.js +320 -61
- package/dist/MicrosoftTeams.js.map +1 -1
- package/dist/MicrosoftTeams.min.js +1 -1
- package/dist/MicrosoftTeams.min.js.map +1 -1
- package/package.json +1 -34
package/README.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
# Microsoft Teams JavaScript client
|
1
|
+
# Microsoft Teams JavaScript client library
|
2
2
|
|
3
|
-
Welcome to the Teams JavaScript client
|
3
|
+
Welcome to the Teams JavaScript client library! For breaking changes, please refer to our [changelog](./CHANGELOG.md) in the current `<root>/packages/teams-js` directory.
|
4
4
|
|
5
|
-
This JavaScript library is part of the [Microsoft Teams developer platform](https://learn.microsoft.com/microsoftteams/platform/). See full [
|
5
|
+
This JavaScript library is part of the [Microsoft Teams developer platform](https://learn.microsoft.com/microsoftteams/platform/). See full [library reference documentation](https://learn.microsoft.com/javascript/api/overview/msteams-client?view=msteams-client-js-latest).
|
6
6
|
|
7
7
|
## Getting Started
|
8
8
|
|
9
9
|
See [instructions](../../README.md#Getting-Started) in the monorepo root for how to clone and build the repository.
|
10
10
|
|
11
|
-
Whenever building or testing the Teams client
|
11
|
+
Whenever building or testing the Teams client library, you can run `yarn build` or `yarn test` from the packages/teams-js directory.
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
@@ -40,7 +40,7 @@ import { app } from '@microsoft/teams-js';
|
|
40
40
|
|
41
41
|
### As a script tag
|
42
42
|
|
43
|
-
Reference the
|
43
|
+
Reference the library inside of your `.html` page using:
|
44
44
|
|
45
45
|
```html
|
46
46
|
<!-- Microsoft Teams JavaScript API (via CDN) -->
|
@@ -59,7 +59,7 @@ Reference the SDK inside of your `.html` page using:
|
|
59
59
|
|
60
60
|
### Dependencies
|
61
61
|
|
62
|
-
Teams client
|
62
|
+
Teams client library depends on [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) type. If you support older browsers and devices which may not yet provide it natively (e.g. IE 11), you need to provide a global polyfill, such as [es6-promise](https://www.npmjs.com/package/es6-promise), in your bundled application. If you're using a script tag to reference the Teams client library, you need to make sure the polyfill is included and initialized before the Teams client library is initialized.
|
63
63
|
|
64
64
|
## Examples
|
65
65
|
|
@@ -67,7 +67,7 @@ Stay tuned for examples coming soon.
|
|
67
67
|
|
68
68
|
## Testing
|
69
69
|
|
70
|
-
The [Teams Test App](https://aka.ms/teams-test-app) is used to validate the Teams client
|
70
|
+
The [Teams Test App](https://aka.ms/teams-test-app) is used to validate the Teams client library APIs.
|
71
71
|
|
72
72
|
## Troubleshooting
|
73
73
|
|
package/dist/MicrosoftTeams.d.ts
CHANGED
@@ -2159,8 +2159,6 @@ export namespace videoEx {
|
|
2159
2159
|
* Namespace to interact with the authentication-specific part of the SDK.
|
2160
2160
|
*
|
2161
2161
|
* This object is used for starting or completing authentication flows.
|
2162
|
-
*
|
2163
|
-
* @beta
|
2164
2162
|
*/
|
2165
2163
|
export namespace authentication {
|
2166
2164
|
function initialize(): void;
|
@@ -3437,8 +3435,6 @@ export enum DevicePermission {
|
|
3437
3435
|
|
3438
3436
|
/**
|
3439
3437
|
* Namespace to interact with app initialization and lifecycle.
|
3440
|
-
*
|
3441
|
-
* @beta
|
3442
3438
|
*/
|
3443
3439
|
export namespace app {
|
3444
3440
|
const Messages: {
|
@@ -3499,7 +3495,7 @@ export namespace app {
|
|
3499
3495
|
*/
|
3500
3496
|
reason: FailedReason;
|
3501
3497
|
/**
|
3502
|
-
*
|
3498
|
+
* This property is currently unused.
|
3503
3499
|
*/
|
3504
3500
|
message?: string;
|
3505
3501
|
}
|
@@ -4042,6 +4038,8 @@ export namespace chat {
|
|
4042
4038
|
* @param openChatRequest: {@link OpenSingleChatRequest}- a request object that contains a user's email as well as an optional message parameter.
|
4043
4039
|
*
|
4044
4040
|
* @returns Promise resolved upon completion
|
4041
|
+
*
|
4042
|
+
* @beta
|
4045
4043
|
*/
|
4046
4044
|
function openChat(openChatRequest: OpenSingleChatRequest): Promise<void>;
|
4047
4045
|
/**
|
@@ -4052,8 +4050,17 @@ export namespace chat {
|
|
4052
4050
|
* @param openChatRequest: {@link OpenGroupChatRequest} - a request object that contains a list of user emails as well as optional parameters for message and topic (display name for the group chat).
|
4053
4051
|
*
|
4054
4052
|
* @returns Promise resolved upon completion
|
4053
|
+
*
|
4054
|
+
* @beta
|
4055
4055
|
*/
|
4056
4056
|
function openGroupChat(openChatRequest: OpenGroupChatRequest): Promise<void>;
|
4057
|
+
/**
|
4058
|
+
* Checks if chat capability is supported by the host
|
4059
|
+
*
|
4060
|
+
* @returns boolean to represent whether the chat capability is supported
|
4061
|
+
*
|
4062
|
+
* @beta
|
4063
|
+
*/
|
4057
4064
|
function isSupported(): boolean;
|
4058
4065
|
}
|
4059
4066
|
export {};
|
@@ -4066,6 +4073,8 @@ export {};
|
|
4066
4073
|
export namespace dialog {
|
4067
4074
|
/**
|
4068
4075
|
* Data Structure to represent the SDK response when dialog closes
|
4076
|
+
*
|
4077
|
+
* @beta
|
4069
4078
|
*/
|
4070
4079
|
interface ISdkResponse {
|
4071
4080
|
/**
|
@@ -4073,12 +4082,23 @@ export namespace dialog {
|
|
4073
4082
|
*/
|
4074
4083
|
err?: string;
|
4075
4084
|
/**
|
4076
|
-
*
|
4077
|
-
*
|
4085
|
+
* Value provided in the `result` parameter by the dialog when the {@linkcode submit} function
|
4086
|
+
* was called.
|
4087
|
+
* If the dialog was closed by the user without submitting (e.g., using a control in the corner
|
4088
|
+
* of the dialog), this value will be `undefined` here.
|
4078
4089
|
*/
|
4079
4090
|
result?: string | object;
|
4080
4091
|
}
|
4092
|
+
/**
|
4093
|
+
* Handler used to receive and process messages sent between a dialog and the app that launched it
|
4094
|
+
* @beta
|
4095
|
+
*/
|
4081
4096
|
type PostMessageChannel = (message: any) => void;
|
4097
|
+
/**
|
4098
|
+
* Handler used for receiving results when a dialog closes, either the value passed by {@linkcode submit}
|
4099
|
+
* or an error if the dialog was closed by the user.
|
4100
|
+
* @beta
|
4101
|
+
*/
|
4082
4102
|
type DialogSubmitHandler = (result: ISdkResponse) => void;
|
4083
4103
|
/**
|
4084
4104
|
* @hidden
|
@@ -4088,6 +4108,8 @@ export namespace dialog {
|
|
4088
4108
|
* Function is called during app initialization
|
4089
4109
|
* @internal
|
4090
4110
|
* Limited to Microsoft-internal use
|
4111
|
+
*
|
4112
|
+
* @beta
|
4091
4113
|
*/
|
4092
4114
|
function initialize(): void;
|
4093
4115
|
/**
|
@@ -4101,13 +4123,19 @@ export namespace dialog {
|
|
4101
4123
|
* @param messageFromChildHandler - Handler that triggers if dialog sends a message to the app.
|
4102
4124
|
*
|
4103
4125
|
* @returns a function that can be used to send messages to the dialog.
|
4126
|
+
*
|
4127
|
+
* @beta
|
4104
4128
|
*/
|
4105
4129
|
function open(urlDialogInfo: UrlDialogInfo, submitHandler?: DialogSubmitHandler, messageFromChildHandler?: PostMessageChannel): void;
|
4106
4130
|
/**
|
4107
4131
|
* Submit the dialog module and close the dialog
|
4108
4132
|
*
|
4109
|
-
* @param result - The result to be sent to the bot or the app. Typically a JSON object or a serialized version of it
|
4133
|
+
* @param result - The result to be sent to the bot or the app. Typically a JSON object or a serialized version of it,
|
4134
|
+
* If this function is called from a dialog while {@link M365ContentAction} is set in the context object by the host, result will be ignored
|
4135
|
+
*
|
4110
4136
|
* @param appIds - Valid application(s) that can receive the result of the submitted dialogs. Specifying this parameter helps prevent malicious apps from retrieving the dialog result. Multiple app IDs can be specified because a web app from a single underlying domain can power multiple apps across different environments and branding schemes.
|
4137
|
+
*
|
4138
|
+
* @beta
|
4111
4139
|
*/
|
4112
4140
|
function submit(result?: string | object, appIds?: string | string[]): void;
|
4113
4141
|
/**
|
@@ -4117,12 +4145,16 @@ export namespace dialog {
|
|
4117
4145
|
* This function is only called from inside of a dialog
|
4118
4146
|
*
|
4119
4147
|
* @param message - The message to send to the parent
|
4148
|
+
*
|
4149
|
+
* @beta
|
4120
4150
|
*/
|
4121
4151
|
function sendMessageToParentFromDialog(message: any): void;
|
4122
4152
|
/**
|
4123
4153
|
* Send message to the dialog from the parent
|
4124
4154
|
*
|
4125
4155
|
* @param message - The message to send
|
4156
|
+
*
|
4157
|
+
* @beta
|
4126
4158
|
*/
|
4127
4159
|
function sendMessageToDialog(message: any): void;
|
4128
4160
|
/**
|
@@ -4132,33 +4164,45 @@ export namespace dialog {
|
|
4132
4164
|
* This function is only called from inside of a dialog.
|
4133
4165
|
*
|
4134
4166
|
* @param listener - The listener that will be triggered.
|
4167
|
+
*
|
4168
|
+
* @beta
|
4135
4169
|
*/
|
4136
4170
|
function registerOnMessageFromParent(listener: PostMessageChannel): void;
|
4137
4171
|
/**
|
4138
4172
|
* Checks if dialog module is supported by the host
|
4139
4173
|
*
|
4140
4174
|
* @returns boolean to represent whether dialog module is supported
|
4175
|
+
*
|
4176
|
+
* @beta
|
4141
4177
|
*/
|
4142
4178
|
function isSupported(): boolean;
|
4143
4179
|
/**
|
4144
4180
|
* Namespace to update the dialog
|
4181
|
+
*
|
4182
|
+
* @beta
|
4145
4183
|
*/
|
4146
4184
|
namespace update {
|
4147
4185
|
/**
|
4148
4186
|
* Update dimensions - height/width of a dialog.
|
4149
4187
|
*
|
4150
4188
|
* @param dimensions - An object containing width and height properties.
|
4189
|
+
*
|
4190
|
+
* @beta
|
4151
4191
|
*/
|
4152
4192
|
function resize(dimensions: DialogSize): void;
|
4153
4193
|
/**
|
4154
4194
|
* Checks if dialog.update capability is supported by the host
|
4155
4195
|
*
|
4156
4196
|
* @returns boolean to represent whether dialog.update is supported
|
4197
|
+
*
|
4198
|
+
* @beta
|
4157
4199
|
*/
|
4158
4200
|
function isSupported(): boolean;
|
4159
4201
|
}
|
4160
4202
|
/**
|
4161
4203
|
* Namespace to open a dialog that sends results to the bot framework
|
4204
|
+
*
|
4205
|
+
* @beta
|
4162
4206
|
*/
|
4163
4207
|
namespace bot {
|
4164
4208
|
/**
|
@@ -4169,12 +4213,16 @@ export namespace dialog {
|
|
4169
4213
|
* @param messageFromChildHandler - Handler that triggers if dialog sends a message to the app.
|
4170
4214
|
*
|
4171
4215
|
* @returns a function that can be used to send messages to the dialog.
|
4216
|
+
*
|
4217
|
+
* @beta
|
4172
4218
|
*/
|
4173
4219
|
function open(botUrlDialogInfo: BotUrlDialogInfo, submitHandler?: DialogSubmitHandler, messageFromChildHandler?: PostMessageChannel): void;
|
4174
4220
|
/**
|
4175
4221
|
* Checks if dialog.bot capability is supported by the host
|
4176
4222
|
*
|
4177
4223
|
* @returns boolean to represent whether dialog.bot is supported
|
4224
|
+
*
|
4225
|
+
* @beta
|
4178
4226
|
*/
|
4179
4227
|
function isSupported(): boolean;
|
4180
4228
|
}
|
@@ -4185,6 +4233,8 @@ export namespace dialog {
|
|
4185
4233
|
*
|
4186
4234
|
* @internal
|
4187
4235
|
* Limited to Microsoft-internal use
|
4236
|
+
*
|
4237
|
+
* @beta
|
4188
4238
|
*/
|
4189
4239
|
function getDialogInfoFromUrlDialogInfo(urlDialogInfo: UrlDialogInfo): DialogInfo;
|
4190
4240
|
/**
|
@@ -4194,6 +4244,8 @@ export namespace dialog {
|
|
4194
4244
|
*
|
4195
4245
|
* @internal
|
4196
4246
|
* Limited to Microsoft-internal use
|
4247
|
+
*
|
4248
|
+
* @beta
|
4197
4249
|
*/
|
4198
4250
|
function getDialogInfoFromBotUrlDialogInfo(botUrlDialogInfo: BotUrlDialogInfo): DialogInfo;
|
4199
4251
|
}
|
@@ -4299,13 +4351,13 @@ export namespace geoLocation {
|
|
4299
4351
|
|
4300
4352
|
/**
|
4301
4353
|
* Navigation-specific part of the SDK.
|
4302
|
-
*
|
4303
|
-
* @beta
|
4304
4354
|
*/
|
4305
4355
|
export namespace pages {
|
4306
4356
|
/**
|
4307
4357
|
* Return focus to the host. Will move focus forward or backward based on where the application container falls in
|
4308
4358
|
* the F6/tab order in the host.
|
4359
|
+
* On mobile hosts or hosts where there is no keyboard interaction or UI notion of "focus" this function has no
|
4360
|
+
* effect and will be a no-op when called.
|
4309
4361
|
* @param navigateForward - Determines the direction to focus in host.
|
4310
4362
|
*/
|
4311
4363
|
function returnFocus(navigateForward?: boolean): void;
|
@@ -4313,6 +4365,8 @@ export namespace pages {
|
|
4313
4365
|
* @hidden
|
4314
4366
|
*
|
4315
4367
|
* Registers a handler for specifying focus when it passes from the host to the application.
|
4368
|
+
* On mobile hosts or hosts where there is no UI notion of "focus" the handler registered with
|
4369
|
+
* this function will never be called.
|
4316
4370
|
*
|
4317
4371
|
* @param handler - The handler for placing focus within the application.
|
4318
4372
|
*
|
@@ -4390,6 +4444,7 @@ export namespace pages {
|
|
4390
4444
|
function navigateToApp(params: NavigateToAppParams): Promise<void>;
|
4391
4445
|
/**
|
4392
4446
|
* Shares a deep link that a user can use to navigate back to a specific state in this page.
|
4447
|
+
* Please note that this method does yet work on mobile hosts.
|
4393
4448
|
*
|
4394
4449
|
* @param deepLinkParameters - ID and label for the link and fallback URL.
|
4395
4450
|
*/
|
@@ -4397,6 +4452,8 @@ export namespace pages {
|
|
4397
4452
|
/**
|
4398
4453
|
* Registers a handler for changes from or to full-screen view for a tab.
|
4399
4454
|
* Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
|
4455
|
+
* On hosts where there is no support for making an app full screen, the handler registered
|
4456
|
+
* with this function will never be called.
|
4400
4457
|
* @param handler - The handler to invoke when the user toggles full-screen view for a tab.
|
4401
4458
|
*/
|
4402
4459
|
function registerFullScreenHandler(handler: (isFullScreen: boolean) => void): void;
|
@@ -5988,27 +6045,34 @@ export namespace profile {
|
|
5988
6045
|
* Opens a profile card at a specified position to show profile information about a persona.
|
5989
6046
|
* @param showProfileRequest The parameters to position the card and identify the target user.
|
5990
6047
|
* @returns Promise that will be fulfilled when the operation has completed
|
6048
|
+
*
|
6049
|
+
* @beta
|
5991
6050
|
*/
|
5992
6051
|
function showProfile(showProfileRequest: ShowProfileRequest): Promise<void>;
|
5993
6052
|
/**
|
5994
6053
|
* The type of modalities that are supported when showing a profile.
|
5995
6054
|
* Can be provided as an optional hint with the request and will be
|
5996
6055
|
* respected if the hosting M365 application supports it.
|
6056
|
+
*
|
6057
|
+
* @beta
|
5997
6058
|
*/
|
5998
6059
|
type Modality = 'Card' | 'Expanded';
|
5999
6060
|
/**
|
6000
6061
|
* The type of the profile trigger.
|
6001
6062
|
* - MouseHover: The user hovered a target.
|
6002
|
-
* -
|
6003
|
-
* - KeyboardPress: The user initiated the show profile request with their keyboard.
|
6063
|
+
* - Press: The target was pressed with either a mouse click or keyboard key press.
|
6004
6064
|
* - AppRequest: The show profile request is happening programmatically, without direct user interaction.
|
6065
|
+
*
|
6066
|
+
* @beta
|
6005
6067
|
*/
|
6006
|
-
type TriggerType = 'MouseHover' | '
|
6068
|
+
type TriggerType = 'MouseHover' | 'Press' | 'AppRequest';
|
6007
6069
|
/**
|
6008
6070
|
* The set of identifiers that are supported for resolving the persona.
|
6009
6071
|
*
|
6010
6072
|
* At least one is required, and if multiple are provided then only the highest
|
6011
6073
|
* priority one will be used (AadObjectId > Upn > Smtp).
|
6074
|
+
*
|
6075
|
+
* @beta
|
6012
6076
|
*/
|
6013
6077
|
type PersonaIdentifiers = {
|
6014
6078
|
/**
|
@@ -6031,6 +6095,8 @@ export namespace profile {
|
|
6031
6095
|
};
|
6032
6096
|
/**
|
6033
6097
|
* The persona to show the profile for.
|
6098
|
+
*
|
6099
|
+
* @beta
|
6034
6100
|
*/
|
6035
6101
|
interface Persona {
|
6036
6102
|
/**
|
@@ -6044,6 +6110,8 @@ export namespace profile {
|
|
6044
6110
|
}
|
6045
6111
|
/**
|
6046
6112
|
* Input parameters provided to the showProfile API.
|
6113
|
+
*
|
6114
|
+
* @beta
|
6047
6115
|
*/
|
6048
6116
|
interface ShowProfileRequest {
|
6049
6117
|
/**
|
@@ -6063,8 +6131,30 @@ export namespace profile {
|
|
6063
6131
|
*/
|
6064
6132
|
triggerType: TriggerType;
|
6065
6133
|
}
|
6134
|
+
/**
|
6135
|
+
* Checks if the profile capability is supported by the host
|
6136
|
+
*
|
6137
|
+
* @returns boolean to represent whether the profile capability is supported
|
6138
|
+
*
|
6139
|
+
* @beta
|
6140
|
+
*/
|
6066
6141
|
function isSupported(): boolean;
|
6067
6142
|
}
|
6143
|
+
/**
|
6144
|
+
* Internal representation of a DOMRect suitable for sending via postMessage.
|
6145
|
+
*/
|
6146
|
+
export type Rectangle = {
|
6147
|
+
x: number;
|
6148
|
+
y: number;
|
6149
|
+
width: number;
|
6150
|
+
height: number;
|
6151
|
+
};
|
6152
|
+
export interface ShowProfileRequestInternal {
|
6153
|
+
modality?: profile.Modality;
|
6154
|
+
persona: profile.Persona;
|
6155
|
+
targetRectangle: Rectangle;
|
6156
|
+
triggerType: profile.TriggerType;
|
6157
|
+
}
|
6068
6158
|
|
6069
6159
|
/**
|
6070
6160
|
* Namespace to video extensibility of the SDK
|
@@ -6366,7 +6456,7 @@ export namespace stageView {
|
|
6366
6456
|
function isSupported(): boolean;
|
6367
6457
|
}
|
6368
6458
|
|
6369
|
-
export const version:
|
6459
|
+
export const version = "ERROR: This value should be replaced by webpack!";
|
6370
6460
|
|
6371
6461
|
/**
|
6372
6462
|
* Contains functionality to allow web apps to store data in webview cache
|
@@ -6895,3 +6985,198 @@ export namespace tasks {
|
|
6895
6985
|
function getDefaultSizeIfNotProvided(taskInfo: TaskInfo): TaskInfo;
|
6896
6986
|
}
|
6897
6987
|
|
6988
|
+
/**
|
6989
|
+
* @hidden
|
6990
|
+
* Allowed roles during a meeting.
|
6991
|
+
*
|
6992
|
+
* @beta
|
6993
|
+
*/
|
6994
|
+
export enum UserMeetingRole {
|
6995
|
+
guest = "Guest",
|
6996
|
+
attendee = "Attendee",
|
6997
|
+
presenter = "Presenter",
|
6998
|
+
organizer = "Organizer"
|
6999
|
+
}
|
7000
|
+
/**
|
7001
|
+
* @hidden
|
7002
|
+
* State of the current Live Share sessions backing fluid container.
|
7003
|
+
*
|
7004
|
+
* @beta
|
7005
|
+
*/
|
7006
|
+
export enum ContainerState {
|
7007
|
+
/**
|
7008
|
+
* The call to `LiveShareHost.setContainerId()` successfully created the container mapping
|
7009
|
+
* for the current Live Share session.
|
7010
|
+
*/
|
7011
|
+
added = "Added",
|
7012
|
+
/**
|
7013
|
+
* A container mapping for the current Live Share Session already exists and should be used
|
7014
|
+
* when joining the sessions Fluid container.
|
7015
|
+
*/
|
7016
|
+
alreadyExists = "AlreadyExists",
|
7017
|
+
/**
|
7018
|
+
* The call to `LiveShareHost.setContainerId()` failed to create the container mapping due to
|
7019
|
+
* another client having already set the container ID for the current Live Share session.
|
7020
|
+
*/
|
7021
|
+
conflict = "Conflict",
|
7022
|
+
/**
|
7023
|
+
* A container mapping for the current Live Share session doesn't exist yet.
|
7024
|
+
*/
|
7025
|
+
notFound = "NotFound"
|
7026
|
+
}
|
7027
|
+
/**
|
7028
|
+
* @hidden
|
7029
|
+
* Returned from `LiveShareHost.get/setFluidContainerId()` to specify the container mapping for the
|
7030
|
+
* current Live Share session.
|
7031
|
+
*
|
7032
|
+
* @beta
|
7033
|
+
*/
|
7034
|
+
export interface IFluidContainerInfo {
|
7035
|
+
/**
|
7036
|
+
* State of the containerId mapping.
|
7037
|
+
*/
|
7038
|
+
containerState: ContainerState;
|
7039
|
+
/**
|
7040
|
+
* ID of the container to join for the meeting. Undefined if the container hasn't been
|
7041
|
+
* created yet.
|
7042
|
+
*/
|
7043
|
+
containerId: string | undefined;
|
7044
|
+
/**
|
7045
|
+
* If true, the local client should create the container and then save the created containers
|
7046
|
+
* ID to the mapping service.
|
7047
|
+
*/
|
7048
|
+
shouldCreate: boolean;
|
7049
|
+
/**
|
7050
|
+
* If `containerId` is undefined and `shouldCreate` is false, the container isn't ready but
|
7051
|
+
* another client is creating it. The local client should wait the specified amount of time and
|
7052
|
+
* then ask for the container info again.
|
7053
|
+
*/
|
7054
|
+
retryAfter: number;
|
7055
|
+
}
|
7056
|
+
/**
|
7057
|
+
* @hidden
|
7058
|
+
* Returned from `LiveShareHost.getNtpTime()` to specify the global timestamp for the current
|
7059
|
+
* Live Share session.
|
7060
|
+
*
|
7061
|
+
* @beta
|
7062
|
+
*/
|
7063
|
+
export interface INtpTimeInfo {
|
7064
|
+
/**
|
7065
|
+
* ISO 8601 formatted server time. For example: '2019-09-07T15:50-04:00'
|
7066
|
+
*/
|
7067
|
+
ntpTime: string;
|
7068
|
+
/**
|
7069
|
+
* Server time expressed as the number of milliseconds since the ECMAScript epoch.
|
7070
|
+
*/
|
7071
|
+
ntpTimeInUTC: number;
|
7072
|
+
}
|
7073
|
+
/**
|
7074
|
+
* @hidden
|
7075
|
+
* Returned from `LiveShareHost.getFluidTenantInfo()` to specify the Fluid service to use for the
|
7076
|
+
* current Live Share session.
|
7077
|
+
*
|
7078
|
+
* @beta
|
7079
|
+
*/
|
7080
|
+
export interface IFluidTenantInfo {
|
7081
|
+
/**
|
7082
|
+
* The Fluid Tenant ID Live Share should use.
|
7083
|
+
*/
|
7084
|
+
tenantId: string;
|
7085
|
+
/**
|
7086
|
+
* The Fluid service endpoint Live Share should use.
|
7087
|
+
*/
|
7088
|
+
serviceEndpoint?: string;
|
7089
|
+
/**
|
7090
|
+
* @deprecated
|
7091
|
+
* As of Fluid 1.0 this configuration information has been deprecated in favor of
|
7092
|
+
* `serviceEndpoint`.
|
7093
|
+
*/
|
7094
|
+
ordererEndpoint: string;
|
7095
|
+
/**
|
7096
|
+
* @deprecated
|
7097
|
+
* As of Fluid 1.0 this configuration information has been deprecated in favor of
|
7098
|
+
* `serviceEndpoint`.
|
7099
|
+
*/
|
7100
|
+
storageEndpoint: string;
|
7101
|
+
}
|
7102
|
+
/**
|
7103
|
+
* Live Share host implementation for O365 and Teams clients.
|
7104
|
+
*
|
7105
|
+
* @beta
|
7106
|
+
*/
|
7107
|
+
export class LiveShareHost {
|
7108
|
+
/**
|
7109
|
+
* @hidden
|
7110
|
+
* Returns the Fluid Tenant connection info for user's current context.
|
7111
|
+
*
|
7112
|
+
* @beta
|
7113
|
+
*/
|
7114
|
+
getFluidTenantInfo(): Promise<IFluidTenantInfo>;
|
7115
|
+
/**
|
7116
|
+
* @hidden
|
7117
|
+
* Returns the fluid access token for mapped container Id.
|
7118
|
+
*
|
7119
|
+
* @param containerId Fluid's container Id for the request. Undefined for new containers.
|
7120
|
+
* @returns token for connecting to Fluid's session.
|
7121
|
+
*
|
7122
|
+
* @beta
|
7123
|
+
*/
|
7124
|
+
getFluidToken(containerId?: string): Promise<string>;
|
7125
|
+
/**
|
7126
|
+
* @hidden
|
7127
|
+
* Returns the ID of the fluid container associated with the user's current context.
|
7128
|
+
*
|
7129
|
+
* @beta
|
7130
|
+
*/
|
7131
|
+
getFluidContainerId(): Promise<IFluidContainerInfo>;
|
7132
|
+
/**
|
7133
|
+
* @hidden
|
7134
|
+
* Sets the ID of the fluid container associated with the current context.
|
7135
|
+
*
|
7136
|
+
* @remarks
|
7137
|
+
* If this returns false, the client should delete the container they created and then call
|
7138
|
+
* `getFluidContainerId()` to get the ID of the container being used.
|
7139
|
+
* @param containerId ID of the fluid container the client created.
|
7140
|
+
* @returns A data structure with a `containerState` indicating the success or failure of the request.
|
7141
|
+
*
|
7142
|
+
* @beta
|
7143
|
+
*/
|
7144
|
+
setFluidContainerId(containerId: string): Promise<IFluidContainerInfo>;
|
7145
|
+
/**
|
7146
|
+
* @hidden
|
7147
|
+
* Returns the shared clock server's current time.
|
7148
|
+
*
|
7149
|
+
* @beta
|
7150
|
+
*/
|
7151
|
+
getNtpTime(): Promise<INtpTimeInfo>;
|
7152
|
+
/**
|
7153
|
+
* @hidden
|
7154
|
+
* Associates the fluid client ID with a set of user roles.
|
7155
|
+
*
|
7156
|
+
* @param clientId The ID for the current user's Fluid client. Changes on reconnects.
|
7157
|
+
* @returns The roles for the current user.
|
7158
|
+
*
|
7159
|
+
* @beta
|
7160
|
+
*/
|
7161
|
+
registerClientId(clientId: string): Promise<UserMeetingRole[]>;
|
7162
|
+
/**
|
7163
|
+
* @hidden
|
7164
|
+
* Returns the roles associated with a client ID.
|
7165
|
+
*
|
7166
|
+
* @param clientId The Client ID the message was received from.
|
7167
|
+
* @returns The roles for a given client. Returns `undefined` if the client ID hasn't been registered yet.
|
7168
|
+
*
|
7169
|
+
* @beta
|
7170
|
+
*/
|
7171
|
+
getClientRoles(clientId: string): Promise<UserMeetingRole[] | undefined>;
|
7172
|
+
/**
|
7173
|
+
* Returns a host instance for the client that can be passed to the `LiveShareClient` class.
|
7174
|
+
*
|
7175
|
+
* @remarks
|
7176
|
+
* The application must first be initialized and may only be called from `meetingStage` or `sidePanel` contexts.
|
7177
|
+
*
|
7178
|
+
* @beta
|
7179
|
+
*/
|
7180
|
+
static create(): LiveShareHost;
|
7181
|
+
}
|
7182
|
+
|