@thoughtspot/visual-embed-sdk 1.21.0-alpha.9 → 1.21.0-react.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 +11 -8
- package/cjs/src/auth.d.ts +2 -0
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +2 -0
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/embed/app.d.ts +28 -1
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +32 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +67 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +16 -0
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +85 -1
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/base.spec.js +127 -0
- package/cjs/src/embed/base.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +19 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/pinboard.spec.js +19 -0
- package/cjs/src/embed/pinboard.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +2 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +24 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/searchEmbed-basic-auth.spec.js +1 -1
- package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +3 -3
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +28 -9
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +82 -6
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +4 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +11 -6
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +3 -0
- package/cjs/src/react/all-types-export.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.js +29 -0
- package/cjs/src/react/all-types-export.js.map +1 -0
- package/cjs/src/react/all-types-export.spec.d.ts +2 -0
- package/cjs/src/react/all-types-export.spec.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.spec.js +13 -0
- package/cjs/src/react/all-types-export.spec.js.map +1 -0
- package/cjs/src/react/index.d.ts +63 -6
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +65 -2
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +12 -2
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +2 -2
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/types.d.ts +158 -19
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +112 -16
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +6 -0
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +10 -8
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils/processTrigger.spec.js +5 -2
- package/cjs/src/utils/processTrigger.spec.js.map +1 -1
- package/cjs/src/utils.d.ts +1 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +3 -1
- package/cjs/src/utils.js.map +1 -1
- package/dist/src/auth.d.ts +2 -0
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +28 -1
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +16 -0
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +3 -3
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +3 -0
- package/dist/src/react/all-types-export.d.ts.map +1 -0
- package/dist/src/react/all-types-export.spec.d.ts +2 -0
- package/dist/src/react/all-types-export.spec.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +63 -6
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +158 -19
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +6 -0
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +28044 -0
- package/dist/tsembed-react.js +27986 -0
- package/dist/tsembed.es.js +279 -43
- package/dist/tsembed.js +280 -46
- package/dist/visual-embed-sdk-react-full.d.ts +3112 -0
- package/dist/visual-embed-sdk-react.d.ts +2781 -0
- package/dist/visual-embed-sdk.d.ts +3005 -0
- package/lib/package.json +11 -8
- package/lib/src/auth.d.ts +2 -0
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +2 -0
- package/lib/src/auth.js.map +1 -1
- package/lib/src/embed/app.d.ts +28 -1
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +33 -2
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +68 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +16 -0
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +83 -1
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js +127 -0
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +19 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +19 -0
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +2 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +24 -0
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/searchEmbed-basic-auth.spec.js +1 -1
- package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +3 -3
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +30 -11
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +83 -7
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +4 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +11 -6
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +3 -0
- package/lib/src/react/all-types-export.d.ts.map +1 -0
- package/lib/src/react/all-types-export.js +5 -0
- package/lib/src/react/all-types-export.js.map +1 -0
- package/lib/src/react/all-types-export.spec.d.ts +2 -0
- package/lib/src/react/all-types-export.spec.d.ts.map +1 -0
- package/lib/src/react/all-types-export.spec.js +10 -0
- package/lib/src/react/all-types-export.spec.js.map +1 -0
- package/lib/src/react/index.d.ts +63 -6
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +59 -1
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +12 -2
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +2 -2
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +158 -19
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +112 -16
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +6 -0
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +7 -6
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js +5 -2
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts +1 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +1 -0
- package/lib/src/utils.js.map +1 -1
- package/package.json +11 -8
- package/src/auth.ts +2 -0
- package/src/embed/app.spec.ts +84 -1
- package/src/embed/app.ts +59 -2
- package/src/embed/base.spec.ts +144 -0
- package/src/embed/base.ts +107 -0
- package/src/embed/liveboard.spec.ts +23 -0
- package/src/embed/pinboard.spec.ts +23 -0
- package/src/embed/search.spec.ts +28 -0
- package/src/embed/search.ts +2 -1
- package/src/embed/searchEmbed-basic-auth.spec.ts +1 -1
- package/src/embed/ts-embed.spec.ts +92 -19
- package/src/embed/ts-embed.ts +29 -11
- package/src/index.ts +5 -1
- package/src/mixpanel-service.ts +10 -6
- package/src/react/all-types-export.spec.ts +11 -0
- package/src/react/all-types-export.ts +43 -0
- package/src/react/index.spec.tsx +18 -2
- package/src/react/index.tsx +72 -6
- package/src/test/test-utils.ts +2 -2
- package/src/types.ts +158 -17
- package/src/utils/processTrigger.spec.ts +5 -2
- package/src/utils/processTrigger.ts +7 -6
- package/src/utils.ts +2 -0
- package/lib/src/visual-embed-sdk.d.ts +0 -2861
package/src/types.ts
CHANGED
|
@@ -18,6 +18,14 @@ export enum AuthType {
|
|
|
18
18
|
/**
|
|
19
19
|
* No authentication on the SDK. Passthrough to the embedded App. Alias for
|
|
20
20
|
* `Passthrough`.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```js
|
|
24
|
+
* init({
|
|
25
|
+
* // ...
|
|
26
|
+
* authType: AuthType.None,
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
21
29
|
*/
|
|
22
30
|
None = 'None',
|
|
23
31
|
/**
|
|
@@ -25,6 +33,18 @@ export enum AuthType {
|
|
|
25
33
|
* configuration, but may not be supported by all IDPs. This will behave like `None`
|
|
26
34
|
* if SSO is not configured on ThoughtSpot.
|
|
27
35
|
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```js
|
|
38
|
+
* init({
|
|
39
|
+
* // ...
|
|
40
|
+
* authType: AuthType.EmbeddedSSO,
|
|
41
|
+
* });
|
|
42
|
+
* ```
|
|
43
|
+
* Set authentication type as Embedded SSO.
|
|
44
|
+
*
|
|
45
|
+
* To use this:
|
|
46
|
+
* Your SAML or OpenID provider must allow iframe redirects.
|
|
47
|
+
* eg. If you are using okta as IdP, you can enable iFrame embedding.
|
|
28
48
|
* @version: SDK: 1.15.0 | ThouhgtSpot: 8.8.0.cl
|
|
29
49
|
*/
|
|
30
50
|
EmbeddedSSO = 'EmbeddedSSO',
|
|
@@ -132,6 +152,19 @@ export enum AuthType {
|
|
|
132
152
|
* obtained from ThoughtSpot. This uses a cookieless authentication
|
|
133
153
|
* approach, recommended to by pass third-party cookie-blocking restriction
|
|
134
154
|
* implemented by some browsers
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```js
|
|
158
|
+
* init({
|
|
159
|
+
* // ...
|
|
160
|
+
* authType: AuthType.TrustedAuthTokenCookieless,
|
|
161
|
+
* getAuthToken: () => {
|
|
162
|
+
* return fetch('https://my-backend.app/ts-token')
|
|
163
|
+
* .then((response) => response.json())
|
|
164
|
+
* .then((data) => data.token);
|
|
165
|
+
* }
|
|
166
|
+
* ```
|
|
167
|
+
* @version SDK: 1.22.0| ThouhgtSpot: 9.3.0.cl, 9.5.1-sw
|
|
135
168
|
*/
|
|
136
169
|
TrustedAuthTokenCookieless = 'AuthServerCookieless',
|
|
137
170
|
/**
|
|
@@ -266,6 +299,9 @@ export interface EmbedConfig {
|
|
|
266
299
|
* [SSO] For SSO Authentication, if `inPopup` is set to true, it will open
|
|
267
300
|
* the SAML auth flow in a popup, instead of redirecting browser in place.
|
|
268
301
|
*
|
|
302
|
+
* Need to use this with authTriggerContainer. Or manually trigger
|
|
303
|
+
* the AuthEvent.TRIGGER_SSO_POPUP event on a user interaction.
|
|
304
|
+
*
|
|
269
305
|
* @default false
|
|
270
306
|
* @version SDK: 1.18.0
|
|
271
307
|
*/
|
|
@@ -378,13 +414,28 @@ export interface EmbedConfig {
|
|
|
378
414
|
*/
|
|
379
415
|
customizations?: CustomisationsInterface;
|
|
380
416
|
/**
|
|
381
|
-
* For
|
|
417
|
+
* For inPopup SAMLRedirect or OIDCRedirect Auth, we need a button which the user
|
|
382
418
|
* click to trigger the flow. This is the containing element
|
|
383
419
|
* for that button.
|
|
384
420
|
*
|
|
421
|
+
* @example
|
|
422
|
+
* ```js
|
|
423
|
+
* init({
|
|
424
|
+
* authType: AuthType.SAMLRedirect,
|
|
425
|
+
* inPopup: true,
|
|
426
|
+
* authTriggerContainer: '#auth-trigger-container'
|
|
427
|
+
* })
|
|
428
|
+
* ```
|
|
385
429
|
* @version SDK: 1.17.0 | ThoughtSpot: *
|
|
386
430
|
*/
|
|
387
431
|
authTriggerContainer?: string | HTMLElement;
|
|
432
|
+
/**
|
|
433
|
+
* Specify that we want to use the AuthEvent.TRIGGER_SSO_POPUP event to trigger
|
|
434
|
+
* SAML popup. This is useful when you want to trigger the popup on a custom user
|
|
435
|
+
* action.
|
|
436
|
+
*
|
|
437
|
+
*/
|
|
438
|
+
useEventForSAMLPopup?: boolean;
|
|
388
439
|
/**
|
|
389
440
|
* Text to show in the button which triggers the popup auth flow.
|
|
390
441
|
* Default: "Authorize".
|
|
@@ -392,6 +443,22 @@ export interface EmbedConfig {
|
|
|
392
443
|
* @version SDK: 1.17.0 | ThoughtSpot: *
|
|
393
444
|
*/
|
|
394
445
|
authTriggerText?: string;
|
|
446
|
+
/**
|
|
447
|
+
* Disable Full App access of Embedded app outside of the iFrame.
|
|
448
|
+
*
|
|
449
|
+
* @default true
|
|
450
|
+
* @version SDK: 1.22.0 | ThoughtSpot: 9.3.0.cl, 9.5.1-sw
|
|
451
|
+
*/
|
|
452
|
+
blockNonEmbedFullAppAccess?: boolean;
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Host config incase embedded app is inside TS app itself
|
|
456
|
+
*/
|
|
457
|
+
hostConfig?: {
|
|
458
|
+
hostUserGuid: string;
|
|
459
|
+
hostClusterId: string;
|
|
460
|
+
hostClusterName: string;
|
|
461
|
+
}
|
|
395
462
|
}
|
|
396
463
|
|
|
397
464
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
@@ -556,9 +623,19 @@ export interface ViewConfig {
|
|
|
556
623
|
* Use a pre-rendered iframe from a pool of pre-rendered iframes
|
|
557
624
|
* if available and matches the configuration.
|
|
558
625
|
*
|
|
626
|
+
* @version SDK: 1.22.0
|
|
627
|
+
* @hidden
|
|
628
|
+
*
|
|
559
629
|
* See [docs]() on how to create a prerender pool.
|
|
560
630
|
*/
|
|
561
631
|
usePrerenderedIfAvailable?: boolean;
|
|
632
|
+
/**
|
|
633
|
+
* Boolean to exclude runtimeFilters in the URL
|
|
634
|
+
*
|
|
635
|
+
* @default false
|
|
636
|
+
* @hidden
|
|
637
|
+
*/
|
|
638
|
+
excludeRuntimeFiltersfromURL?: boolean;
|
|
562
639
|
}
|
|
563
640
|
|
|
564
641
|
/**
|
|
@@ -811,7 +888,7 @@ export enum EmbedEvent {
|
|
|
811
888
|
* )
|
|
812
889
|
* });
|
|
813
890
|
* ```
|
|
814
|
-
* @return
|
|
891
|
+
* @return viz, clickedPoint - metadata about point that is clicked
|
|
815
892
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1-sw
|
|
816
893
|
* @important
|
|
817
894
|
*/
|
|
@@ -1166,7 +1243,7 @@ export enum HostEvent {
|
|
|
1166
1243
|
* ```js
|
|
1167
1244
|
* searchEmbed.trigger(HostEvent.Search, {
|
|
1168
1245
|
* searchQuery: "[sales] by [item type],
|
|
1169
|
-
*
|
|
1246
|
+
* dataSources: ["cd252e5c-b552-49a8-821d-3eadaa049cca"]
|
|
1170
1247
|
* execute: true
|
|
1171
1248
|
* })
|
|
1172
1249
|
* ```
|
|
@@ -1182,9 +1259,18 @@ export enum HostEvent {
|
|
|
1182
1259
|
* column.
|
|
1183
1260
|
* @example
|
|
1184
1261
|
* ```js
|
|
1185
|
-
* searchEmbed.
|
|
1186
|
-
*
|
|
1187
|
-
*
|
|
1262
|
+
* searchEmbed.on(EmbedEvent.VizPointDoubleClick, (payload) => {
|
|
1263
|
+
* console.log(payload);
|
|
1264
|
+
* const clickedPoint = payload.data.clickedPoint;
|
|
1265
|
+
* const selectedPoint = payload.data.selectedPoints;
|
|
1266
|
+
* console.log('>>> called', clickedPoint);
|
|
1267
|
+
* searchEmbed.trigger(HostEvent.DrillDown, {
|
|
1268
|
+
* points: {
|
|
1269
|
+
* clickedPoint,
|
|
1270
|
+
* selectedPoints: selectedPoint
|
|
1271
|
+
* },
|
|
1272
|
+
* autoDrillDown: true,
|
|
1273
|
+
* });
|
|
1188
1274
|
* })
|
|
1189
1275
|
* ```
|
|
1190
1276
|
* @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
|
|
@@ -1208,9 +1294,11 @@ export enum HostEvent {
|
|
|
1208
1294
|
* @param - an array of ids of visualizations to show, the ids not passed
|
|
1209
1295
|
* will be hidden.
|
|
1210
1296
|
* @example
|
|
1297
|
+
* ```js
|
|
1211
1298
|
* liveboardEmbed.trigger(HostEvent.SetVisibleVizs, [
|
|
1212
1299
|
* '730496d6-6903-4601-937e-2c691821af3c',
|
|
1213
1300
|
* 'd547ec54-2a37-4516-a222-2b06719af726'])
|
|
1301
|
+
* ```
|
|
1214
1302
|
* @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1-sw
|
|
1215
1303
|
*/
|
|
1216
1304
|
SetVisibleVizs = 'SetPinboardVisibleVizs',
|
|
@@ -1220,10 +1308,12 @@ export enum HostEvent {
|
|
|
1220
1308
|
*
|
|
1221
1309
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
1222
1310
|
* @example
|
|
1311
|
+
* ```js
|
|
1223
1312
|
* liveboardEmbed.trigger(HostEvent.UpdateRuntimeFilters, [
|
|
1224
1313
|
* {columnName: "state",operator: RuntimeFilterOp.EQ,values: ["michigan"]},
|
|
1225
1314
|
* {columnName: "item type",operator: RuntimeFilterOp.EQ,values: ["Jackets"]}
|
|
1226
1315
|
* ])
|
|
1316
|
+
* ```
|
|
1227
1317
|
* @version SDK: 1.9.0 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
|
|
1228
1318
|
* @important
|
|
1229
1319
|
*/
|
|
@@ -1367,7 +1457,7 @@ export enum HostEvent {
|
|
|
1367
1457
|
*
|
|
1368
1458
|
* @example
|
|
1369
1459
|
* ```js
|
|
1370
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
1460
|
+
* liveboardEmbed.trigger(HostEvent.DownloadAsPdf)
|
|
1371
1461
|
* ```
|
|
1372
1462
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
|
|
1373
1463
|
*/
|
|
@@ -1437,10 +1527,14 @@ export enum HostEvent {
|
|
|
1437
1527
|
* @param - object - to trigger the action for a specfic visualization
|
|
1438
1528
|
* in Liveboard embed, pass in vizId as a key
|
|
1439
1529
|
* @example
|
|
1530
|
+
* ```js
|
|
1440
1531
|
* liveboardEmbed.trigger(HostEvent.Edit)
|
|
1532
|
+
*
|
|
1441
1533
|
* liveboardEmbed.trigger(HostEvent.Edit, {vizId:
|
|
1442
1534
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1535
|
+
*
|
|
1443
1536
|
* vizEmbed.trigger((HostEvent.Edit)
|
|
1537
|
+
* ```
|
|
1444
1538
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
|
|
1445
1539
|
*/
|
|
1446
1540
|
Edit = 'edit',
|
|
@@ -1492,10 +1586,14 @@ export enum HostEvent {
|
|
|
1492
1586
|
*
|
|
1493
1587
|
* @param - an object with vizId as a key
|
|
1494
1588
|
* @example
|
|
1589
|
+
* ```js
|
|
1495
1590
|
* liveboardEmbed.trigger(HostEvent.ShowUnderlyingData, {vizId:
|
|
1496
1591
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1592
|
+
*
|
|
1497
1593
|
* vizEmbed.trigger(HostEvent.ShowUnderlyingData)
|
|
1594
|
+
*
|
|
1498
1595
|
* searchEmbed.trigger(HostEvent.ShowUnderlyingData)
|
|
1596
|
+
* ```
|
|
1499
1597
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1500
1598
|
*/
|
|
1501
1599
|
ShowUnderlyingData = 'showUnderlyingData',
|
|
@@ -1505,23 +1603,31 @@ export enum HostEvent {
|
|
|
1505
1603
|
* @param - incase of Liveboard embed, takes in an object with vizId as a key
|
|
1506
1604
|
* can be left empty for search and visualization embeds
|
|
1507
1605
|
* @example
|
|
1606
|
+
* ```js
|
|
1508
1607
|
* liveboardEmbed.trigger(HostEvent.Delete, {vizId:
|
|
1509
1608
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1609
|
+
*
|
|
1510
1610
|
* vizEmbed.trigger(HostEvent.Delete)
|
|
1611
|
+
*
|
|
1511
1612
|
* searchEmbed.trigger(HostEvent.Delete)
|
|
1613
|
+
* ```
|
|
1512
1614
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1513
1615
|
*/
|
|
1514
|
-
Delete = '
|
|
1616
|
+
Delete = 'onDeleteAnswer',
|
|
1515
1617
|
/**
|
|
1516
1618
|
* Triggers the SpotIQAnalyze action on visualization or search
|
|
1517
1619
|
*
|
|
1518
1620
|
* @param - incase of Liveboard embed, takes in an object with vizId as a key
|
|
1519
1621
|
* can be left empty for search and visualization embeds
|
|
1520
1622
|
* @example
|
|
1623
|
+
* ```js
|
|
1521
1624
|
* liveboardEmbed.trigger(HostEvent.SpotIQAnalyze, {vizId:
|
|
1522
1625
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1626
|
+
*
|
|
1523
1627
|
* vizEmbed.trigger(HostEvent.SpotIQAnalyze)
|
|
1628
|
+
*
|
|
1524
1629
|
* searchEmbed.trigger(HostEvent.SpotIQAnalyze)
|
|
1630
|
+
* ```
|
|
1525
1631
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1526
1632
|
*/
|
|
1527
1633
|
SpotIQAnalyze = 'spotIQAnalyze',
|
|
@@ -1529,11 +1635,15 @@ export enum HostEvent {
|
|
|
1529
1635
|
* Triggers the Download action on visualization or search when Displaymode is Chart
|
|
1530
1636
|
*
|
|
1531
1637
|
* @example
|
|
1638
|
+
* ```js
|
|
1532
1639
|
* liveboardEmbed.trigger(HostEvent.Download, {vizId:
|
|
1533
1640
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1641
|
+
*
|
|
1534
1642
|
* vizEmbed.trigger(HostEvent.Download)
|
|
1643
|
+
*
|
|
1535
1644
|
* searchEmbed.trigger(HostEvent.Download)
|
|
1536
|
-
*
|
|
1645
|
+
* ```
|
|
1646
|
+
* @deprecated from SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl ,9.4.1-sw ,Use {@link DownloadAsPng}
|
|
1537
1647
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1538
1648
|
*/
|
|
1539
1649
|
Download = 'downloadAsPng',
|
|
@@ -1544,11 +1654,9 @@ export enum HostEvent {
|
|
|
1544
1654
|
* ```js
|
|
1545
1655
|
* liveboardEmbed.trigger(HostEvent.DownloadAsPng,
|
|
1546
1656
|
* {vizId:'730496d6-6903-4601-937e-2c691821af3c'})
|
|
1547
|
-
*
|
|
1548
|
-
* ```js
|
|
1657
|
+
*
|
|
1549
1658
|
* vizEmbed.trigger(HostEvent.DownloadAsPng)
|
|
1550
|
-
*
|
|
1551
|
-
* ```js
|
|
1659
|
+
*
|
|
1552
1660
|
* searchEmbed.trigger(HostEvent.DownloadAsPng)
|
|
1553
1661
|
* ```
|
|
1554
1662
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.1-sw
|
|
@@ -1558,10 +1666,14 @@ export enum HostEvent {
|
|
|
1558
1666
|
* Triggers the downloadAsCSV action on visualization or search
|
|
1559
1667
|
*
|
|
1560
1668
|
* @example
|
|
1669
|
+
* ```js
|
|
1561
1670
|
* liveboardEmbed.trigger(HostEvent.DownloadAsCsv, {vizId:
|
|
1562
1671
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1672
|
+
*
|
|
1563
1673
|
* vizEmbed.trigger(HostEvent.DownloadAsCsv)
|
|
1674
|
+
*
|
|
1564
1675
|
* searchEmbed.trigger(HostEvent.DownloadAsCsv)
|
|
1676
|
+
* ```
|
|
1565
1677
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1566
1678
|
*/
|
|
1567
1679
|
DownloadAsCsv = 'downloadAsCSV',
|
|
@@ -1569,10 +1681,14 @@ export enum HostEvent {
|
|
|
1569
1681
|
* Triggers the downloadAsXLSX action on visualization or search
|
|
1570
1682
|
*
|
|
1571
1683
|
* @example
|
|
1684
|
+
* ```js
|
|
1572
1685
|
* liveboardEmbed.trigger(HostEvent.DownloadAsXlsx, {vizId:
|
|
1573
1686
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1687
|
+
*
|
|
1574
1688
|
* vizEmbed.trigger(HostEvent.DownloadAsXlsx)
|
|
1689
|
+
*
|
|
1575
1690
|
* searchEmbed.trigger(HostEvent.DownloadAsXlsx)
|
|
1691
|
+
* ```
|
|
1576
1692
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1577
1693
|
*/
|
|
1578
1694
|
DownloadAsXlsx = 'downloadAsXLSX',
|
|
@@ -1580,8 +1696,11 @@ export enum HostEvent {
|
|
|
1580
1696
|
* Triggers the Share action on a liveboard or answer
|
|
1581
1697
|
*
|
|
1582
1698
|
* @example
|
|
1699
|
+
* ```js
|
|
1583
1700
|
* liveboardEmbed.trigger(HostEvent.Share)
|
|
1701
|
+
*
|
|
1584
1702
|
* searchEmbed.trigger(HostEvent.Share)
|
|
1703
|
+
* ```
|
|
1585
1704
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1586
1705
|
*/
|
|
1587
1706
|
Share = 'share',
|
|
@@ -1589,8 +1708,11 @@ export enum HostEvent {
|
|
|
1589
1708
|
* Trigger the Save action on a liveboard or answer
|
|
1590
1709
|
*
|
|
1591
1710
|
* @example
|
|
1711
|
+
* ```js
|
|
1592
1712
|
* liveboardEmbed.trigger(HostEvent.Save)
|
|
1713
|
+
*
|
|
1593
1714
|
* searchEmbed.trigger(HostEvent.Save)
|
|
1715
|
+
* ```
|
|
1594
1716
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1595
1717
|
*/
|
|
1596
1718
|
Save = 'save',
|
|
@@ -1599,9 +1721,12 @@ export enum HostEvent {
|
|
|
1599
1721
|
*
|
|
1600
1722
|
* @param - an object with vizId as a key
|
|
1601
1723
|
* @example
|
|
1724
|
+
* ```js
|
|
1602
1725
|
* liveboardEmbed.trigger(HostEvent.SyncToSheets, {vizId:
|
|
1603
1726
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1727
|
+
*
|
|
1604
1728
|
* vizEmbed.trigger(HostEvent.SyncToSheets)
|
|
1729
|
+
* ```
|
|
1605
1730
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1606
1731
|
*/
|
|
1607
1732
|
SyncToSheets = 'sync-to-sheets',
|
|
@@ -1610,9 +1735,12 @@ export enum HostEvent {
|
|
|
1610
1735
|
*
|
|
1611
1736
|
* @param - an object with vizId as a key
|
|
1612
1737
|
* @example
|
|
1738
|
+
* ```js
|
|
1613
1739
|
* liveboardEmbed.trigger(HostEvent.SyncToOtherApps, {vizId:
|
|
1614
1740
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1741
|
+
*
|
|
1615
1742
|
* vizEmbed.trigger(HostEvent.SyncToOtherApps)
|
|
1743
|
+
* ```
|
|
1616
1744
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1617
1745
|
*/
|
|
1618
1746
|
SyncToOtherApps = 'sync-to-other-apps',
|
|
@@ -1621,9 +1749,12 @@ export enum HostEvent {
|
|
|
1621
1749
|
*
|
|
1622
1750
|
* @param - an object with vizId as a key
|
|
1623
1751
|
* @example
|
|
1752
|
+
* ```js
|
|
1624
1753
|
* liveboardEmbed.trigger(HostEvent.ManagePipelines, {vizId:
|
|
1625
1754
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1755
|
+
*
|
|
1626
1756
|
* vizEmbed.trigger(HostEvent.ManagePipelines)
|
|
1757
|
+
* ```
|
|
1627
1758
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1628
1759
|
*/
|
|
1629
1760
|
ManagePipelines = 'manage-pipeline',
|
|
@@ -1631,7 +1762,9 @@ export enum HostEvent {
|
|
|
1631
1762
|
* Triggers the Reset search in answer
|
|
1632
1763
|
*
|
|
1633
1764
|
* @example
|
|
1634
|
-
*
|
|
1765
|
+
* ```js
|
|
1766
|
+
* searchEmbed.trigger(HostEvent.ResetSearch)
|
|
1767
|
+
* ```
|
|
1635
1768
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.0.1-sw
|
|
1636
1769
|
*/
|
|
1637
1770
|
ResetSearch = 'resetSearch',
|
|
@@ -1703,9 +1836,12 @@ export enum Param {
|
|
|
1703
1836
|
cookieless = 'cookieless',
|
|
1704
1837
|
ContextMenuTrigger = 'isContextMenuEnabledOnLeftClick',
|
|
1705
1838
|
LinkOverride = 'linkOverride',
|
|
1839
|
+
blockNonEmbedFullAppAccess = 'blockNonEmbedFullAppAccess',
|
|
1706
1840
|
ShowInsertToSlide = 'insertInToSlide',
|
|
1707
1841
|
PrimaryNavHidden = 'primaryNavHidden',
|
|
1708
1842
|
HideProfleAndHelp = 'profileAndHelpInNavBarHidden',
|
|
1843
|
+
HideApplicationSwitcher= 'applicationSwitcherHidden',
|
|
1844
|
+
HideOrgSwitcher= 'orgSwitcherHidden',
|
|
1709
1845
|
}
|
|
1710
1846
|
|
|
1711
1847
|
/**
|
|
@@ -1842,9 +1978,6 @@ export enum Action {
|
|
|
1842
1978
|
DrillEdit = 'context-menu-item-edit',
|
|
1843
1979
|
EditMeasure = 'context-menu-item-edit-measure',
|
|
1844
1980
|
Separator = 'context-menu-item-separator',
|
|
1845
|
-
/**
|
|
1846
|
-
* @hidden
|
|
1847
|
-
*/
|
|
1848
1981
|
DrillDown = 'DRILL',
|
|
1849
1982
|
RequestAccess = 'requestAccess',
|
|
1850
1983
|
QueryDetailsButtons = 'queryDetailsButtons',
|
|
@@ -1935,6 +2068,11 @@ export enum Action {
|
|
|
1935
2068
|
* @hidden
|
|
1936
2069
|
*/
|
|
1937
2070
|
InsertInToSlide = 'insertInToSlide',
|
|
2071
|
+
|
|
2072
|
+
/**
|
|
2073
|
+
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
2074
|
+
*/
|
|
2075
|
+
RenameModalTitleDescription = 'renameModalTitleDescription',
|
|
1938
2076
|
}
|
|
1939
2077
|
|
|
1940
2078
|
export interface SessionInterface {
|
|
@@ -1960,6 +2098,9 @@ export enum PrefetchFeatures {
|
|
|
1960
2098
|
VizEmbed = 'VizEmbed',
|
|
1961
2099
|
}
|
|
1962
2100
|
|
|
2101
|
+
/**
|
|
2102
|
+
* Enum for options to change context trigger
|
|
2103
|
+
*/
|
|
1963
2104
|
export enum ContextMenuTriggerOptions {
|
|
1964
2105
|
LEFT_CLICK = 'left-click',
|
|
1965
2106
|
RIGHT_CLICK = 'right-click',
|
|
@@ -8,7 +8,8 @@ describe('Unit test for processTrigger', () => {
|
|
|
8
8
|
postMessage: jest.fn(),
|
|
9
9
|
},
|
|
10
10
|
};
|
|
11
|
-
test('when hostevent is reload,
|
|
11
|
+
test('when hostevent is reload, reload function should be called with iFrame', async () => {
|
|
12
|
+
jest.useFakeTimers();
|
|
12
13
|
const iFrameElement = document.createElement('iframe');
|
|
13
14
|
const html = '<body>Foo</body>';
|
|
14
15
|
iFrameElement.src = `data:text/html;charset=utf-8,${encodeURI(html)}`;
|
|
@@ -16,9 +17,11 @@ describe('Unit test for processTrigger', () => {
|
|
|
16
17
|
divFrame.appendChild(iFrameElement);
|
|
17
18
|
const messageType = HostEvent.Reload;
|
|
18
19
|
const thoughtSpotHost = 'http://localhost:3000';
|
|
20
|
+
const spyReload = jest.spyOn(_processTriggerInstance, 'reload');
|
|
19
21
|
const data = {};
|
|
20
22
|
_processTriggerInstance.processTrigger(iFrameElement, messageType, thoughtSpotHost, data);
|
|
21
|
-
|
|
23
|
+
jest.advanceTimersByTime(200);
|
|
24
|
+
expect(spyReload).toBeCalledWith(iFrameElement);
|
|
22
25
|
});
|
|
23
26
|
|
|
24
27
|
test('when hostevent is search, postMessage should be called', async () => {
|
|
@@ -6,12 +6,13 @@ import { HostEvent } from '../types';
|
|
|
6
6
|
*
|
|
7
7
|
* @param iFrame
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
9
|
+
export const reload = (iFrame: HTMLIFrameElement) => {
|
|
10
|
+
const src = iFrame.src;
|
|
11
|
+
iFrame.src = '';
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
iFrame.src = src;
|
|
14
|
+
}, 100);
|
|
15
|
+
};
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Post Iframe message.
|
package/src/utils.ts
CHANGED