@thoughtspot/visual-embed-sdk 1.41.1 → 1.42.1-alpha.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 (216) hide show
  1. package/cjs/package.json +9 -9
  2. package/cjs/src/api-intercept.d.ts +25 -0
  3. package/cjs/src/api-intercept.d.ts.map +1 -0
  4. package/cjs/src/api-intercept.js +115 -0
  5. package/cjs/src/api-intercept.js.map +1 -0
  6. package/cjs/src/css-variables.d.ts +52 -14
  7. package/cjs/src/css-variables.d.ts.map +1 -1
  8. package/cjs/src/embed/app.d.ts.map +1 -1
  9. package/cjs/src/embed/app.js +7 -2
  10. package/cjs/src/embed/app.js.map +1 -1
  11. package/cjs/src/embed/app.spec.js +20 -0
  12. package/cjs/src/embed/app.spec.js.map +1 -1
  13. package/cjs/src/embed/bodyless-conversation.d.ts +1 -0
  14. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  15. package/cjs/src/embed/bodyless-conversation.js +7 -3
  16. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  17. package/cjs/src/embed/conversation.d.ts +1 -0
  18. package/cjs/src/embed/conversation.d.ts.map +1 -1
  19. package/cjs/src/embed/conversation.js +7 -2
  20. package/cjs/src/embed/conversation.js.map +1 -1
  21. package/cjs/src/embed/hostEventClient/contracts.d.ts +11 -1
  22. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  23. package/cjs/src/embed/hostEventClient/contracts.js +1 -0
  24. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  25. package/cjs/src/embed/liveboard.d.ts +1 -0
  26. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  27. package/cjs/src/embed/liveboard.js +10 -2
  28. package/cjs/src/embed/liveboard.js.map +1 -1
  29. package/cjs/src/embed/liveboard.spec.js +35 -0
  30. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  31. package/cjs/src/embed/sage.d.ts +1 -0
  32. package/cjs/src/embed/sage.d.ts.map +1 -1
  33. package/cjs/src/embed/sage.js +10 -6
  34. package/cjs/src/embed/sage.js.map +1 -1
  35. package/cjs/src/embed/search-bar.d.ts +1 -0
  36. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  37. package/cjs/src/embed/search-bar.js +11 -7
  38. package/cjs/src/embed/search-bar.js.map +1 -1
  39. package/cjs/src/embed/search.d.ts +1 -0
  40. package/cjs/src/embed/search.d.ts.map +1 -1
  41. package/cjs/src/embed/search.js +10 -9
  42. package/cjs/src/embed/search.js.map +1 -1
  43. package/cjs/src/embed/ts-embed.d.ts +21 -4
  44. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  45. package/cjs/src/embed/ts-embed.js +115 -34
  46. package/cjs/src/embed/ts-embed.js.map +1 -1
  47. package/cjs/src/embed/ts-embed.spec.js +83 -0
  48. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  49. package/cjs/src/errors.d.ts +1 -0
  50. package/cjs/src/errors.d.ts.map +1 -1
  51. package/cjs/src/errors.js +1 -0
  52. package/cjs/src/errors.js.map +1 -1
  53. package/cjs/src/index.d.ts +2 -2
  54. package/cjs/src/index.d.ts.map +1 -1
  55. package/cjs/src/index.js +2 -1
  56. package/cjs/src/index.js.map +1 -1
  57. package/cjs/src/react/all-types-export.d.ts +1 -1
  58. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  59. package/cjs/src/react/all-types-export.js +2 -1
  60. package/cjs/src/react/all-types-export.js.map +1 -1
  61. package/cjs/src/react/all-types-export.spec.js +1 -1
  62. package/cjs/src/react/all-types-export.spec.js.map +1 -1
  63. package/cjs/src/react/util.js.map +1 -1
  64. package/cjs/src/react/util.spec.d.ts +2 -0
  65. package/cjs/src/react/util.spec.d.ts.map +1 -0
  66. package/cjs/src/react/util.spec.js +78 -0
  67. package/cjs/src/react/util.spec.js.map +1 -0
  68. package/cjs/src/types.d.ts +135 -8
  69. package/cjs/src/types.d.ts.map +1 -1
  70. package/cjs/src/types.js +73 -4
  71. package/cjs/src/types.js.map +1 -1
  72. package/cjs/src/utils/processData.d.ts +1 -1
  73. package/cjs/src/utils/processData.d.ts.map +1 -1
  74. package/cjs/src/utils/processData.js +8 -8
  75. package/cjs/src/utils/processData.js.map +1 -1
  76. package/dist/index-BEzW4MDA.js +7371 -0
  77. package/dist/{index-DQueHwfQ.js → index-DvNA626T.js} +1 -1
  78. package/dist/src/api-intercept.d.ts +25 -0
  79. package/dist/src/api-intercept.d.ts.map +1 -0
  80. package/dist/src/css-variables.d.ts +52 -14
  81. package/dist/src/css-variables.d.ts.map +1 -1
  82. package/dist/src/embed/app.d.ts.map +1 -1
  83. package/dist/src/embed/bodyless-conversation.d.ts +1 -0
  84. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  85. package/dist/src/embed/conversation.d.ts +1 -0
  86. package/dist/src/embed/conversation.d.ts.map +1 -1
  87. package/dist/src/embed/hostEventClient/contracts.d.ts +11 -1
  88. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  89. package/dist/src/embed/liveboard.d.ts +1 -0
  90. package/dist/src/embed/liveboard.d.ts.map +1 -1
  91. package/dist/src/embed/sage.d.ts +1 -0
  92. package/dist/src/embed/sage.d.ts.map +1 -1
  93. package/dist/src/embed/search-bar.d.ts +1 -0
  94. package/dist/src/embed/search-bar.d.ts.map +1 -1
  95. package/dist/src/embed/search.d.ts +1 -0
  96. package/dist/src/embed/search.d.ts.map +1 -1
  97. package/dist/src/embed/ts-embed.d.ts +21 -4
  98. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  99. package/dist/src/errors.d.ts +1 -0
  100. package/dist/src/errors.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +2 -2
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/react/all-types-export.d.ts +1 -1
  104. package/dist/src/react/all-types-export.d.ts.map +1 -1
  105. package/dist/src/react/util.spec.d.ts +2 -0
  106. package/dist/src/react/util.spec.d.ts.map +1 -0
  107. package/dist/src/types.d.ts +135 -8
  108. package/dist/src/types.d.ts.map +1 -1
  109. package/dist/src/utils/processData.d.ts +1 -1
  110. package/dist/src/utils/processData.d.ts.map +1 -1
  111. package/dist/tsembed-react.es.js +370 -90
  112. package/dist/tsembed-react.js +369 -89
  113. package/dist/tsembed.es.js +371 -91
  114. package/dist/tsembed.js +369 -89
  115. package/dist/visual-embed-sdk-react-full.d.ts +9431 -9915
  116. package/dist/visual-embed-sdk-react.d.ts +9301 -9922
  117. package/dist/visual-embed-sdk.d.ts +9470 -9532
  118. package/lib/package.json +9 -9
  119. package/lib/src/api-intercept.d.ts +25 -0
  120. package/lib/src/api-intercept.d.ts.map +1 -0
  121. package/lib/src/api-intercept.js +108 -0
  122. package/lib/src/api-intercept.js.map +1 -0
  123. package/lib/src/css-variables.d.ts +52 -14
  124. package/lib/src/css-variables.d.ts.map +1 -1
  125. package/lib/src/embed/app.d.ts.map +1 -1
  126. package/lib/src/embed/app.js +7 -2
  127. package/lib/src/embed/app.js.map +1 -1
  128. package/lib/src/embed/app.spec.js +20 -0
  129. package/lib/src/embed/app.spec.js.map +1 -1
  130. package/lib/src/embed/bodyless-conversation.d.ts +1 -0
  131. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  132. package/lib/src/embed/bodyless-conversation.js +7 -3
  133. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  134. package/lib/src/embed/conversation.d.ts +1 -0
  135. package/lib/src/embed/conversation.d.ts.map +1 -1
  136. package/lib/src/embed/conversation.js +7 -2
  137. package/lib/src/embed/conversation.js.map +1 -1
  138. package/lib/src/embed/hostEventClient/contracts.d.ts +11 -1
  139. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  140. package/lib/src/embed/hostEventClient/contracts.js +1 -0
  141. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  142. package/lib/src/embed/liveboard.d.ts +1 -0
  143. package/lib/src/embed/liveboard.d.ts.map +1 -1
  144. package/lib/src/embed/liveboard.js +10 -2
  145. package/lib/src/embed/liveboard.js.map +1 -1
  146. package/lib/src/embed/liveboard.spec.js +35 -0
  147. package/lib/src/embed/liveboard.spec.js.map +1 -1
  148. package/lib/src/embed/sage.d.ts +1 -0
  149. package/lib/src/embed/sage.d.ts.map +1 -1
  150. package/lib/src/embed/sage.js +10 -6
  151. package/lib/src/embed/sage.js.map +1 -1
  152. package/lib/src/embed/search-bar.d.ts +1 -0
  153. package/lib/src/embed/search-bar.d.ts.map +1 -1
  154. package/lib/src/embed/search-bar.js +11 -7
  155. package/lib/src/embed/search-bar.js.map +1 -1
  156. package/lib/src/embed/search.d.ts +1 -0
  157. package/lib/src/embed/search.d.ts.map +1 -1
  158. package/lib/src/embed/search.js +10 -9
  159. package/lib/src/embed/search.js.map +1 -1
  160. package/lib/src/embed/ts-embed.d.ts +21 -4
  161. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  162. package/lib/src/embed/ts-embed.js +115 -34
  163. package/lib/src/embed/ts-embed.js.map +1 -1
  164. package/lib/src/embed/ts-embed.spec.js +83 -0
  165. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  166. package/lib/src/errors.d.ts +1 -0
  167. package/lib/src/errors.d.ts.map +1 -1
  168. package/lib/src/errors.js +1 -0
  169. package/lib/src/errors.js.map +1 -1
  170. package/lib/src/index.d.ts +2 -2
  171. package/lib/src/index.d.ts.map +1 -1
  172. package/lib/src/index.js +2 -2
  173. package/lib/src/index.js.map +1 -1
  174. package/lib/src/react/all-types-export.d.ts +1 -1
  175. package/lib/src/react/all-types-export.d.ts.map +1 -1
  176. package/lib/src/react/all-types-export.js +1 -1
  177. package/lib/src/react/all-types-export.js.map +1 -1
  178. package/lib/src/react/all-types-export.spec.js +1 -1
  179. package/lib/src/react/all-types-export.spec.js.map +1 -1
  180. package/lib/src/react/util.js.map +1 -1
  181. package/lib/src/react/util.spec.d.ts +2 -0
  182. package/lib/src/react/util.spec.d.ts.map +1 -0
  183. package/lib/src/react/util.spec.js +76 -0
  184. package/lib/src/react/util.spec.js.map +1 -0
  185. package/lib/src/types.d.ts +135 -8
  186. package/lib/src/types.d.ts.map +1 -1
  187. package/lib/src/types.js +72 -3
  188. package/lib/src/types.js.map +1 -1
  189. package/lib/src/utils/processData.d.ts +1 -1
  190. package/lib/src/utils/processData.d.ts.map +1 -1
  191. package/lib/src/utils/processData.js +8 -8
  192. package/lib/src/utils/processData.js.map +1 -1
  193. package/package.json +9 -9
  194. package/src/api-intercept.ts +134 -0
  195. package/src/css-variables.ts +53 -16
  196. package/src/embed/app.spec.ts +28 -0
  197. package/src/embed/app.ts +9 -1
  198. package/src/embed/bodyless-conversation.ts +8 -3
  199. package/src/embed/conversation.ts +17 -2
  200. package/src/embed/hostEventClient/contracts.ts +10 -0
  201. package/src/embed/liveboard.spec.ts +44 -0
  202. package/src/embed/liveboard.ts +12 -1
  203. package/src/embed/sage.ts +14 -9
  204. package/src/embed/search-bar.tsx +14 -7
  205. package/src/embed/search.ts +21 -8
  206. package/src/embed/ts-embed.spec.ts +116 -5
  207. package/src/embed/ts-embed.ts +152 -50
  208. package/src/errors.ts +1 -0
  209. package/src/index.ts +2 -0
  210. package/src/react/all-types-export.spec.ts +1 -1
  211. package/src/react/all-types-export.ts +1 -0
  212. package/src/react/util.spec.tsx +88 -0
  213. package/src/react/util.ts +3 -3
  214. package/src/types.ts +195 -64
  215. package/src/utils/processData.ts +11 -11
  216. package/lib/src/visual-embed-sdk.d.ts +0 -9779
