@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.
Files changed (201) hide show
  1. package/cjs/package.json +11 -8
  2. package/cjs/src/auth.d.ts +2 -0
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +2 -0
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/embed/app.d.ts +28 -1
  7. package/cjs/src/embed/app.d.ts.map +1 -1
  8. package/cjs/src/embed/app.js +32 -1
  9. package/cjs/src/embed/app.js.map +1 -1
  10. package/cjs/src/embed/app.spec.js +67 -0
  11. package/cjs/src/embed/app.spec.js.map +1 -1
  12. package/cjs/src/embed/base.d.ts +16 -0
  13. package/cjs/src/embed/base.d.ts.map +1 -1
  14. package/cjs/src/embed/base.js +85 -1
  15. package/cjs/src/embed/base.js.map +1 -1
  16. package/cjs/src/embed/base.spec.js +127 -0
  17. package/cjs/src/embed/base.spec.js.map +1 -1
  18. package/cjs/src/embed/liveboard.spec.js +19 -0
  19. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  20. package/cjs/src/embed/pinboard.spec.js +19 -0
  21. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  22. package/cjs/src/embed/search.d.ts.map +1 -1
  23. package/cjs/src/embed/search.js +2 -2
  24. package/cjs/src/embed/search.js.map +1 -1
  25. package/cjs/src/embed/search.spec.js +24 -0
  26. package/cjs/src/embed/search.spec.js.map +1 -1
  27. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +1 -1
  28. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  29. package/cjs/src/embed/ts-embed.d.ts +3 -3
  30. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  31. package/cjs/src/embed/ts-embed.js +28 -9
  32. package/cjs/src/embed/ts-embed.js.map +1 -1
  33. package/cjs/src/embed/ts-embed.spec.js +82 -6
  34. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  35. package/cjs/src/index.d.ts +3 -3
  36. package/cjs/src/index.d.ts.map +1 -1
  37. package/cjs/src/index.js +4 -1
  38. package/cjs/src/index.js.map +1 -1
  39. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  40. package/cjs/src/mixpanel-service.js +11 -6
  41. package/cjs/src/mixpanel-service.js.map +1 -1
  42. package/cjs/src/react/all-types-export.d.ts +3 -0
  43. package/cjs/src/react/all-types-export.d.ts.map +1 -0
  44. package/cjs/src/react/all-types-export.js +29 -0
  45. package/cjs/src/react/all-types-export.js.map +1 -0
  46. package/cjs/src/react/all-types-export.spec.d.ts +2 -0
  47. package/cjs/src/react/all-types-export.spec.d.ts.map +1 -0
  48. package/cjs/src/react/all-types-export.spec.js +13 -0
  49. package/cjs/src/react/all-types-export.spec.js.map +1 -0
  50. package/cjs/src/react/index.d.ts +63 -6
  51. package/cjs/src/react/index.d.ts.map +1 -1
  52. package/cjs/src/react/index.js +65 -2
  53. package/cjs/src/react/index.js.map +1 -1
  54. package/cjs/src/react/index.spec.js +12 -2
  55. package/cjs/src/react/index.spec.js.map +1 -1
  56. package/cjs/src/test/test-utils.d.ts.map +1 -1
  57. package/cjs/src/test/test-utils.js +2 -2
  58. package/cjs/src/test/test-utils.js.map +1 -1
  59. package/cjs/src/types.d.ts +158 -19
  60. package/cjs/src/types.d.ts.map +1 -1
  61. package/cjs/src/types.js +112 -16
  62. package/cjs/src/types.js.map +1 -1
  63. package/cjs/src/utils/processTrigger.d.ts +6 -0
  64. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  65. package/cjs/src/utils/processTrigger.js +10 -8
  66. package/cjs/src/utils/processTrigger.js.map +1 -1
  67. package/cjs/src/utils/processTrigger.spec.js +5 -2
  68. package/cjs/src/utils/processTrigger.spec.js.map +1 -1
  69. package/cjs/src/utils.d.ts +1 -0
  70. package/cjs/src/utils.d.ts.map +1 -1
  71. package/cjs/src/utils.js +3 -1
  72. package/cjs/src/utils.js.map +1 -1
  73. package/dist/src/auth.d.ts +2 -0
  74. package/dist/src/auth.d.ts.map +1 -1
  75. package/dist/src/embed/app.d.ts +28 -1
  76. package/dist/src/embed/app.d.ts.map +1 -1
  77. package/dist/src/embed/base.d.ts +16 -0
  78. package/dist/src/embed/base.d.ts.map +1 -1
  79. package/dist/src/embed/search.d.ts.map +1 -1
  80. package/dist/src/embed/ts-embed.d.ts +3 -3
  81. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  82. package/dist/src/index.d.ts +3 -3
  83. package/dist/src/index.d.ts.map +1 -1
  84. package/dist/src/mixpanel-service.d.ts.map +1 -1
  85. package/dist/src/react/all-types-export.d.ts +3 -0
  86. package/dist/src/react/all-types-export.d.ts.map +1 -0
  87. package/dist/src/react/all-types-export.spec.d.ts +2 -0
  88. package/dist/src/react/all-types-export.spec.d.ts.map +1 -0
  89. package/dist/src/react/index.d.ts +63 -6
  90. package/dist/src/react/index.d.ts.map +1 -1
  91. package/dist/src/test/test-utils.d.ts.map +1 -1
  92. package/dist/src/types.d.ts +158 -19
  93. package/dist/src/types.d.ts.map +1 -1
  94. package/dist/src/utils/processTrigger.d.ts +6 -0
  95. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  96. package/dist/src/utils.d.ts +1 -0
  97. package/dist/src/utils.d.ts.map +1 -1
  98. package/dist/tsembed-react.es.js +28044 -0
  99. package/dist/tsembed-react.js +27986 -0
  100. package/dist/tsembed.es.js +279 -43
  101. package/dist/tsembed.js +280 -46
  102. package/dist/visual-embed-sdk-react-full.d.ts +3112 -0
  103. package/dist/visual-embed-sdk-react.d.ts +2781 -0
  104. package/dist/visual-embed-sdk.d.ts +3005 -0
  105. package/lib/package.json +11 -8
  106. package/lib/src/auth.d.ts +2 -0
  107. package/lib/src/auth.d.ts.map +1 -1
  108. package/lib/src/auth.js +2 -0
  109. package/lib/src/auth.js.map +1 -1
  110. package/lib/src/embed/app.d.ts +28 -1
  111. package/lib/src/embed/app.d.ts.map +1 -1
  112. package/lib/src/embed/app.js +33 -2
  113. package/lib/src/embed/app.js.map +1 -1
  114. package/lib/src/embed/app.spec.js +68 -1
  115. package/lib/src/embed/app.spec.js.map +1 -1
  116. package/lib/src/embed/base.d.ts +16 -0
  117. package/lib/src/embed/base.d.ts.map +1 -1
  118. package/lib/src/embed/base.js +83 -1
  119. package/lib/src/embed/base.js.map +1 -1
  120. package/lib/src/embed/base.spec.js +127 -0
  121. package/lib/src/embed/base.spec.js.map +1 -1
  122. package/lib/src/embed/liveboard.spec.js +19 -0
  123. package/lib/src/embed/liveboard.spec.js.map +1 -1
  124. package/lib/src/embed/pinboard.spec.js +19 -0
  125. package/lib/src/embed/pinboard.spec.js.map +1 -1
  126. package/lib/src/embed/search.d.ts.map +1 -1
  127. package/lib/src/embed/search.js +2 -2
  128. package/lib/src/embed/search.js.map +1 -1
  129. package/lib/src/embed/search.spec.js +24 -0
  130. package/lib/src/embed/search.spec.js.map +1 -1
  131. package/lib/src/embed/searchEmbed-basic-auth.spec.js +1 -1
  132. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  133. package/lib/src/embed/ts-embed.d.ts +3 -3
  134. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  135. package/lib/src/embed/ts-embed.js +30 -11
  136. package/lib/src/embed/ts-embed.js.map +1 -1
  137. package/lib/src/embed/ts-embed.spec.js +83 -7
  138. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  139. package/lib/src/index.d.ts +3 -3
  140. package/lib/src/index.d.ts.map +1 -1
  141. package/lib/src/index.js +4 -4
  142. package/lib/src/index.js.map +1 -1
  143. package/lib/src/mixpanel-service.d.ts.map +1 -1
  144. package/lib/src/mixpanel-service.js +11 -6
  145. package/lib/src/mixpanel-service.js.map +1 -1
  146. package/lib/src/react/all-types-export.d.ts +3 -0
  147. package/lib/src/react/all-types-export.d.ts.map +1 -0
  148. package/lib/src/react/all-types-export.js +5 -0
  149. package/lib/src/react/all-types-export.js.map +1 -0
  150. package/lib/src/react/all-types-export.spec.d.ts +2 -0
  151. package/lib/src/react/all-types-export.spec.d.ts.map +1 -0
  152. package/lib/src/react/all-types-export.spec.js +10 -0
  153. package/lib/src/react/all-types-export.spec.js.map +1 -0
  154. package/lib/src/react/index.d.ts +63 -6
  155. package/lib/src/react/index.d.ts.map +1 -1
  156. package/lib/src/react/index.js +59 -1
  157. package/lib/src/react/index.js.map +1 -1
  158. package/lib/src/react/index.spec.js +12 -2
  159. package/lib/src/react/index.spec.js.map +1 -1
  160. package/lib/src/test/test-utils.d.ts.map +1 -1
  161. package/lib/src/test/test-utils.js +2 -2
  162. package/lib/src/test/test-utils.js.map +1 -1
  163. package/lib/src/types.d.ts +158 -19
  164. package/lib/src/types.d.ts.map +1 -1
  165. package/lib/src/types.js +112 -16
  166. package/lib/src/types.js.map +1 -1
  167. package/lib/src/utils/processTrigger.d.ts +6 -0
  168. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  169. package/lib/src/utils/processTrigger.js +7 -6
  170. package/lib/src/utils/processTrigger.js.map +1 -1
  171. package/lib/src/utils/processTrigger.spec.js +5 -2
  172. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  173. package/lib/src/utils.d.ts +1 -0
  174. package/lib/src/utils.d.ts.map +1 -1
  175. package/lib/src/utils.js +1 -0
  176. package/lib/src/utils.js.map +1 -1
  177. package/package.json +11 -8
  178. package/src/auth.ts +2 -0
  179. package/src/embed/app.spec.ts +84 -1
  180. package/src/embed/app.ts +59 -2
  181. package/src/embed/base.spec.ts +144 -0
  182. package/src/embed/base.ts +107 -0
  183. package/src/embed/liveboard.spec.ts +23 -0
  184. package/src/embed/pinboard.spec.ts +23 -0
  185. package/src/embed/search.spec.ts +28 -0
  186. package/src/embed/search.ts +2 -1
  187. package/src/embed/searchEmbed-basic-auth.spec.ts +1 -1
  188. package/src/embed/ts-embed.spec.ts +92 -19
  189. package/src/embed/ts-embed.ts +29 -11
  190. package/src/index.ts +5 -1
  191. package/src/mixpanel-service.ts +10 -6
  192. package/src/react/all-types-export.spec.ts +11 -0
  193. package/src/react/all-types-export.ts +43 -0
  194. package/src/react/index.spec.tsx +18 -2
  195. package/src/react/index.tsx +72 -6
  196. package/src/test/test-utils.ts +2 -2
  197. package/src/types.ts +158 -17
  198. package/src/utils/processTrigger.spec.ts +5 -2
  199. package/src/utils/processTrigger.ts +7 -6
  200. package/src/utils.ts +2 -0
  201. 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 noRedirect SSO Auth, we need a button which the user
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 {vizId, clickedPoint} - metadata about point that is clicked
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
- * dataSourceIds: ["cd252e5c-b552-49a8-821d-3eadaa049cca"]
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.trigger(HostEvent.DrillDown, {
1186
- * points: clickedPointData,
1187
- * autoDrillDown: true,
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.DownloadAsPDF)
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 = '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
- * @deprecated from SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.1-sw, Please use DownloadAsPng
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
- * searchEmbed.trigger(HostEvent.SearchReset
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, childNode should not be the same as iFrame', async () => {
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
- expect(divFrame.childNodes[0]).not.toBe(iFrameElement);
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
- function reload(iFrame: HTMLIFrameElement) {
10
- const oldFrame = iFrame.cloneNode();
11
- const parent = iFrame.parentNode;
12
- parent.removeChild(iFrame);
13
- parent.appendChild(oldFrame);
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
@@ -212,6 +212,8 @@ export const getCustomisations = (
212
212
  return customizations;
213
213
  };
214
214
 
215
+ export const getRuntimeFilters = (runtimefilters: any) => getFilterQuery(runtimefilters || []);
216
+
215
217
  /**
216
218
  * Gets a reference to the DOM node given
217
219
  * a selector.