@thoughtspot/visual-embed-sdk 1.21.0-alpha.8 → 1.21.0-react.0
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/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 +58 -1
- 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 +165 -20
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +113 -17
- 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/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 +58 -1
- 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 +165 -20
- 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 +28039 -0
- package/dist/tsembed-react.js +27981 -0
- package/dist/tsembed.es.js +269 -38
- package/dist/tsembed.js +269 -40
- 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/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 +58 -1
- 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 +165 -20
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +113 -17
- 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/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 +71 -5
- package/src/test/test-utils.ts +2 -2
- package/src/types.ts +165 -18
- 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 -2855
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
|
|
@@ -450,6 +517,7 @@ export interface ViewConfig {
|
|
|
450
517
|
* The list of actions to disable from the primary menu, more menu
|
|
451
518
|
* (...), and the contextual menu. These actions will be disabled
|
|
452
519
|
* for the user.
|
|
520
|
+
* Use this to disable actions.
|
|
453
521
|
*
|
|
454
522
|
* @example
|
|
455
523
|
* ```js
|
|
@@ -467,6 +535,7 @@ export interface ViewConfig {
|
|
|
467
535
|
/**
|
|
468
536
|
* The list of actions to hide from the embedded.
|
|
469
537
|
* This actions will be hidden from the user.
|
|
538
|
+
* Use this to hide an action.
|
|
470
539
|
*
|
|
471
540
|
* @example
|
|
472
541
|
* ```js
|
|
@@ -475,12 +544,16 @@ export interface ViewConfig {
|
|
|
475
544
|
* hiddenActions: [Action.Download, Action.Export]
|
|
476
545
|
* });
|
|
477
546
|
* ```
|
|
547
|
+
* @important
|
|
478
548
|
*/
|
|
479
549
|
hiddenActions?: Action[];
|
|
480
550
|
/**
|
|
481
551
|
* The list of actions to display from the primary menu, more menu
|
|
482
552
|
* (...), and the contextual menu. These will be only actions that
|
|
483
553
|
* are visible to the user.
|
|
554
|
+
* Use this to hide all actions except the ones you want to show.
|
|
555
|
+
*
|
|
556
|
+
* Use either this or hiddenActions.
|
|
484
557
|
*
|
|
485
558
|
* @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1-sw
|
|
486
559
|
* @important
|
|
@@ -550,9 +623,19 @@ export interface ViewConfig {
|
|
|
550
623
|
* Use a pre-rendered iframe from a pool of pre-rendered iframes
|
|
551
624
|
* if available and matches the configuration.
|
|
552
625
|
*
|
|
626
|
+
* @version SDK: 1.22.0
|
|
627
|
+
* @hidden
|
|
628
|
+
*
|
|
553
629
|
* See [docs]() on how to create a prerender pool.
|
|
554
630
|
*/
|
|
555
631
|
usePrerenderedIfAvailable?: boolean;
|
|
632
|
+
/**
|
|
633
|
+
* Boolean to exclude runtimeFilters in the URL
|
|
634
|
+
*
|
|
635
|
+
* @default false
|
|
636
|
+
* @hidden
|
|
637
|
+
*/
|
|
638
|
+
excludeRuntimeFiltersfromURL?: boolean;
|
|
556
639
|
}
|
|
557
640
|
|
|
558
641
|
/**
|
|
@@ -805,7 +888,7 @@ export enum EmbedEvent {
|
|
|
805
888
|
* )
|
|
806
889
|
* });
|
|
807
890
|
* ```
|
|
808
|
-
* @return
|
|
891
|
+
* @return viz, clickedPoint - metadata about point that is clicked
|
|
809
892
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1-sw
|
|
810
893
|
* @important
|
|
811
894
|
*/
|
|
@@ -1160,7 +1243,7 @@ export enum HostEvent {
|
|
|
1160
1243
|
* ```js
|
|
1161
1244
|
* searchEmbed.trigger(HostEvent.Search, {
|
|
1162
1245
|
* searchQuery: "[sales] by [item type],
|
|
1163
|
-
*
|
|
1246
|
+
* dataSources: ["cd252e5c-b552-49a8-821d-3eadaa049cca"]
|
|
1164
1247
|
* execute: true
|
|
1165
1248
|
* })
|
|
1166
1249
|
* ```
|
|
@@ -1176,9 +1259,18 @@ export enum HostEvent {
|
|
|
1176
1259
|
* column.
|
|
1177
1260
|
* @example
|
|
1178
1261
|
* ```js
|
|
1179
|
-
* searchEmbed.
|
|
1180
|
-
*
|
|
1181
|
-
*
|
|
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
|
+
* });
|
|
1182
1274
|
* })
|
|
1183
1275
|
* ```
|
|
1184
1276
|
* @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
|
|
@@ -1202,9 +1294,11 @@ export enum HostEvent {
|
|
|
1202
1294
|
* @param - an array of ids of visualizations to show, the ids not passed
|
|
1203
1295
|
* will be hidden.
|
|
1204
1296
|
* @example
|
|
1297
|
+
* ```js
|
|
1205
1298
|
* liveboardEmbed.trigger(HostEvent.SetVisibleVizs, [
|
|
1206
1299
|
* '730496d6-6903-4601-937e-2c691821af3c',
|
|
1207
1300
|
* 'd547ec54-2a37-4516-a222-2b06719af726'])
|
|
1301
|
+
* ```
|
|
1208
1302
|
* @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1-sw
|
|
1209
1303
|
*/
|
|
1210
1304
|
SetVisibleVizs = 'SetPinboardVisibleVizs',
|
|
@@ -1214,10 +1308,12 @@ export enum HostEvent {
|
|
|
1214
1308
|
*
|
|
1215
1309
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
1216
1310
|
* @example
|
|
1311
|
+
* ```js
|
|
1217
1312
|
* liveboardEmbed.trigger(HostEvent.UpdateRuntimeFilters, [
|
|
1218
1313
|
* {columnName: "state",operator: RuntimeFilterOp.EQ,values: ["michigan"]},
|
|
1219
1314
|
* {columnName: "item type",operator: RuntimeFilterOp.EQ,values: ["Jackets"]}
|
|
1220
1315
|
* ])
|
|
1316
|
+
* ```
|
|
1221
1317
|
* @version SDK: 1.9.0 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
|
|
1222
1318
|
* @important
|
|
1223
1319
|
*/
|
|
@@ -1361,7 +1457,7 @@ export enum HostEvent {
|
|
|
1361
1457
|
*
|
|
1362
1458
|
* @example
|
|
1363
1459
|
* ```js
|
|
1364
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
1460
|
+
* liveboardEmbed.trigger(HostEvent.DownloadAsPdf)
|
|
1365
1461
|
* ```
|
|
1366
1462
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
|
|
1367
1463
|
*/
|
|
@@ -1431,10 +1527,14 @@ export enum HostEvent {
|
|
|
1431
1527
|
* @param - object - to trigger the action for a specfic visualization
|
|
1432
1528
|
* in Liveboard embed, pass in vizId as a key
|
|
1433
1529
|
* @example
|
|
1530
|
+
* ```js
|
|
1434
1531
|
* liveboardEmbed.trigger(HostEvent.Edit)
|
|
1532
|
+
*
|
|
1435
1533
|
* liveboardEmbed.trigger(HostEvent.Edit, {vizId:
|
|
1436
1534
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1535
|
+
*
|
|
1437
1536
|
* vizEmbed.trigger((HostEvent.Edit)
|
|
1537
|
+
* ```
|
|
1438
1538
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
|
|
1439
1539
|
*/
|
|
1440
1540
|
Edit = 'edit',
|
|
@@ -1486,10 +1586,14 @@ export enum HostEvent {
|
|
|
1486
1586
|
*
|
|
1487
1587
|
* @param - an object with vizId as a key
|
|
1488
1588
|
* @example
|
|
1589
|
+
* ```js
|
|
1489
1590
|
* liveboardEmbed.trigger(HostEvent.ShowUnderlyingData, {vizId:
|
|
1490
1591
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1592
|
+
*
|
|
1491
1593
|
* vizEmbed.trigger(HostEvent.ShowUnderlyingData)
|
|
1594
|
+
*
|
|
1492
1595
|
* searchEmbed.trigger(HostEvent.ShowUnderlyingData)
|
|
1596
|
+
* ```
|
|
1493
1597
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1494
1598
|
*/
|
|
1495
1599
|
ShowUnderlyingData = 'showUnderlyingData',
|
|
@@ -1499,23 +1603,31 @@ export enum HostEvent {
|
|
|
1499
1603
|
* @param - incase of Liveboard embed, takes in an object with vizId as a key
|
|
1500
1604
|
* can be left empty for search and visualization embeds
|
|
1501
1605
|
* @example
|
|
1606
|
+
* ```js
|
|
1502
1607
|
* liveboardEmbed.trigger(HostEvent.Delete, {vizId:
|
|
1503
1608
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1609
|
+
*
|
|
1504
1610
|
* vizEmbed.trigger(HostEvent.Delete)
|
|
1611
|
+
*
|
|
1505
1612
|
* searchEmbed.trigger(HostEvent.Delete)
|
|
1613
|
+
* ```
|
|
1506
1614
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1507
1615
|
*/
|
|
1508
|
-
Delete = '
|
|
1616
|
+
Delete = 'onDeleteAnswer',
|
|
1509
1617
|
/**
|
|
1510
1618
|
* Triggers the SpotIQAnalyze action on visualization or search
|
|
1511
1619
|
*
|
|
1512
1620
|
* @param - incase of Liveboard embed, takes in an object with vizId as a key
|
|
1513
1621
|
* can be left empty for search and visualization embeds
|
|
1514
1622
|
* @example
|
|
1623
|
+
* ```js
|
|
1515
1624
|
* liveboardEmbed.trigger(HostEvent.SpotIQAnalyze, {vizId:
|
|
1516
1625
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1626
|
+
*
|
|
1517
1627
|
* vizEmbed.trigger(HostEvent.SpotIQAnalyze)
|
|
1628
|
+
*
|
|
1518
1629
|
* searchEmbed.trigger(HostEvent.SpotIQAnalyze)
|
|
1630
|
+
* ```
|
|
1519
1631
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1520
1632
|
*/
|
|
1521
1633
|
SpotIQAnalyze = 'spotIQAnalyze',
|
|
@@ -1523,11 +1635,15 @@ export enum HostEvent {
|
|
|
1523
1635
|
* Triggers the Download action on visualization or search when Displaymode is Chart
|
|
1524
1636
|
*
|
|
1525
1637
|
* @example
|
|
1638
|
+
* ```js
|
|
1526
1639
|
* liveboardEmbed.trigger(HostEvent.Download, {vizId:
|
|
1527
1640
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1641
|
+
*
|
|
1528
1642
|
* vizEmbed.trigger(HostEvent.Download)
|
|
1643
|
+
*
|
|
1529
1644
|
* searchEmbed.trigger(HostEvent.Download)
|
|
1530
|
-
*
|
|
1645
|
+
* ```
|
|
1646
|
+
* @deprecated from SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl ,9.4.1-sw ,Use {@link DownloadAsPng}
|
|
1531
1647
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1532
1648
|
*/
|
|
1533
1649
|
Download = 'downloadAsPng',
|
|
@@ -1538,11 +1654,9 @@ export enum HostEvent {
|
|
|
1538
1654
|
* ```js
|
|
1539
1655
|
* liveboardEmbed.trigger(HostEvent.DownloadAsPng,
|
|
1540
1656
|
* {vizId:'730496d6-6903-4601-937e-2c691821af3c'})
|
|
1541
|
-
*
|
|
1542
|
-
* ```js
|
|
1657
|
+
*
|
|
1543
1658
|
* vizEmbed.trigger(HostEvent.DownloadAsPng)
|
|
1544
|
-
*
|
|
1545
|
-
* ```js
|
|
1659
|
+
*
|
|
1546
1660
|
* searchEmbed.trigger(HostEvent.DownloadAsPng)
|
|
1547
1661
|
* ```
|
|
1548
1662
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.1-sw
|
|
@@ -1552,10 +1666,14 @@ export enum HostEvent {
|
|
|
1552
1666
|
* Triggers the downloadAsCSV action on visualization or search
|
|
1553
1667
|
*
|
|
1554
1668
|
* @example
|
|
1669
|
+
* ```js
|
|
1555
1670
|
* liveboardEmbed.trigger(HostEvent.DownloadAsCsv, {vizId:
|
|
1556
1671
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1672
|
+
*
|
|
1557
1673
|
* vizEmbed.trigger(HostEvent.DownloadAsCsv)
|
|
1674
|
+
*
|
|
1558
1675
|
* searchEmbed.trigger(HostEvent.DownloadAsCsv)
|
|
1676
|
+
* ```
|
|
1559
1677
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1560
1678
|
*/
|
|
1561
1679
|
DownloadAsCsv = 'downloadAsCSV',
|
|
@@ -1563,10 +1681,14 @@ export enum HostEvent {
|
|
|
1563
1681
|
* Triggers the downloadAsXLSX action on visualization or search
|
|
1564
1682
|
*
|
|
1565
1683
|
* @example
|
|
1684
|
+
* ```js
|
|
1566
1685
|
* liveboardEmbed.trigger(HostEvent.DownloadAsXlsx, {vizId:
|
|
1567
1686
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1687
|
+
*
|
|
1568
1688
|
* vizEmbed.trigger(HostEvent.DownloadAsXlsx)
|
|
1689
|
+
*
|
|
1569
1690
|
* searchEmbed.trigger(HostEvent.DownloadAsXlsx)
|
|
1691
|
+
* ```
|
|
1570
1692
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1571
1693
|
*/
|
|
1572
1694
|
DownloadAsXlsx = 'downloadAsXLSX',
|
|
@@ -1574,8 +1696,11 @@ export enum HostEvent {
|
|
|
1574
1696
|
* Triggers the Share action on a liveboard or answer
|
|
1575
1697
|
*
|
|
1576
1698
|
* @example
|
|
1699
|
+
* ```js
|
|
1577
1700
|
* liveboardEmbed.trigger(HostEvent.Share)
|
|
1701
|
+
*
|
|
1578
1702
|
* searchEmbed.trigger(HostEvent.Share)
|
|
1703
|
+
* ```
|
|
1579
1704
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1580
1705
|
*/
|
|
1581
1706
|
Share = 'share',
|
|
@@ -1583,8 +1708,11 @@ export enum HostEvent {
|
|
|
1583
1708
|
* Trigger the Save action on a liveboard or answer
|
|
1584
1709
|
*
|
|
1585
1710
|
* @example
|
|
1711
|
+
* ```js
|
|
1586
1712
|
* liveboardEmbed.trigger(HostEvent.Save)
|
|
1713
|
+
*
|
|
1587
1714
|
* searchEmbed.trigger(HostEvent.Save)
|
|
1715
|
+
* ```
|
|
1588
1716
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1589
1717
|
*/
|
|
1590
1718
|
Save = 'save',
|
|
@@ -1593,9 +1721,12 @@ export enum HostEvent {
|
|
|
1593
1721
|
*
|
|
1594
1722
|
* @param - an object with vizId as a key
|
|
1595
1723
|
* @example
|
|
1724
|
+
* ```js
|
|
1596
1725
|
* liveboardEmbed.trigger(HostEvent.SyncToSheets, {vizId:
|
|
1597
1726
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1727
|
+
*
|
|
1598
1728
|
* vizEmbed.trigger(HostEvent.SyncToSheets)
|
|
1729
|
+
* ```
|
|
1599
1730
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1600
1731
|
*/
|
|
1601
1732
|
SyncToSheets = 'sync-to-sheets',
|
|
@@ -1604,9 +1735,12 @@ export enum HostEvent {
|
|
|
1604
1735
|
*
|
|
1605
1736
|
* @param - an object with vizId as a key
|
|
1606
1737
|
* @example
|
|
1738
|
+
* ```js
|
|
1607
1739
|
* liveboardEmbed.trigger(HostEvent.SyncToOtherApps, {vizId:
|
|
1608
1740
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1741
|
+
*
|
|
1609
1742
|
* vizEmbed.trigger(HostEvent.SyncToOtherApps)
|
|
1743
|
+
* ```
|
|
1610
1744
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1611
1745
|
*/
|
|
1612
1746
|
SyncToOtherApps = 'sync-to-other-apps',
|
|
@@ -1615,9 +1749,12 @@ export enum HostEvent {
|
|
|
1615
1749
|
*
|
|
1616
1750
|
* @param - an object with vizId as a key
|
|
1617
1751
|
* @example
|
|
1752
|
+
* ```js
|
|
1618
1753
|
* liveboardEmbed.trigger(HostEvent.ManagePipelines, {vizId:
|
|
1619
1754
|
* '730496d6-6903-4601-937e-2c691821af3c'})
|
|
1755
|
+
*
|
|
1620
1756
|
* vizEmbed.trigger(HostEvent.ManagePipelines)
|
|
1757
|
+
* ```
|
|
1621
1758
|
* @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1-sw
|
|
1622
1759
|
*/
|
|
1623
1760
|
ManagePipelines = 'manage-pipeline',
|
|
@@ -1625,7 +1762,9 @@ export enum HostEvent {
|
|
|
1625
1762
|
* Triggers the Reset search in answer
|
|
1626
1763
|
*
|
|
1627
1764
|
* @example
|
|
1628
|
-
*
|
|
1765
|
+
* ```js
|
|
1766
|
+
* searchEmbed.trigger(HostEvent.ResetSearch)
|
|
1767
|
+
* ```
|
|
1629
1768
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.0.1-sw
|
|
1630
1769
|
*/
|
|
1631
1770
|
ResetSearch = 'resetSearch',
|
|
@@ -1697,9 +1836,12 @@ export enum Param {
|
|
|
1697
1836
|
cookieless = 'cookieless',
|
|
1698
1837
|
ContextMenuTrigger = 'isContextMenuEnabledOnLeftClick',
|
|
1699
1838
|
LinkOverride = 'linkOverride',
|
|
1839
|
+
blockNonEmbedFullAppAccess = 'blockNonEmbedFullAppAccess',
|
|
1700
1840
|
ShowInsertToSlide = 'insertInToSlide',
|
|
1701
1841
|
PrimaryNavHidden = 'primaryNavHidden',
|
|
1702
1842
|
HideProfleAndHelp = 'profileAndHelpInNavBarHidden',
|
|
1843
|
+
HideApplicationSwitcher= 'applicationSwitcherHidden',
|
|
1844
|
+
HideOrgSwitcher= 'orgSwitcherHidden',
|
|
1703
1845
|
}
|
|
1704
1846
|
|
|
1705
1847
|
/**
|
|
@@ -1715,7 +1857,7 @@ export enum Param {
|
|
|
1715
1857
|
* ... // other options
|
|
1716
1858
|
* visibleActions: [Action.Save, Action.Explore],
|
|
1717
1859
|
* disableActions: [Action.Save],
|
|
1718
|
-
* hiddenActions: [Action.Download],
|
|
1860
|
+
* hiddenActions: [Action.Download], // Set either this or visibleActions
|
|
1719
1861
|
* })
|
|
1720
1862
|
* ```
|
|
1721
1863
|
*/
|
|
@@ -1836,9 +1978,6 @@ export enum Action {
|
|
|
1836
1978
|
DrillEdit = 'context-menu-item-edit',
|
|
1837
1979
|
EditMeasure = 'context-menu-item-edit-measure',
|
|
1838
1980
|
Separator = 'context-menu-item-separator',
|
|
1839
|
-
/**
|
|
1840
|
-
* @hidden
|
|
1841
|
-
*/
|
|
1842
1981
|
DrillDown = 'DRILL',
|
|
1843
1982
|
RequestAccess = 'requestAccess',
|
|
1844
1983
|
QueryDetailsButtons = 'queryDetailsButtons',
|
|
@@ -1929,6 +2068,11 @@ export enum Action {
|
|
|
1929
2068
|
* @hidden
|
|
1930
2069
|
*/
|
|
1931
2070
|
InsertInToSlide = 'insertInToSlide',
|
|
2071
|
+
|
|
2072
|
+
/**
|
|
2073
|
+
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
2074
|
+
*/
|
|
2075
|
+
RenameModalTitleDescription = 'renameModalTitleDescription',
|
|
1932
2076
|
}
|
|
1933
2077
|
|
|
1934
2078
|
export interface SessionInterface {
|
|
@@ -1954,6 +2098,9 @@ export enum PrefetchFeatures {
|
|
|
1954
2098
|
VizEmbed = 'VizEmbed',
|
|
1955
2099
|
}
|
|
1956
2100
|
|
|
2101
|
+
/**
|
|
2102
|
+
* Enum for options to change context trigger
|
|
2103
|
+
*/
|
|
1957
2104
|
export enum ContextMenuTriggerOptions {
|
|
1958
2105
|
LEFT_CLICK = 'left-click',
|
|
1959
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