package/src/types.ts CHANGED
@@ -231,12 +231,12 @@ export type DOMSelector = string | HTMLElement;
231
231
  * Use {@link CustomCssVariables} or css rules.
232
232
  */
233
233
  export interface customCssInterface {
234
- /**
235
- * The custom css variables, which can be set.
236
- * The variables are available in the {@link CustomCssVariables}
237
- * interface. For more information, see
238
- * link:https://developers.thoughtspot.com/docs/css-variables-reference[CSS variable reference].
239
- */
234
+ /**
235
+ * The custom css variables, which can be set.
236
+ * The variables are available in the {@link CustomCssVariables}
237
+ * interface. For more information, see
238
+ * link:https://developers.thoughtspot.com/docs/css-variables-reference[CSS variable reference].
239
+ */
240
240
  variables?: CustomCssVariables;
241
241
  /**
242
242
  * Can be used to define a custom font face
@@ -329,7 +329,7 @@ export interface CustomisationsInterface {
329
329
  * if a trusted authentication server is used.
330
330
  * @group Authentication / Init
331
331
  */
332
- export interface EmbedConfig {
332
+ export interface EmbedConfig extends InterceptV2Flags {
333
333
  /**
334
334
  * The ThoughtSpot cluster hostname or IP address.
335
335
  */
@@ -648,7 +648,7 @@ export interface EmbedConfig {
648
648
  * ```
649
649
  * @version SDK 1.37.0 | ThoughtSpot: 10.8.0.cl
650
650
  */
651
- customVariablesForThirdPartyTools?: Record< string, any >;
651
+ customVariablesForThirdPartyTools?: Record<string, any>;
652
652
 
653
653
  disablePreauthCache?: boolean;
654
654
 
@@ -695,7 +695,7 @@ export interface EmbedConfig {
695
695
  }
696
696
 
697
697
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
698
- export interface LayoutConfig {}
698
+ export interface LayoutConfig { }
699
699
 
700
700
  /**
701
701
  * Embedded iframe configuration
@@ -726,7 +726,7 @@ export interface FrameParams {
726
726
  /**
727
727
  * The common configuration object for an embedded view.
728
728
  */
729
- export interface BaseViewConfig {
729
+ export interface BaseViewConfig extends InterceptV2Flags {
730
730
  /**
731
731
  * @hidden
732
732
  */
@@ -1481,41 +1481,56 @@ export interface LiveboardAppEmbedViewConfig {
1481
1481
  * ```
1482
1482
  */
1483
1483
  enableAskSage?: boolean;
1484
- /**
1485
- * This flag is used to show or hide checkboxes for including or excluding
1486
- * the cover and filters pages in the Liveboard PDF.
1484
+ /**
1485
+ * This flag is used to show or hide checkboxes for including or excluding
1486
+ * the cover and filters pages in the Liveboard PDF.
1487
+ *
1488
+ * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1489
+ * @version SDK: 1.40.0 | ThoughtSpot:10.8.0.cl
1490
+ * @example
1491
+ * ```js
1492
+ * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1493
+ * const embed = new <EmbedComponent>('#tsEmbed', {
1494
+ * ... // other embed view config
1495
+ * coverAndFilterOptionInPDF: false,
1496
+ * })
1497
+ * ```
1498
+ */
1499
+ coverAndFilterOptionInPDF?: boolean;
1500
+ /**
1501
+ * This flag is used to enable or disable the XLSX/CSV download option for Liveboards.
1487
1502
  *
1488
1503
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1489
- * @version SDK: 1.40.0 | ThoughtSpot:10.8.0.cl
1504
+ * @version SDK: 1.41.0 | ThoughtSpot: 10.14.0.cl
1490
1505
  * @example
1491
1506
  * ```js
1492
1507
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1493
1508
  * const embed = new <EmbedComponent>('#tsEmbed', {
1494
1509
  * ... // other embed view config
1495
- * coverAndFilterOptionInPDF: false,
1510
+ * liveboardXLSXCSVDownload: true,
1496
1511
  * })
1497
1512
  * ```
1498
1513
  */
1499
- coverAndFilterOptionInPDF?: boolean;
1514
+ liveboardXLSXCSVDownload?: boolean;
1500
1515
  /**
1501
- * This flag is used to enable or disable the XLSX/CSV download option for Liveboards.
1516
+ * This flag is used to enable or disable the link parameters in liveboard.
1502
1517
  *
1503
1518
  * Supported embed types: `AppEmbed`, `LiveboardEmbed`
1504
- * @version SDK: 1.41.0 | ThoughtSpot: 10.14.0.cl
1519
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
1505
1520
  * @example
1506
1521
  * ```js
1507
1522
  * // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1508
1523
  * const embed = new <EmbedComponent>('#tsEmbed', {
1509
1524
  * ... // other embed view config
1510
- * liveboardXLSXCSVDownload: true,
1525
+ * isLinkParametersEnabled: true,
1511
1526
  * })
1512
1527
  * ```
1513
1528
  */
1514
- liveboardXLSXCSVDownload?: boolean;
1515
-
1529
+ isLinkParametersEnabled?: boolean;
1530
+
1516
1531
  }
1517
1532
 
1518
- export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig {}
1533
+ export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig { }
1519
1534
 
1520
1535
  /**
1521
1536
  * MessagePayload: Embed event payload: message type, data and status (start/end)
@@ -2774,25 +2789,25 @@ export enum EmbedEvent {
2774
2789
  * ```
2775
2790
  * @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
2776
2791
  */
2777
- TableVizRendered = 'TableVizRendered',
2778
- /**
2779
- * Emitted when the liveboard is created from pin modal or Liveboard list page.
2780
- * You can use this event as a hook to trigger
2781
- * other events on liveboard creation.
2782
- *
2783
- * ```js
2784
- * liveboardEmbed.on(EmbedEvent.CreateLiveboard, (payload) => {
2785
- * console.log('payload', payload);
2786
- * })
2787
- *```
2788
- * @version SDK : 1.37.0 | ThoughtSpot: 10.8.0.cl
2789
- */
2792
+ TableVizRendered = 'TableVizRendered',
2793
+ /**
2794
+ * Emitted when the liveboard is created from pin modal or Liveboard list page.
2795
+ * You can use this event as a hook to trigger
2796
+ * other events on liveboard creation.
2797
+ *
2798
+ * ```js
2799
+ * liveboardEmbed.on(EmbedEvent.CreateLiveboard, (payload) => {
2800
+ * console.log('payload', payload);
2801
+ * })
2802
+ *```
2803
+ * @version SDK : 1.37.0 | ThoughtSpot: 10.8.0.cl
2804
+ */
2790
2805
  CreateLiveboard = 'createLiveboard',
2791
2806
  /**
2792
2807
  * Emitted when a user creates a Model.
2793
2808
  * @version SDK : 1.37.0 | ThoughtSpot: 10.8.0.cl
2794
2809
  */
2795
- CreateModel = 'createModel',
2810
+ CreateModel = 'createModel',
2796
2811
  /**
2797
2812
  * @hidden
2798
2813
  * Emitted when a user exits present mode.
@@ -2905,6 +2920,21 @@ export enum EmbedEvent {
2905
2920
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
2906
2921
  */
2907
2922
  OrgSwitched = 'orgSwitched',
2923
+ /**
2924
+ * Emitted when the user intercepts a URL.
2925
+ *
2926
+ * Supported on all embed types.
2927
+ *
2928
+ * @example
2929
+ * ```js
2930
+ * embed.on(EmbedEvent.ApiIntercept, (payload) => {
2931
+ * console.log('payload', payload);
2932
+ * })
2933
+ * ```
2934
+ *
2935
+ * @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
2936
+ */
2937
+ ApiIntercept = 'ApiIntercept',
2908
2938
  }
2909
2939
 
2910
2940
  /**
@@ -3670,24 +3700,45 @@ export enum HostEvent {
3670
3700
  * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
3671
3701
  */
3672
3702
  Share = 'share',
3673
- /**
3674
- * Trigger the **Save** action on a Liveboard or Answer.
3675
- * Saves the changes.
3676
- * @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
3677
- * @example
3678
- * ```js
3679
- * liveboardEmbed.trigger(HostEvent.Save)
3680
- * ```
3681
- * ```js
3682
- * searchEmbed.trigger(HostEvent.Save)
3683
- * ```
3684
- * ```js
3685
- * spotterEmbed.trigger(HostEvent.Save, {
3686
- * vizId:"730496d6-6903-4601-937e-2c691821af3c"
3687
- * })
3688
- * ```
3689
- * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
3690
- */
3703
+ /**
3704
+ * Trigger the **Save** action on a Liveboard, Answer, or Spotter.
3705
+ * Saves the changes.
3706
+ *
3707
+ * @param - `vizId` refers to the Spotter Visualization Id used in Spotter embed.
3708
+ * It is required and can be retrieved from the data embed event.
3709
+ *
3710
+ * @example
3711
+ * ```js
3712
+ * // Save changes in a Liveboard
3713
+ * liveboardEmbed.trigger(HostEvent.Save)
3714
+ * ```
3715
+ *
3716
+ * ```js
3717
+ * // Save the current Answer in Search embed
3718
+ * searchEmbed.trigger(HostEvent.Save)
3719
+ * ```
3720
+ *
3721
+ * ```js
3722
+ * // Save an Answer in Spotter (requires vizId)
3723
+ * spotterEmbed.trigger(HostEvent.Save, {
3724
+ * vizId: "730496d6-6903-4601-937e-2c691821af3c"
3725
+ * })
3726
+ * ```
3727
+ *
3728
+ * ```js
3729
+ * // How to get the vizId in Spotter?
3730
+ *
3731
+ * // You can use the Data event dispatched on each answer creation to get the vizId.
3732
+ * let latestSpotterVizId = '';
3733
+ * spotterEmbed.on(EmbedEvent.Data, (payload) => {
3734
+ * latestSpotterVizId = payload.data.id;
3735
+ * });
3736
+ *
3737
+ * spotterEmbed.trigger(HostEvent.Save, { vizId: latestSpotterVizId });
3738
+ * ```
3739
+ *
3740
+ * @version SDK: 1.19.0 | ThoughtSpot: 9.0.0.cl, 9.0.1.sw
3741
+ */
3691
3742
  Save = 'save',
3692
3743
  /**
3693
3744
  * Trigger the **Sync to Sheets** action on an embedded visualization or Answer
@@ -4015,7 +4066,7 @@ export enum HostEvent {
4015
4066
  *```
4016
4067
  * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
4017
4068
  */
4018
- InfoSuccess = 'InfoSuccess',
4069
+ InfoSuccess = 'InfoSuccess',
4019
4070
  /**
4020
4071
  * Trigger the save action for an Answer.
4021
4072
  * To programmatically save an answer without opening the
@@ -4169,6 +4220,17 @@ export enum HostEvent {
4169
4220
  * @version SDK: 1.41.0 | ThoughtSpot: 10.12.0.cl
4170
4221
  */
4171
4222
  AskSpotter = 'AskSpotter',
4223
+
4224
+ /**
4225
+ * @hidden
4226
+ * Triggers the update of the embed params.
4227
+ *
4228
+ * @example
4229
+ * ```js
4230
+ * liveboardEmbed.trigger(HostEvent.UpdateEmbedParams, viewConfig);
4231
+ * ```
4232
+ */
4233
+ UpdateEmbedParams = 'updateEmbedParams',
4172
4234
  }
4173
4235
 
4174
4236
  /**
@@ -4318,6 +4380,7 @@ export enum Param {
4318
4380
  RootMarginForLazyLoad = 'rootMarginForLazyLoad',
4319
4381
  LiveboardXLSXCSVDownload = 'isLiveboardXLSXCSVDownloadEnabled',
4320
4382
  isPNGInScheduledEmailsEnabled = 'isPNGInScheduledEmailsEnabled',
4383
+ isLinkParametersEnabled = 'isLinkParametersEnabled',
4321
4384
  }
4322
4385
 
4323
4386
  /**
@@ -5671,15 +5734,15 @@ export interface ColumnValue {
5671
5734
  [key: string]: any;
5672
5735
  };
5673
5736
  value:
5674
- | string
5675
- | number
5676
- | boolean
5677
- | {
5678
- v: {
5679
- s: number;
5680
- e: number;
5681
- };
5682
- };
5737
+ | string
5738
+ | number
5739
+ | boolean
5740
+ | {
5741
+ v: {
5742
+ s: number;
5743
+ e: number;
5744
+ };
5745
+ };
5683
5746
  }
5684
5747
 
5685
5748
  export interface VizPoint {
@@ -5848,3 +5911,71 @@ export interface DefaultAppInitData {
5848
5911
  hiddenListColumns: ListPageColumns[];
5849
5912
  customActions: CustomAction[];
5850
5913
  }
5914
+
5915
+ /**
5916
+ * Enum for the type of API intercepted
5917
+ */
5918
+ export enum InterceptedApiType {
5919
+ /**
5920
+ * The apis that are use to get the metadata for the embed
5921
+ */
5922
+ METADATA = 'METADATA',
5923
+ /**
5924
+ * The apis that are use to get the data for the embed
5925
+ */
5926
+ ANSWER_DATA = 'ANSWER_DATA',
5927
+ /**
5928
+ * This will intercept all the apis
5929
+ */
5930
+ ALL = 'ALL',
5931
+ /**
5932
+ * The apis that are use to get the data for the liveboard
5933
+ */
5934
+ LIVEBOARD_DATA = 'LIVEBOARD_DATA',
5935
+ }
5936
+
5937
+
5938
+ export type InterceptV2Flags = {
5939
+ /**
5940
+ * Enable intercepting the apis
5941
+ *
5942
+ * @example
5943
+ * ```js
5944
+ * const embed = new LiveboardEmbed('#embed', {
5945
+ * ...viewConfig,
5946
+ * enableApiIntercept: true,
5947
+ * interceptUrls: [InterceptedApiType.DATA],
5948
+ * })
5949
+ * ```
5950
+ *
5951
+ */
5952
+ enableApiIntercept?: boolean;
5953
+ /**
5954
+ * The apis to intercept
5955
+ *
5956
+ * @example
5957
+ * ```js
5958
+ * const embed = new LiveboardEmbed('#embed', {
5959
+ * ...viewConfig,
5960
+ * enableApiIntercept: true,
5961
+ * interceptUrls: [InterceptedApiType.DATA],
5962
+ * })
5963
+ * ```
5964
+ */
5965
+ interceptUrls?: (string | InterceptedApiType)[];
5966
+ /**
5967
+ * The timeout for the intercept, default is 30000ms
5968
+ * the api will error out if the timeout is reached
5969
+ *
5970
+ * @example
5971
+ * ```js
5972
+ * const embed = new LiveboardEmbed('#embed', {
5973
+ * ...viewConfig,
5974
+ * enableApiIntercept: true,
5975
+ * interceptUrls: [InterceptedApiType.ALL],
5976
+ * interceptTimeout: 1000,
5977
+ * })
5978
+ * ```
5979
+ */
5980
+ interceptTimeout?: number;
5981
+ }
@@ -10,9 +10,9 @@ import { AuthType, CustomActionPayload, EmbedEvent } from '../types';
10
10
  import { AnswerService } from './graphql/answerService/answerService';
11
11
  import { resetCachedAuthToken } from '../authToken';
12
12
  import { ERROR_MESSAGE } from '../errors';
13
- import { logger } from '../utils/logger';
14
13
  import { handleExitPresentMode } from '../utils';
15
14
  import { resetCachedPreauthInfo, resetCachedSessionInfo } from './sessionInfoService';
15
+ import { processApiIntercept } from '../api-intercept';
16
16
 
17
17
  /**
18
18
  * Process the ExitPresentMode event and handle default fullscreen exit
@@ -21,7 +21,7 @@ import { resetCachedPreauthInfo, resetCachedSessionInfo } from './sessionInfoSer
21
21
  function processExitPresentMode(e: any) {
22
22
  const embedConfig = getEmbedConfig();
23
23
  const disableFullscreenPresentation = embedConfig?.disableFullscreenPresentation ?? true;
24
-
24
+
25
25
  if (!disableFullscreenPresentation) {
26
26
  handleExitPresentMode();
27
27
  }
@@ -103,7 +103,7 @@ export function processAuthFailure(e: any, containerEl: Element) {
103
103
  const {
104
104
  loginFailedMessage, authType, disableLoginFailurePage, autoLogin,
105
105
  } = getEmbedConfig();
106
-
106
+
107
107
  const isEmbeddedSSO = authType === AuthType.EmbeddedSSO;
108
108
  const isTrustedAuth = authType === AuthType.TrustedAuthToken || authType === AuthType.TrustedAuthTokenCookieless;
109
109
  const isEmbeddedSSOInfoFailure = isEmbeddedSSO && e?.data?.type === AuthFailureType.UNAUTHENTICATED_FAILURE;
@@ -144,26 +144,26 @@ function processAuthLogout(e: any, containerEl: Element) {
144
144
  */
145
145
  export function processEventData(
146
146
  type: EmbedEvent,
147
- e: any,
147
+ eventData: any,
148
148
  thoughtSpotHost: string,
149
149
  containerEl: Element,
150
150
  ): any {
151
151
  switch (type) {
152
152
  case EmbedEvent.CustomAction:
153
- return processCustomAction(e, thoughtSpotHost);
153
+ return processCustomAction(eventData, thoughtSpotHost);
154
154
  case EmbedEvent.AuthInit:
155
- return processAuthInit(e);
155
+ return processAuthInit(eventData);
156
156
  case EmbedEvent.NoCookieAccess:
157
- return processNoCookieAccess(e, containerEl);
157
+ return processNoCookieAccess(eventData, containerEl);
158
158
  case EmbedEvent.AuthFailure:
159
- return processAuthFailure(e, containerEl);
159
+ return processAuthFailure(eventData, containerEl);
160
160
  case EmbedEvent.AuthLogout:
161
- return processAuthLogout(e, containerEl);
161
+ return processAuthLogout(eventData, containerEl);
162
162
  case EmbedEvent.ExitPresentMode:
163
- return processExitPresentMode(e);
163
+ return processExitPresentMode(eventData);
164
164
  case EmbedEvent.CLEAR_INFO_CACHE:
165
165
  return processClearInfoCache();
166
166
  default:
167
167
  }
168
- return e;
168
+ return eventData;
169
169
  }