@thoughtspot/visual-embed-sdk 1.24.0-preRender.0 → 1.24.0-preRender.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/cjs/package.json +1 -1
- package/cjs/src/embed/TsEmbed.d.ts +302 -0
- package/cjs/src/embed/TsEmbed.d.ts.map +1 -0
- package/cjs/src/embed/TsEmbed.js +851 -0
- package/cjs/src/embed/TsEmbed.js.map +1 -0
- package/cjs/src/embed/app.d.ts +1 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +1 -0
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +7 -6
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +50 -49
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +14 -1
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +1 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +7 -7
- package/cjs/src/utils.js.map +1 -1
- package/dist/src/embed/app.d.ts +1 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +7 -6
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +14 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +57 -55
- package/dist/tsembed-react.js +57 -55
- package/dist/tsembed.es.js +57 -55
- package/dist/tsembed.js +57 -55
- package/dist/visual-embed-sdk-react-full.d.ts +22 -7
- package/dist/visual-embed-sdk-react.d.ts +22 -7
- package/dist/visual-embed-sdk.d.ts +22 -7
- package/lib/package.json +1 -1
- package/lib/src/embed/TsEmbed.d.ts +302 -0
- package/lib/src/embed/TsEmbed.d.ts.map +1 -0
- package/lib/src/embed/TsEmbed.js +847 -0
- package/lib/src/embed/TsEmbed.js.map +1 -0
- package/lib/src/embed/app.d.ts +1 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +1 -0
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +7 -6
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +50 -49
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +14 -1
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +1 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +5 -5
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +22 -7
- package/package.json +1 -1
- package/src/embed/app.ts +3 -6
- package/src/embed/ts-embed.ts +61 -48
- package/src/react/index.tsx +13 -11
- package/src/types.ts +14 -2
- package/src/utils.ts +6 -7
|
@@ -584,6 +584,7 @@ export declare class AppEmbed extends V1Embed {
|
|
|
584
584
|
*
|
|
585
585
|
* @param renderOptions An object containing the page ID
|
|
586
586
|
* to be embedded.
|
|
587
|
+
* @param showPreRenderByDefault
|
|
587
588
|
*/
|
|
588
589
|
render(showPreRenderByDefault?: boolean): AppEmbed;
|
|
589
590
|
preRender(showPreRenderByDefault?: boolean): AppEmbed;
|
|
@@ -1496,6 +1497,7 @@ export interface ViewConfig {
|
|
|
1496
1497
|
/**
|
|
1497
1498
|
* reordering the home page modules
|
|
1498
1499
|
* eg: reorderedHomepageModules = [HomepageModule.MyLibrary, HomepageModule.Watchlist]
|
|
1500
|
+
*
|
|
1499
1501
|
* @version SDK: 1.28.0 | Thoughtspot: 9.9.0.cl
|
|
1500
1502
|
*/
|
|
1501
1503
|
reorderedHomepageModules?: HomepageModule[];
|
|
@@ -1528,7 +1530,19 @@ export interface ViewConfig {
|
|
|
1528
1530
|
*/
|
|
1529
1531
|
hiddenHomeLeftNavItems?: HomeLeftNavItem[];
|
|
1530
1532
|
/**
|
|
1531
|
-
*
|
|
1533
|
+
* PreRender id to be used for PreRendering the embed.
|
|
1534
|
+
* Use PreRender to render the embed in the background and then
|
|
1535
|
+
* show or hide the rendered embed using showPreRender or hidePreRender respectively.
|
|
1536
|
+
*
|
|
1537
|
+
* @example
|
|
1538
|
+
* ```js
|
|
1539
|
+
* const embed = new LiveboardEmbed('#embed', {
|
|
1540
|
+
* ... // other liveboard view config
|
|
1541
|
+
* preRenderId: "preRenderId-123"
|
|
1542
|
+
* });
|
|
1543
|
+
* embed.showPreRender();
|
|
1544
|
+
* ```
|
|
1545
|
+
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
|
|
1532
1546
|
*/
|
|
1533
1547
|
preRenderId?: string;
|
|
1534
1548
|
}
|
|
@@ -3954,14 +3968,13 @@ export declare class TsEmbed {
|
|
|
3954
3968
|
protected getEmbedParams(): string;
|
|
3955
3969
|
protected getRootIframeSrc(): string;
|
|
3956
3970
|
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
3971
|
+
protected handleInsertionIntoDOM(child: string | Node, showPreRenderByDefault?: boolean): void;
|
|
3957
3972
|
/**
|
|
3958
3973
|
* Renders the embedded ThoughtSpot app in an iframe and sets up
|
|
3959
3974
|
* event listeners.
|
|
3960
3975
|
*
|
|
3961
|
-
* @param url
|
|
3962
|
-
* @param
|
|
3963
|
-
* @param showPreRender
|
|
3964
|
-
* @param showPreRenderByDefault
|
|
3976
|
+
* @param url - The URL of the embedded ThoughtSpot app.
|
|
3977
|
+
* @param showPreRenderByDefault - The flag to show the preRender by default.
|
|
3965
3978
|
*/
|
|
3966
3979
|
protected renderIFrame(url: string, showPreRenderByDefault?: boolean): Promise<any>;
|
|
3967
3980
|
getPreRenderIds(): {
|
|
@@ -3971,11 +3984,10 @@ export declare class TsEmbed {
|
|
|
3971
3984
|
};
|
|
3972
3985
|
protected createPreRenderWrapper(child: HTMLElement): HTMLDivElement;
|
|
3973
3986
|
protected preRenderWrapper: HTMLElement;
|
|
3974
|
-
protected preRenderShield: HTMLElement;
|
|
3975
3987
|
protected preRenderChild: HTMLElement;
|
|
3976
3988
|
protected connectPreRendered(): boolean;
|
|
3977
3989
|
protected isPreRenderAvailable(): boolean;
|
|
3978
|
-
protected insertIntoDOMForPreRender(child: string | HTMLElement): void;
|
|
3990
|
+
protected insertIntoDOMForPreRender(child: string | HTMLElement, showPreRenderByDefault?: boolean): void;
|
|
3979
3991
|
hidePreRender(): void;
|
|
3980
3992
|
showPreRender(): void;
|
|
3981
3993
|
syncPreRenderStyle(): void;
|
|
@@ -4077,6 +4089,8 @@ export declare class TsEmbed {
|
|
|
4077
4089
|
render(): TsEmbed;
|
|
4078
4090
|
/**
|
|
4079
4091
|
* Creates the preRender shell
|
|
4092
|
+
*
|
|
4093
|
+
* @param showPreRenderByDefault
|
|
4080
4094
|
*/
|
|
4081
4095
|
preRender(showPreRenderByDefault?: boolean): TsEmbed;
|
|
4082
4096
|
/**
|
|
@@ -4118,6 +4132,7 @@ export declare class V1Embed extends TsEmbed {
|
|
|
4118
4132
|
* Render the app in an iframe and set up event handlers
|
|
4119
4133
|
*
|
|
4120
4134
|
* @param iframeSrc
|
|
4135
|
+
* @param showPreRenderByDefault - if true the preRender will be shown by default
|
|
4121
4136
|
*/
|
|
4122
4137
|
protected renderV1Embed(iframeSrc: string, showPreRenderByDefault?: boolean): any;
|
|
4123
4138
|
protected getRootIframeSrc(): string;
|
|
@@ -204,6 +204,7 @@ export class AppEmbed extends V1Embed {
|
|
|
204
204
|
*
|
|
205
205
|
* @param renderOptions An object containing the page ID
|
|
206
206
|
* to be embedded.
|
|
207
|
+
* @param showPreRenderByDefault
|
|
207
208
|
*/
|
|
208
209
|
render(showPreRenderByDefault?: boolean): AppEmbed;
|
|
209
210
|
preRender(showPreRenderByDefault?: boolean): AppEmbed;
|
|
@@ -1556,6 +1557,7 @@ export interface ViewConfig {
|
|
|
1556
1557
|
/**
|
|
1557
1558
|
* reordering the home page modules
|
|
1558
1559
|
* eg: reorderedHomepageModules = [HomepageModule.MyLibrary, HomepageModule.Watchlist]
|
|
1560
|
+
*
|
|
1559
1561
|
* @version SDK: 1.28.0 | Thoughtspot: 9.9.0.cl
|
|
1560
1562
|
*/
|
|
1561
1563
|
reorderedHomepageModules?: HomepageModule[];
|
|
@@ -1588,7 +1590,19 @@ export interface ViewConfig {
|
|
|
1588
1590
|
*/
|
|
1589
1591
|
hiddenHomeLeftNavItems?: HomeLeftNavItem[];
|
|
1590
1592
|
/**
|
|
1591
|
-
*
|
|
1593
|
+
* PreRender id to be used for PreRendering the embed.
|
|
1594
|
+
* Use PreRender to render the embed in the background and then
|
|
1595
|
+
* show or hide the rendered embed using showPreRender or hidePreRender respectively.
|
|
1596
|
+
*
|
|
1597
|
+
* @example
|
|
1598
|
+
* ```js
|
|
1599
|
+
* const embed = new LiveboardEmbed('#embed', {
|
|
1600
|
+
* ... // other liveboard view config
|
|
1601
|
+
* preRenderId: "preRenderId-123"
|
|
1602
|
+
* });
|
|
1603
|
+
* embed.showPreRender();
|
|
1604
|
+
* ```
|
|
1605
|
+
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
|
|
1592
1606
|
*/
|
|
1593
1607
|
preRenderId?: string;
|
|
1594
1608
|
}
|
|
@@ -4513,14 +4527,13 @@ export class TsEmbed {
|
|
|
4513
4527
|
protected getEmbedParams(): string;
|
|
4514
4528
|
protected getRootIframeSrc(): string;
|
|
4515
4529
|
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
4530
|
+
protected handleInsertionIntoDOM(child: string | Node, showPreRenderByDefault?: boolean): void;
|
|
4516
4531
|
/**
|
|
4517
4532
|
* Renders the embedded ThoughtSpot app in an iframe and sets up
|
|
4518
4533
|
* event listeners.
|
|
4519
4534
|
*
|
|
4520
|
-
* @param url
|
|
4521
|
-
* @param
|
|
4522
|
-
* @param showPreRender
|
|
4523
|
-
* @param showPreRenderByDefault
|
|
4535
|
+
* @param url - The URL of the embedded ThoughtSpot app.
|
|
4536
|
+
* @param showPreRenderByDefault - The flag to show the preRender by default.
|
|
4524
4537
|
*/
|
|
4525
4538
|
protected renderIFrame(url: string, showPreRenderByDefault?: boolean): Promise<any>;
|
|
4526
4539
|
getPreRenderIds(): {
|
|
@@ -4530,11 +4543,10 @@ export class TsEmbed {
|
|
|
4530
4543
|
};
|
|
4531
4544
|
protected createPreRenderWrapper(child: HTMLElement): HTMLDivElement;
|
|
4532
4545
|
protected preRenderWrapper: HTMLElement;
|
|
4533
|
-
protected preRenderShield: HTMLElement;
|
|
4534
4546
|
protected preRenderChild: HTMLElement;
|
|
4535
4547
|
protected connectPreRendered(): boolean;
|
|
4536
4548
|
protected isPreRenderAvailable(): boolean;
|
|
4537
|
-
protected insertIntoDOMForPreRender(child: string | HTMLElement): void;
|
|
4549
|
+
protected insertIntoDOMForPreRender(child: string | HTMLElement, showPreRenderByDefault?: boolean): void;
|
|
4538
4550
|
hidePreRender(): void;
|
|
4539
4551
|
showPreRender(): void;
|
|
4540
4552
|
syncPreRenderStyle(): void;
|
|
@@ -4636,6 +4648,8 @@ export class TsEmbed {
|
|
|
4636
4648
|
render(): TsEmbed;
|
|
4637
4649
|
/**
|
|
4638
4650
|
* Creates the preRender shell
|
|
4651
|
+
*
|
|
4652
|
+
* @param showPreRenderByDefault
|
|
4639
4653
|
*/
|
|
4640
4654
|
preRender(showPreRenderByDefault?: boolean): TsEmbed;
|
|
4641
4655
|
/**
|
|
@@ -4677,6 +4691,7 @@ export class V1Embed extends TsEmbed {
|
|
|
4677
4691
|
* Render the app in an iframe and set up event handlers
|
|
4678
4692
|
*
|
|
4679
4693
|
* @param iframeSrc
|
|
4694
|
+
* @param showPreRenderByDefault - if true the preRender will be shown by default
|
|
4680
4695
|
*/
|
|
4681
4696
|
protected renderV1Embed(iframeSrc: string, showPreRenderByDefault?: boolean): any;
|
|
4682
4697
|
protected getRootIframeSrc(): string;
|
package/lib/package.json
CHANGED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { DOMSelector, HostEvent, EmbedEvent, MessageCallback, EmbedConfig, MessageOptions, ViewConfig } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Base class for embedding v2 experience
|
|
4
|
+
* Note: the v2 version of ThoughtSpot Blink is built on the new stack:
|
|
5
|
+
* React+GraphQL
|
|
6
|
+
*/
|
|
7
|
+
export declare class TsEmbed {
|
|
8
|
+
/**
|
|
9
|
+
* The DOM node which was inserted by the SDK to either
|
|
10
|
+
* render the iframe or display an error message.
|
|
11
|
+
* This is useful for removing the DOM node when the
|
|
12
|
+
* embed instance is destroyed.
|
|
13
|
+
*/
|
|
14
|
+
private insertedDomEl;
|
|
15
|
+
/**
|
|
16
|
+
* The DOM node where the ThoughtSpot app is to be embedded.
|
|
17
|
+
*/
|
|
18
|
+
private el;
|
|
19
|
+
protected isAppInitialized: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* A reference to the iframe within which the ThoughtSpot app
|
|
22
|
+
* will be rendered.
|
|
23
|
+
*/
|
|
24
|
+
protected iFrame: HTMLIFrameElement;
|
|
25
|
+
protected viewConfig: ViewConfig;
|
|
26
|
+
protected embedConfig: EmbedConfig;
|
|
27
|
+
/**
|
|
28
|
+
* The ThoughtSpot hostname or IP address
|
|
29
|
+
*/
|
|
30
|
+
protected thoughtSpotHost: string;
|
|
31
|
+
protected thoughtSpotV2Base: string;
|
|
32
|
+
protected embedComponentType: string;
|
|
33
|
+
/**
|
|
34
|
+
* A map of event handlers for particular message types triggered
|
|
35
|
+
* by the embedded app; multiple event handlers can be registered
|
|
36
|
+
* against a particular message type.
|
|
37
|
+
*/
|
|
38
|
+
private eventHandlerMap;
|
|
39
|
+
/**
|
|
40
|
+
* A flag that is set to true post render.
|
|
41
|
+
*/
|
|
42
|
+
private isRendered;
|
|
43
|
+
/**
|
|
44
|
+
* A flag to mark if an error has occurred.
|
|
45
|
+
*/
|
|
46
|
+
private isError;
|
|
47
|
+
/**
|
|
48
|
+
* Should we encode URL Query Params using base64 encoding which thoughtspot
|
|
49
|
+
* will generate for embedding. This provides additional security to
|
|
50
|
+
* thoughtspot clusters against Cross site scripting attacks.
|
|
51
|
+
*
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
private shouldEncodeUrlQueryParams;
|
|
55
|
+
private defaultHiddenActions;
|
|
56
|
+
constructor(domSelector: DOMSelector, viewConfig?: ViewConfig);
|
|
57
|
+
/**
|
|
58
|
+
* Throws error encountered during initialization.
|
|
59
|
+
*/
|
|
60
|
+
private throwInitError;
|
|
61
|
+
/**
|
|
62
|
+
* Handles errors within the SDK
|
|
63
|
+
*
|
|
64
|
+
* @param error The error message or object
|
|
65
|
+
*/
|
|
66
|
+
protected handleError(error: string | Record<string, unknown>): void;
|
|
67
|
+
/**
|
|
68
|
+
* Extracts the type field from the event payload
|
|
69
|
+
*
|
|
70
|
+
* @param event The window message event
|
|
71
|
+
*/
|
|
72
|
+
private getEventType;
|
|
73
|
+
/**
|
|
74
|
+
* Extracts the port field from the event payload
|
|
75
|
+
*
|
|
76
|
+
* @param event The window message event
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
79
|
+
private getEventPort;
|
|
80
|
+
/**
|
|
81
|
+
* fix for ts7.sep.cl
|
|
82
|
+
* will be removed for ts7.oct.cl
|
|
83
|
+
*
|
|
84
|
+
* @param event
|
|
85
|
+
* @param eventType
|
|
86
|
+
* @hidden
|
|
87
|
+
*/
|
|
88
|
+
private formatEventData;
|
|
89
|
+
private subscribedListeners;
|
|
90
|
+
/**
|
|
91
|
+
* Adds a global event listener to window for "message" events.
|
|
92
|
+
* ThoughtSpot detects if a particular event is targeted to this
|
|
93
|
+
* embed instance through an identifier contained in the payload,
|
|
94
|
+
* and executes the registered callbacks accordingly.
|
|
95
|
+
*/
|
|
96
|
+
private subscribeToEvents;
|
|
97
|
+
private unsubscribeToEvents;
|
|
98
|
+
/**
|
|
99
|
+
* Send Custom style as part of payload of APP_INIT
|
|
100
|
+
*
|
|
101
|
+
* @param _
|
|
102
|
+
* @param responder
|
|
103
|
+
*/
|
|
104
|
+
private appInitCb;
|
|
105
|
+
/**
|
|
106
|
+
* Sends updated auth token to the iFrame to avoid user logout
|
|
107
|
+
*
|
|
108
|
+
* @param _
|
|
109
|
+
* @param responder
|
|
110
|
+
*/
|
|
111
|
+
private updateAuthToken;
|
|
112
|
+
/**
|
|
113
|
+
* Register APP_INIT event and sendback init payload
|
|
114
|
+
*/
|
|
115
|
+
private registerAppInit;
|
|
116
|
+
/**
|
|
117
|
+
* Constructs the base URL string to load the ThoughtSpot app.
|
|
118
|
+
*
|
|
119
|
+
* @param query
|
|
120
|
+
*/
|
|
121
|
+
protected getEmbedBasePath(query: string): string;
|
|
122
|
+
/**
|
|
123
|
+
* Common query params set for all the embed modes.
|
|
124
|
+
*
|
|
125
|
+
* @param queryParams
|
|
126
|
+
* @returns queryParams
|
|
127
|
+
*/
|
|
128
|
+
protected getBaseQueryParams(queryParams?: {}): {};
|
|
129
|
+
/**
|
|
130
|
+
* Constructs the base URL string to load v1 of the ThoughtSpot app.
|
|
131
|
+
* This is used for embedding Liveboards, visualizations, and full application.
|
|
132
|
+
*
|
|
133
|
+
* @param queryString The query string to append to the URL.
|
|
134
|
+
* @param isAppEmbed A Boolean parameter to specify if you are embedding
|
|
135
|
+
* the full application.
|
|
136
|
+
*/
|
|
137
|
+
protected getV1EmbedBasePath(queryString: string): string;
|
|
138
|
+
protected getEmbedParams(): string;
|
|
139
|
+
protected getRootIframeSrc(): string;
|
|
140
|
+
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
141
|
+
protected handleInsertionIntoDOM(child: string | Node, showPreRenderByDefault?: boolean): void;
|
|
142
|
+
/**
|
|
143
|
+
* Renders the embedded ThoughtSpot app in an iframe and sets up
|
|
144
|
+
* event listeners.
|
|
145
|
+
*
|
|
146
|
+
* @param url - The URL of the embedded ThoughtSpot app.
|
|
147
|
+
* @param showPreRenderByDefault - The flag to show the preRender by default.
|
|
148
|
+
*/
|
|
149
|
+
protected renderIFrame(url: string, showPreRenderByDefault?: boolean): Promise<any>;
|
|
150
|
+
getPreRenderIds(): {
|
|
151
|
+
wrapper: string;
|
|
152
|
+
shield: string;
|
|
153
|
+
child: string;
|
|
154
|
+
};
|
|
155
|
+
protected createPreRenderWrapper(child: HTMLElement): HTMLDivElement;
|
|
156
|
+
protected preRenderWrapper: HTMLElement;
|
|
157
|
+
protected preRenderChild: HTMLElement;
|
|
158
|
+
protected connectPreRendered(): boolean;
|
|
159
|
+
protected isPreRenderAvailable(): boolean;
|
|
160
|
+
protected insertIntoDOMForPreRender(child: string | HTMLElement, showPreRenderByDefault?: boolean): void;
|
|
161
|
+
hidePreRender(): void;
|
|
162
|
+
showPreRender(): void;
|
|
163
|
+
syncPreRenderStyle(): void;
|
|
164
|
+
protected insertIntoDOM(child: string | Node): void;
|
|
165
|
+
/**
|
|
166
|
+
* Sets the height of the iframe
|
|
167
|
+
*
|
|
168
|
+
* @param height The height in pixels
|
|
169
|
+
*/
|
|
170
|
+
protected setIFrameHeight(height: number | string): void;
|
|
171
|
+
/**
|
|
172
|
+
* Executes all registered event handlers for a particular event type
|
|
173
|
+
*
|
|
174
|
+
* @param eventType The event type
|
|
175
|
+
* @param data The payload invoked with the event handler
|
|
176
|
+
* @param eventPort The event Port for a specific MessageChannel
|
|
177
|
+
*/
|
|
178
|
+
protected executeCallbacks(eventType: EmbedEvent, data: any, eventPort?: MessagePort | void): void;
|
|
179
|
+
/**
|
|
180
|
+
* Returns the ThoughtSpot hostname or IP address.
|
|
181
|
+
*/
|
|
182
|
+
protected getThoughtSpotHost(): string;
|
|
183
|
+
/**
|
|
184
|
+
* Gets the v1 event type (if applicable) for the EmbedEvent type
|
|
185
|
+
*
|
|
186
|
+
* @param eventType The v2 event type
|
|
187
|
+
* @returns The corresponding v1 event type if one exists
|
|
188
|
+
* or else the v2 event type itself
|
|
189
|
+
*/
|
|
190
|
+
protected getCompatibleEventType(eventType: EmbedEvent): EmbedEvent;
|
|
191
|
+
/**
|
|
192
|
+
* Calculates the iframe center for the current visible viewPort
|
|
193
|
+
* of iframe using Scroll position of Host App, offsetTop for iframe
|
|
194
|
+
* in Host app. ViewPort height of the tab.
|
|
195
|
+
*
|
|
196
|
+
* @returns iframe Center in visible viewport,
|
|
197
|
+
* Iframe height,
|
|
198
|
+
* View port height.
|
|
199
|
+
*/
|
|
200
|
+
protected getIframeCenter(): {
|
|
201
|
+
iframeCenter: number;
|
|
202
|
+
iframeScrolled: number;
|
|
203
|
+
iframeHeight: number;
|
|
204
|
+
viewPortHeight: number;
|
|
205
|
+
iframeVisibleViewPort: number;
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Registers an event listener to trigger an alert when the ThoughtSpot app
|
|
209
|
+
* sends an event of a particular message type to the host application.
|
|
210
|
+
*
|
|
211
|
+
* @param messageType The message type
|
|
212
|
+
* @param callback A callback as a function
|
|
213
|
+
* @param options The message options
|
|
214
|
+
* @param isSelf
|
|
215
|
+
* @param isRegisteredBySDK
|
|
216
|
+
* @example
|
|
217
|
+
* ```js
|
|
218
|
+
* tsEmbed.on(EmbedEvent.Error, (data) => {
|
|
219
|
+
* console.error(data);
|
|
220
|
+
* });
|
|
221
|
+
* ```
|
|
222
|
+
* @example
|
|
223
|
+
* ```js
|
|
224
|
+
* tsEmbed.on(EmbedEvent.Save, (data) => {
|
|
225
|
+
* console.log("Answer save clicked", data);
|
|
226
|
+
* }, {
|
|
227
|
+
* start: true // This will trigger the callback on start of save
|
|
228
|
+
* });
|
|
229
|
+
* ```
|
|
230
|
+
*/
|
|
231
|
+
on(messageType: EmbedEvent, callback: MessageCallback, options?: MessageOptions, isRegisteredBySDK?: boolean): typeof TsEmbed.prototype;
|
|
232
|
+
/**
|
|
233
|
+
* Removes an event listener for a particular event type.
|
|
234
|
+
*
|
|
235
|
+
* @param messageType The message type
|
|
236
|
+
* @param callback The callback to remove
|
|
237
|
+
* @example
|
|
238
|
+
* ```js
|
|
239
|
+
* const errorHandler = (data) => { console.error(data); };
|
|
240
|
+
* tsEmbed.on(EmbedEvent.Error, errorHandler);
|
|
241
|
+
* tsEmbed.off(EmbedEvent.Error, errorHandler);
|
|
242
|
+
* ```
|
|
243
|
+
*/
|
|
244
|
+
off(messageType: EmbedEvent, callback: MessageCallback): typeof TsEmbed.prototype;
|
|
245
|
+
/**
|
|
246
|
+
* Triggers an event on specific Port registered against
|
|
247
|
+
* for the EmbedEvent
|
|
248
|
+
*
|
|
249
|
+
* @param eventType The message type
|
|
250
|
+
* @param data The payload to send
|
|
251
|
+
* @param eventPort
|
|
252
|
+
* @param payload
|
|
253
|
+
*/
|
|
254
|
+
private triggerEventOnPort;
|
|
255
|
+
/**
|
|
256
|
+
* Triggers an event to the embedded app
|
|
257
|
+
*
|
|
258
|
+
* @param messageType The event type
|
|
259
|
+
* @param data The payload to send with the message
|
|
260
|
+
*/
|
|
261
|
+
trigger(messageType: HostEvent, data?: any): Promise<any>;
|
|
262
|
+
/**
|
|
263
|
+
* Marks the ThoughtSpot object to have been rendered
|
|
264
|
+
* Needs to be overridden by subclasses to do the actual
|
|
265
|
+
* rendering of the iframe.
|
|
266
|
+
*
|
|
267
|
+
* @param args
|
|
268
|
+
*/
|
|
269
|
+
render(): TsEmbed;
|
|
270
|
+
private isPreRendered;
|
|
271
|
+
/**
|
|
272
|
+
* Creates the preRender shell
|
|
273
|
+
*
|
|
274
|
+
* @param showPreRenderByDefault
|
|
275
|
+
*/
|
|
276
|
+
preRender(showPreRenderByDefault?: boolean): TsEmbed;
|
|
277
|
+
/**
|
|
278
|
+
* Get the Post Url Params for THOUGHTSPOT from the current
|
|
279
|
+
* host app URL.
|
|
280
|
+
* THOUGHTSPOT URL params starts with a prefix "ts-"
|
|
281
|
+
*
|
|
282
|
+
* @version SDK: 1.14.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
|
|
283
|
+
*/
|
|
284
|
+
getThoughtSpotPostUrlParams(): string;
|
|
285
|
+
/**
|
|
286
|
+
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
287
|
+
*
|
|
288
|
+
* @version SDK: 1.19.1 | ThoughtSpot: *
|
|
289
|
+
*/
|
|
290
|
+
destroy(): void;
|
|
291
|
+
getUnderlyingFrameElement(): HTMLIFrameElement;
|
|
292
|
+
/**
|
|
293
|
+
* Prerenders a generic instance of the TS component.
|
|
294
|
+
* This means without the path but with the flags already applied.
|
|
295
|
+
* This is useful for prerendering the component in the background.
|
|
296
|
+
*
|
|
297
|
+
* @version SDK: 1.22.0
|
|
298
|
+
* @returns
|
|
299
|
+
*/
|
|
300
|
+
prerenderGeneric(): Promise<any>;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=TsEmbed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TsEmbed.d.ts","sourceRoot":"","sources":["../../../src/embed/TsEmbed.ts"],"names":[],"mappings":"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"}
|