@thoughtspot/visual-embed-sdk 1.45.0 → 1.45.2
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/cjs/package.json +2 -2
- package/cjs/src/authToken.d.ts +1 -1
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +2 -2
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/authToken.spec.js +71 -0
- package/cjs/src/authToken.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +3 -3
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +18 -18
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +7 -7
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +2 -2
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +2 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +1 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +23 -2
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +64 -22
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +138 -19
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +2 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -2
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/types.d.ts +164 -2
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +43 -1
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +3 -2
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +4 -2
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils.d.ts +5 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +8 -1
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-Dk-SLdNk.js → index-BdkKLLo1.js} +1 -1
- package/dist/src/authToken.d.ts +1 -1
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +3 -3
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +2 -2
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +23 -2
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +164 -2
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +3 -2
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +5 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +140 -49
- package/dist/tsembed-react.js +139 -48
- package/dist/tsembed.es.js +155 -64
- package/dist/tsembed.js +29640 -29549
- package/dist/visual-embed-sdk-react-full.d.ts +196 -13
- package/dist/visual-embed-sdk-react.d.ts +196 -13
- package/dist/visual-embed-sdk.d.ts +196 -13
- package/lib/package.json +2 -2
- package/lib/src/authToken.d.ts +1 -1
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +2 -2
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/authToken.spec.js +72 -1
- package/lib/src/authToken.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +3 -3
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +18 -18
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +7 -7
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +2 -2
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +2 -2
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +1 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +23 -2
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +64 -22
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +139 -20
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/types.d.ts +164 -2
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +42 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +3 -2
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +4 -2
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils.d.ts +5 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +6 -0
- package/lib/src/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/authToken.spec.ts +91 -2
- package/src/authToken.ts +2 -2
- package/src/embed/hostEventClient/contracts.ts +4 -4
- package/src/embed/hostEventClient/host-event-client.spec.ts +7 -1
- package/src/embed/hostEventClient/host-event-client.ts +22 -11
- package/src/embed/liveboard.spec.ts +1 -1
- package/src/embed/liveboard.ts +5 -3
- package/src/embed/ts-embed.spec.ts +184 -8
- package/src/embed/ts-embed.ts +81 -24
- package/src/index.ts +2 -0
- package/src/types.ts +171 -0
- package/src/utils/processTrigger.ts +6 -3
- package/src/utils.ts +8 -0
|
@@ -1925,6 +1925,44 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
1925
1925
|
* ```
|
|
1926
1926
|
*/
|
|
1927
1927
|
customActions?: CustomAction[];
|
|
1928
|
+
/**
|
|
1929
|
+
* Refresh the auth token when the token is near expiry.
|
|
1930
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1931
|
+
* @example
|
|
1932
|
+
* ```js
|
|
1933
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1934
|
+
* ... // other embed view config
|
|
1935
|
+
* refreshAuthTokenOnNearExpiry: true,
|
|
1936
|
+
* })
|
|
1937
|
+
* ```
|
|
1938
|
+
*/
|
|
1939
|
+
refreshAuthTokenOnNearExpiry?: boolean;
|
|
1940
|
+
/**
|
|
1941
|
+
* This flag skips payload validation so events can be processed even if the payload is old, incomplete, or from a trusted system.
|
|
1942
|
+
* @default false
|
|
1943
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1944
|
+
* @example
|
|
1945
|
+
* ```js
|
|
1946
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1947
|
+
* ... // other embed view config
|
|
1948
|
+
* shouldBypassPayloadValidation:true,
|
|
1949
|
+
* })
|
|
1950
|
+
* ```
|
|
1951
|
+
*/
|
|
1952
|
+
shouldBypassPayloadValidation?: boolean;
|
|
1953
|
+
/**
|
|
1954
|
+
* Flag to use host events v2. This is used to enable the new host events v2 API.
|
|
1955
|
+
* @default false
|
|
1956
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1957
|
+
* @example
|
|
1958
|
+
* ```js
|
|
1959
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1960
|
+
* ... // other embed view config
|
|
1961
|
+
* useHostEventsV2:true,
|
|
1962
|
+
* })
|
|
1963
|
+
* ```
|
|
1964
|
+
*/
|
|
1965
|
+
useHostEventsV2?: boolean;
|
|
1928
1966
|
}
|
|
1929
1967
|
/**
|
|
1930
1968
|
* The configuration object for Home page embeds configs.
|
|
@@ -3909,7 +3947,19 @@ export declare enum EmbedEvent {
|
|
|
3909
3947
|
* ```
|
|
3910
3948
|
* @version SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl
|
|
3911
3949
|
*/
|
|
3912
|
-
ApiIntercept = "ApiIntercept"
|
|
3950
|
+
ApiIntercept = "ApiIntercept",
|
|
3951
|
+
/**
|
|
3952
|
+
* @hidden
|
|
3953
|
+
* Emitted when the auth token is about to get expired and needs to be refreshed.
|
|
3954
|
+
* @example
|
|
3955
|
+
* ```js
|
|
3956
|
+
* embed.on(EmbedEvent.RefreshAuthToken, (payload) => {
|
|
3957
|
+
* console.log('payload', payload);
|
|
3958
|
+
* })
|
|
3959
|
+
* ```
|
|
3960
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
3961
|
+
*/
|
|
3962
|
+
RefreshAuthToken = "RefreshAuthToken"
|
|
3913
3963
|
}
|
|
3914
3964
|
/**
|
|
3915
3965
|
* Event types that can be triggered by the host application
|
|
@@ -5291,7 +5341,18 @@ export declare enum HostEvent {
|
|
|
5291
5341
|
* ```
|
|
5292
5342
|
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
5293
5343
|
*/
|
|
5294
|
-
StartNewSpotterConversation = "StartNewSpotterConversation"
|
|
5344
|
+
StartNewSpotterConversation = "StartNewSpotterConversation",
|
|
5345
|
+
/**
|
|
5346
|
+
* @hidden
|
|
5347
|
+
* Get the current context of the embedded page.
|
|
5348
|
+
*
|
|
5349
|
+
* @example
|
|
5350
|
+
* ```js
|
|
5351
|
+
* const context = await liveboardEmbed.trigger(HostEvent.GetPageContext);
|
|
5352
|
+
* ```
|
|
5353
|
+
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
5354
|
+
*/
|
|
5355
|
+
GetPageContext = "GetPageContext"
|
|
5295
5356
|
}
|
|
5296
5357
|
/**
|
|
5297
5358
|
* The different visual modes that the data sources panel within
|
|
@@ -6993,6 +7054,24 @@ export interface EmbedErrorDetailsEvent {
|
|
|
6993
7054
|
/** Additional context-specific for backward compatibility */
|
|
6994
7055
|
[key: string]: any;
|
|
6995
7056
|
}
|
|
7057
|
+
declare enum ContextType {
|
|
7058
|
+
/**
|
|
7059
|
+
* Search answer context for search page or edit viz dialog on liveboard page.
|
|
7060
|
+
*/
|
|
7061
|
+
Search = "search-answer",
|
|
7062
|
+
/**
|
|
7063
|
+
* Liveboard context for liveboard page.
|
|
7064
|
+
*/
|
|
7065
|
+
Liveboard = "liveboard",
|
|
7066
|
+
/**
|
|
7067
|
+
* Answer context for explore modal/page on liveboard page.
|
|
7068
|
+
*/
|
|
7069
|
+
Answer = "answer",
|
|
7070
|
+
/**
|
|
7071
|
+
* Spotter context for spotter modal/page.
|
|
7072
|
+
*/
|
|
7073
|
+
Spotter = "spotter"
|
|
7074
|
+
}
|
|
6996
7075
|
export interface DefaultAppInitData {
|
|
6997
7076
|
customisations: CustomisationsInterface;
|
|
6998
7077
|
authToken: string;
|
|
@@ -7068,6 +7147,89 @@ export type ApiInterceptFlags = {
|
|
|
7068
7147
|
*/
|
|
7069
7148
|
interceptTimeout?: number;
|
|
7070
7149
|
};
|
|
7150
|
+
/**
|
|
7151
|
+
* Object IDs for the embedded component.
|
|
7152
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7153
|
+
*/
|
|
7154
|
+
export interface ObjectIds {
|
|
7155
|
+
/**
|
|
7156
|
+
* Liveboard ID.
|
|
7157
|
+
*/
|
|
7158
|
+
liveboardId?: string;
|
|
7159
|
+
/**
|
|
7160
|
+
* Answer ID.
|
|
7161
|
+
*/
|
|
7162
|
+
answerId?: string;
|
|
7163
|
+
/**
|
|
7164
|
+
* Viz IDs.
|
|
7165
|
+
*/
|
|
7166
|
+
vizIds?: string[];
|
|
7167
|
+
/**
|
|
7168
|
+
* Data model IDs.
|
|
7169
|
+
*/
|
|
7170
|
+
dataModelIds?: string[];
|
|
7171
|
+
/**
|
|
7172
|
+
* Modal title.
|
|
7173
|
+
*/
|
|
7174
|
+
modalTitle?: string;
|
|
7175
|
+
}
|
|
7176
|
+
/**
|
|
7177
|
+
* Context object for the embedded component.
|
|
7178
|
+
* @example
|
|
7179
|
+
* ```js
|
|
7180
|
+
* const context = await embed.getCurrentContext();
|
|
7181
|
+
* console.log(context);
|
|
7182
|
+
* {
|
|
7183
|
+
* stack: [
|
|
7184
|
+
* {
|
|
7185
|
+
* name: 'Liveboard',
|
|
7186
|
+
* type: ContextType.Liveboard,
|
|
7187
|
+
* objectIds: {
|
|
7188
|
+
* liveboardId: '123',
|
|
7189
|
+
* },
|
|
7190
|
+
* },
|
|
7191
|
+
* ],
|
|
7192
|
+
* currentContext: {
|
|
7193
|
+
* name: 'Liveboard',
|
|
7194
|
+
* type: ContextType.Liveboard,
|
|
7195
|
+
* objectIds: {
|
|
7196
|
+
* liveboardId: '123',
|
|
7197
|
+
* },
|
|
7198
|
+
* },
|
|
7199
|
+
* }
|
|
7200
|
+
* ```
|
|
7201
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7202
|
+
*/
|
|
7203
|
+
export interface ContextObject {
|
|
7204
|
+
/**
|
|
7205
|
+
* Stack of context objects.
|
|
7206
|
+
*/
|
|
7207
|
+
stack: Array<{
|
|
7208
|
+
/**
|
|
7209
|
+
* Name of the context object.
|
|
7210
|
+
*/
|
|
7211
|
+
name: string;
|
|
7212
|
+
/**
|
|
7213
|
+
* Type of the context object.
|
|
7214
|
+
*/
|
|
7215
|
+
type: ContextType;
|
|
7216
|
+
/**
|
|
7217
|
+
* Object IDs of the context object.
|
|
7218
|
+
*/
|
|
7219
|
+
objectIds: ObjectIds;
|
|
7220
|
+
}>;
|
|
7221
|
+
/**
|
|
7222
|
+
* Current context object.
|
|
7223
|
+
*/
|
|
7224
|
+
currentContext: {
|
|
7225
|
+
/**
|
|
7226
|
+
* Name of the current context object.
|
|
7227
|
+
*/
|
|
7228
|
+
name: string;
|
|
7229
|
+
type: ContextType;
|
|
7230
|
+
objectIds: ObjectIds;
|
|
7231
|
+
};
|
|
7232
|
+
}
|
|
7071
7233
|
/**
|
|
7072
7234
|
* Enum for auth failure types. This is the parameter passed to the listner
|
|
7073
7235
|
* of {@link AuthStatus.FAILURE}.
|
|
@@ -7254,9 +7416,9 @@ export type EmbedApiHostEventMapping = {
|
|
|
7254
7416
|
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
|
|
7255
7417
|
};
|
|
7256
7418
|
export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7257
|
-
export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7419
|
+
export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7258
7420
|
export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
|
|
7259
|
-
export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
|
|
7421
|
+
export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
|
|
7260
7422
|
declare class HostEventClient {
|
|
7261
7423
|
iFrame: HTMLIFrameElement;
|
|
7262
7424
|
constructor(iFrame?: HTMLIFrameElement);
|
|
@@ -7266,18 +7428,18 @@ declare class HostEventClient {
|
|
|
7266
7428
|
* @param {any} data Data to send with the host event
|
|
7267
7429
|
* @returns {Promise<any>} - the response from the process trigger
|
|
7268
7430
|
*/
|
|
7269
|
-
protected processTrigger(message: HostEvent, data: any): Promise<any>;
|
|
7270
|
-
handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT
|
|
7271
|
-
hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
|
|
7431
|
+
protected processTrigger(message: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
7432
|
+
handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
|
|
7433
|
+
hostEventFallback(hostEvent: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
7272
7434
|
/**
|
|
7273
7435
|
* Setter for the iframe element used for host events
|
|
7274
7436
|
* @param {HTMLIFrameElement} iFrame - the iframe element to set
|
|
7275
7437
|
*/
|
|
7276
7438
|
setIframeElement(iFrame: HTMLIFrameElement): void;
|
|
7277
|
-
triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT
|
|
7278
|
-
protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin
|
|
7279
|
-
protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer
|
|
7280
|
-
triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT
|
|
7439
|
+
triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
|
|
7440
|
+
protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
|
|
7441
|
+
protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
|
|
7442
|
+
triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
|
|
7281
7443
|
}
|
|
7282
7444
|
declare class TsEmbed {
|
|
7283
7445
|
/**
|
|
@@ -7424,6 +7586,21 @@ declare class TsEmbed {
|
|
|
7424
7586
|
* @param responder
|
|
7425
7587
|
*/
|
|
7426
7588
|
private appInitCb;
|
|
7589
|
+
/**
|
|
7590
|
+
* Helper method to refresh/update auth token for TrustedAuthTokenCookieless auth type
|
|
7591
|
+
* @param responder - Function to send response back
|
|
7592
|
+
* @param eventType - The embed event type to send
|
|
7593
|
+
* @param forceRefresh - Whether to force refresh the token
|
|
7594
|
+
* @returns Promise that resolves if token was refreshed, rejects otherwise
|
|
7595
|
+
*/
|
|
7596
|
+
private refreshAuthTokenForCookieless;
|
|
7597
|
+
private handleAuthFailure;
|
|
7598
|
+
/**
|
|
7599
|
+
* Refresh the auth token if the autoLogin is true and the authType is TrustedAuthTokenCookieless
|
|
7600
|
+
* @param _
|
|
7601
|
+
* @param responder
|
|
7602
|
+
*/
|
|
7603
|
+
private tokenRefresh;
|
|
7427
7604
|
/**
|
|
7428
7605
|
* Sends updated auth token to the iFrame to avoid user logout
|
|
7429
7606
|
* @param _
|
|
@@ -7599,7 +7776,7 @@ declare class TsEmbed {
|
|
|
7599
7776
|
* @param {any} data The payload to send with the message
|
|
7600
7777
|
* @returns A promise that resolves with the response from the embedded app
|
|
7601
7778
|
*/
|
|
7602
|
-
trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT
|
|
7779
|
+
trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
7603
7780
|
/**
|
|
7604
7781
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
7605
7782
|
* @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
|
|
@@ -7617,6 +7794,12 @@ declare class TsEmbed {
|
|
|
7617
7794
|
render(): Promise<TsEmbed>;
|
|
7618
7795
|
getIframeSrc(): string;
|
|
7619
7796
|
protected handleRenderForPrerender(): Promise<TsEmbed>;
|
|
7797
|
+
/**
|
|
7798
|
+
* Get the current context of the embedded TS component.
|
|
7799
|
+
* @returns The current context object containing the page type and object ids.
|
|
7800
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7801
|
+
*/
|
|
7802
|
+
getCurrentContext(): Promise<ContextObject>;
|
|
7620
7803
|
/**
|
|
7621
7804
|
* Creates the preRender shell
|
|
7622
7805
|
* @param showPreRenderByDefault - Show the preRender after render, hidden by default
|
|
@@ -9501,7 +9684,7 @@ declare class LiveboardEmbed extends V1Embed {
|
|
|
9501
9684
|
* @param {any} data The payload to send with the message
|
|
9502
9685
|
* @returns A promise that resolves with the response from the embedded app
|
|
9503
9686
|
*/
|
|
9504
|
-
trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT
|
|
9687
|
+
trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
9505
9688
|
/**
|
|
9506
9689
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
9507
9690
|
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
@@ -1925,6 +1925,44 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
1925
1925
|
* ```
|
|
1926
1926
|
*/
|
|
1927
1927
|
customActions?: CustomAction[];
|
|
1928
|
+
/**
|
|
1929
|
+
* Refresh the auth token when the token is near expiry.
|
|
1930
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1931
|
+
* @example
|
|
1932
|
+
* ```js
|
|
1933
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1934
|
+
* ... // other embed view config
|
|
1935
|
+
* refreshAuthTokenOnNearExpiry: true,
|
|
1936
|
+
* })
|
|
1937
|
+
* ```
|
|
1938
|
+
*/
|
|
1939
|
+
refreshAuthTokenOnNearExpiry?: boolean;
|
|
1940
|
+
/**
|
|
1941
|
+
* This flag skips payload validation so events can be processed even if the payload is old, incomplete, or from a trusted system.
|
|
1942
|
+
* @default false
|
|
1943
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1944
|
+
* @example
|
|
1945
|
+
* ```js
|
|
1946
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1947
|
+
* ... // other embed view config
|
|
1948
|
+
* shouldBypassPayloadValidation:true,
|
|
1949
|
+
* })
|
|
1950
|
+
* ```
|
|
1951
|
+
*/
|
|
1952
|
+
shouldBypassPayloadValidation?: boolean;
|
|
1953
|
+
/**
|
|
1954
|
+
* Flag to use host events v2. This is used to enable the new host events v2 API.
|
|
1955
|
+
* @default false
|
|
1956
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
1957
|
+
* @example
|
|
1958
|
+
* ```js
|
|
1959
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
1960
|
+
* ... // other embed view config
|
|
1961
|
+
* useHostEventsV2:true,
|
|
1962
|
+
* })
|
|
1963
|
+
* ```
|
|
1964
|
+
*/
|
|
1965
|
+
useHostEventsV2?: boolean;
|
|
1928
1966
|
}
|
|
1929
1967
|
/**
|
|
1930
1968
|
* The configuration object for Home page embeds configs.
|
|
@@ -3922,7 +3960,19 @@ export declare enum EmbedEvent {
|
|
|
3922
3960
|
* ```
|
|
3923
3961
|
* @version SDK: 1.43.0 | ThoughtSpot: 10.15.0.cl
|
|
3924
3962
|
*/
|
|
3925
|
-
ApiIntercept = "ApiIntercept"
|
|
3963
|
+
ApiIntercept = "ApiIntercept",
|
|
3964
|
+
/**
|
|
3965
|
+
* @hidden
|
|
3966
|
+
* Emitted when the auth token is about to get expired and needs to be refreshed.
|
|
3967
|
+
* @example
|
|
3968
|
+
* ```js
|
|
3969
|
+
* embed.on(EmbedEvent.RefreshAuthToken, (payload) => {
|
|
3970
|
+
* console.log('payload', payload);
|
|
3971
|
+
* })
|
|
3972
|
+
* ```
|
|
3973
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
3974
|
+
*/
|
|
3975
|
+
RefreshAuthToken = "RefreshAuthToken"
|
|
3926
3976
|
}
|
|
3927
3977
|
/**
|
|
3928
3978
|
* Event types that can be triggered by the host application
|
|
@@ -5304,7 +5354,18 @@ export declare enum HostEvent {
|
|
|
5304
5354
|
* ```
|
|
5305
5355
|
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
5306
5356
|
*/
|
|
5307
|
-
StartNewSpotterConversation = "StartNewSpotterConversation"
|
|
5357
|
+
StartNewSpotterConversation = "StartNewSpotterConversation",
|
|
5358
|
+
/**
|
|
5359
|
+
* @hidden
|
|
5360
|
+
* Get the current context of the embedded page.
|
|
5361
|
+
*
|
|
5362
|
+
* @example
|
|
5363
|
+
* ```js
|
|
5364
|
+
* const context = await liveboardEmbed.trigger(HostEvent.GetPageContext);
|
|
5365
|
+
* ```
|
|
5366
|
+
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
5367
|
+
*/
|
|
5368
|
+
GetPageContext = "GetPageContext"
|
|
5308
5369
|
}
|
|
5309
5370
|
/**
|
|
5310
5371
|
* ThoughtSpot application pages include actions and menu commands
|
|
@@ -6985,6 +7046,24 @@ export interface EmbedErrorDetailsEvent {
|
|
|
6985
7046
|
/** Additional context-specific for backward compatibility */
|
|
6986
7047
|
[key: string]: any;
|
|
6987
7048
|
}
|
|
7049
|
+
declare enum ContextType {
|
|
7050
|
+
/**
|
|
7051
|
+
* Search answer context for search page or edit viz dialog on liveboard page.
|
|
7052
|
+
*/
|
|
7053
|
+
Search = "search-answer",
|
|
7054
|
+
/**
|
|
7055
|
+
* Liveboard context for liveboard page.
|
|
7056
|
+
*/
|
|
7057
|
+
Liveboard = "liveboard",
|
|
7058
|
+
/**
|
|
7059
|
+
* Answer context for explore modal/page on liveboard page.
|
|
7060
|
+
*/
|
|
7061
|
+
Answer = "answer",
|
|
7062
|
+
/**
|
|
7063
|
+
* Spotter context for spotter modal/page.
|
|
7064
|
+
*/
|
|
7065
|
+
Spotter = "spotter"
|
|
7066
|
+
}
|
|
6988
7067
|
export interface DefaultAppInitData {
|
|
6989
7068
|
customisations: CustomisationsInterface;
|
|
6990
7069
|
authToken: string;
|
|
@@ -7057,6 +7136,89 @@ export type ApiInterceptFlags = {
|
|
|
7057
7136
|
*/
|
|
7058
7137
|
interceptTimeout?: number;
|
|
7059
7138
|
};
|
|
7139
|
+
/**
|
|
7140
|
+
* Object IDs for the embedded component.
|
|
7141
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7142
|
+
*/
|
|
7143
|
+
export interface ObjectIds {
|
|
7144
|
+
/**
|
|
7145
|
+
* Liveboard ID.
|
|
7146
|
+
*/
|
|
7147
|
+
liveboardId?: string;
|
|
7148
|
+
/**
|
|
7149
|
+
* Answer ID.
|
|
7150
|
+
*/
|
|
7151
|
+
answerId?: string;
|
|
7152
|
+
/**
|
|
7153
|
+
* Viz IDs.
|
|
7154
|
+
*/
|
|
7155
|
+
vizIds?: string[];
|
|
7156
|
+
/**
|
|
7157
|
+
* Data model IDs.
|
|
7158
|
+
*/
|
|
7159
|
+
dataModelIds?: string[];
|
|
7160
|
+
/**
|
|
7161
|
+
* Modal title.
|
|
7162
|
+
*/
|
|
7163
|
+
modalTitle?: string;
|
|
7164
|
+
}
|
|
7165
|
+
/**
|
|
7166
|
+
* Context object for the embedded component.
|
|
7167
|
+
* @example
|
|
7168
|
+
* ```js
|
|
7169
|
+
* const context = await embed.getCurrentContext();
|
|
7170
|
+
* console.log(context);
|
|
7171
|
+
* {
|
|
7172
|
+
* stack: [
|
|
7173
|
+
* {
|
|
7174
|
+
* name: 'Liveboard',
|
|
7175
|
+
* type: ContextType.Liveboard,
|
|
7176
|
+
* objectIds: {
|
|
7177
|
+
* liveboardId: '123',
|
|
7178
|
+
* },
|
|
7179
|
+
* },
|
|
7180
|
+
* ],
|
|
7181
|
+
* currentContext: {
|
|
7182
|
+
* name: 'Liveboard',
|
|
7183
|
+
* type: ContextType.Liveboard,
|
|
7184
|
+
* objectIds: {
|
|
7185
|
+
* liveboardId: '123',
|
|
7186
|
+
* },
|
|
7187
|
+
* },
|
|
7188
|
+
* }
|
|
7189
|
+
* ```
|
|
7190
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7191
|
+
*/
|
|
7192
|
+
export interface ContextObject {
|
|
7193
|
+
/**
|
|
7194
|
+
* Stack of context objects.
|
|
7195
|
+
*/
|
|
7196
|
+
stack: Array<{
|
|
7197
|
+
/**
|
|
7198
|
+
* Name of the context object.
|
|
7199
|
+
*/
|
|
7200
|
+
name: string;
|
|
7201
|
+
/**
|
|
7202
|
+
* Type of the context object.
|
|
7203
|
+
*/
|
|
7204
|
+
type: ContextType;
|
|
7205
|
+
/**
|
|
7206
|
+
* Object IDs of the context object.
|
|
7207
|
+
*/
|
|
7208
|
+
objectIds: ObjectIds;
|
|
7209
|
+
}>;
|
|
7210
|
+
/**
|
|
7211
|
+
* Current context object.
|
|
7212
|
+
*/
|
|
7213
|
+
currentContext: {
|
|
7214
|
+
/**
|
|
7215
|
+
* Name of the current context object.
|
|
7216
|
+
*/
|
|
7217
|
+
name: string;
|
|
7218
|
+
type: ContextType;
|
|
7219
|
+
objectIds: ObjectIds;
|
|
7220
|
+
};
|
|
7221
|
+
}
|
|
7060
7222
|
declare enum AuthFailureType {
|
|
7061
7223
|
SDK = "SDK",
|
|
7062
7224
|
NO_COOKIE_ACCESS = "NO_COOKIE_ACCESS",
|
|
@@ -7230,9 +7392,9 @@ export type EmbedApiHostEventMapping = {
|
|
|
7230
7392
|
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
|
|
7231
7393
|
};
|
|
7232
7394
|
export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7233
|
-
export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7395
|
+
export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
7234
7396
|
export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
|
|
7235
|
-
export type TriggerResponse<PayloadT, HostEventT extends HostEvent> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
|
|
7397
|
+
export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
|
|
7236
7398
|
declare class HostEventClient {
|
|
7237
7399
|
iFrame: HTMLIFrameElement;
|
|
7238
7400
|
constructor(iFrame?: HTMLIFrameElement);
|
|
@@ -7242,18 +7404,18 @@ declare class HostEventClient {
|
|
|
7242
7404
|
* @param {any} data Data to send with the host event
|
|
7243
7405
|
* @returns {Promise<any>} - the response from the process trigger
|
|
7244
7406
|
*/
|
|
7245
|
-
protected processTrigger(message: HostEvent, data: any): Promise<any>;
|
|
7246
|
-
handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT
|
|
7247
|
-
hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
|
|
7407
|
+
protected processTrigger(message: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
7408
|
+
handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughResponse<UIPassthroughEventT>>;
|
|
7409
|
+
hostEventFallback(hostEvent: HostEvent, data: any, context?: ContextType): Promise<any>;
|
|
7248
7410
|
/**
|
|
7249
7411
|
* Setter for the iframe element used for host events
|
|
7250
7412
|
* @param {HTMLIFrameElement} iFrame - the iframe element to set
|
|
7251
7413
|
*/
|
|
7252
7414
|
setIframeElement(iFrame: HTMLIFrameElement): void;
|
|
7253
|
-
triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT
|
|
7254
|
-
protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin
|
|
7255
|
-
protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer
|
|
7256
|
-
triggerHostEvent<HostEventT extends HostEvent, PayloadT>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT
|
|
7415
|
+
triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(apiName: UIPassthroughEventT, parameters: UIPassthroughRequest<UIPassthroughEventT>, context?: ContextType): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>>;
|
|
7416
|
+
protected handlePinEvent(payload: HostEventRequest<HostEvent.Pin>, context?: ContextType): Promise<HostEventResponse<HostEvent.Pin, ContextType>>;
|
|
7417
|
+
protected handleSaveAnswerEvent(payload: HostEventRequest<HostEvent.SaveAnswer>, context?: ContextType): Promise<any>;
|
|
7418
|
+
triggerHostEvent<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
|
|
7257
7419
|
}
|
|
7258
7420
|
declare class TsEmbed {
|
|
7259
7421
|
/**
|
|
@@ -7400,6 +7562,21 @@ declare class TsEmbed {
|
|
|
7400
7562
|
* @param responder
|
|
7401
7563
|
*/
|
|
7402
7564
|
private appInitCb;
|
|
7565
|
+
/**
|
|
7566
|
+
* Helper method to refresh/update auth token for TrustedAuthTokenCookieless auth type
|
|
7567
|
+
* @param responder - Function to send response back
|
|
7568
|
+
* @param eventType - The embed event type to send
|
|
7569
|
+
* @param forceRefresh - Whether to force refresh the token
|
|
7570
|
+
* @returns Promise that resolves if token was refreshed, rejects otherwise
|
|
7571
|
+
*/
|
|
7572
|
+
private refreshAuthTokenForCookieless;
|
|
7573
|
+
private handleAuthFailure;
|
|
7574
|
+
/**
|
|
7575
|
+
* Refresh the auth token if the autoLogin is true and the authType is TrustedAuthTokenCookieless
|
|
7576
|
+
* @param _
|
|
7577
|
+
* @param responder
|
|
7578
|
+
*/
|
|
7579
|
+
private tokenRefresh;
|
|
7403
7580
|
/**
|
|
7404
7581
|
* Sends updated auth token to the iFrame to avoid user logout
|
|
7405
7582
|
* @param _
|
|
@@ -7575,7 +7752,7 @@ declare class TsEmbed {
|
|
|
7575
7752
|
* @param {any} data The payload to send with the message
|
|
7576
7753
|
* @returns A promise that resolves with the response from the embedded app
|
|
7577
7754
|
*/
|
|
7578
|
-
trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT
|
|
7755
|
+
trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
7579
7756
|
/**
|
|
7580
7757
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
7581
7758
|
* @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
|
|
@@ -7593,6 +7770,12 @@ declare class TsEmbed {
|
|
|
7593
7770
|
render(): Promise<TsEmbed>;
|
|
7594
7771
|
getIframeSrc(): string;
|
|
7595
7772
|
protected handleRenderForPrerender(): Promise<TsEmbed>;
|
|
7773
|
+
/**
|
|
7774
|
+
* Get the current context of the embedded TS component.
|
|
7775
|
+
* @returns The current context object containing the page type and object ids.
|
|
7776
|
+
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
7777
|
+
*/
|
|
7778
|
+
getCurrentContext(): Promise<ContextObject>;
|
|
7596
7779
|
/**
|
|
7597
7780
|
* Creates the preRender shell
|
|
7598
7781
|
* @param showPreRenderByDefault - Show the preRender after render, hidden by default
|
|
@@ -9473,7 +9656,7 @@ declare class LiveboardEmbed extends V1Embed {
|
|
|
9473
9656
|
* @param {any} data The payload to send with the message
|
|
9474
9657
|
* @returns A promise that resolves with the response from the embedded app
|
|
9475
9658
|
*/
|
|
9476
|
-
trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT
|
|
9659
|
+
trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
9477
9660
|
/**
|
|
9478
9661
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
9479
9662
|
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|