@thoughtspot/visual-embed-sdk 1.32.0-alpha.2 → 1.32.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 (150) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +2 -2
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +6 -5
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/authToken.d.ts.map +1 -1
  7. package/cjs/src/authToken.js +5 -7
  8. package/cjs/src/authToken.js.map +1 -1
  9. package/cjs/src/embed/app.d.ts +8 -1
  10. package/cjs/src/embed/app.d.ts.map +1 -1
  11. package/cjs/src/embed/app.js +2 -2
  12. package/cjs/src/embed/app.js.map +1 -1
  13. package/cjs/src/embed/base.d.ts.map +1 -1
  14. package/cjs/src/embed/base.js +2 -0
  15. package/cjs/src/embed/base.js.map +1 -1
  16. package/cjs/src/embed/search.d.ts +28 -0
  17. package/cjs/src/embed/search.d.ts.map +1 -1
  18. package/cjs/src/embed/search.js +8 -3
  19. package/cjs/src/embed/search.js.map +1 -1
  20. package/cjs/src/embed/search.spec.js +13 -0
  21. package/cjs/src/embed/search.spec.js.map +1 -1
  22. package/cjs/src/embed/ts-embed.d.ts +1 -1
  23. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  24. package/cjs/src/embed/ts-embed.js +10 -6
  25. package/cjs/src/embed/ts-embed.js.map +1 -1
  26. package/cjs/src/errors.d.ts +11 -0
  27. package/cjs/src/errors.d.ts.map +1 -1
  28. package/cjs/src/errors.js +11 -0
  29. package/cjs/src/errors.js.map +1 -1
  30. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  31. package/cjs/src/mixpanel-service.js +2 -1
  32. package/cjs/src/mixpanel-service.js.map +1 -1
  33. package/cjs/src/react/index.spec.js +1 -1
  34. package/cjs/src/react/index.spec.js.map +1 -1
  35. package/cjs/src/types.d.ts +169 -12
  36. package/cjs/src/types.d.ts.map +1 -1
  37. package/cjs/src/types.js +142 -9
  38. package/cjs/src/types.js.map +1 -1
  39. package/cjs/src/utils/global-styles.js +1 -1
  40. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  41. package/cjs/src/utils/graphql/answerService/answer-queries.js +9 -0
  42. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  43. package/cjs/src/utils/processData.d.ts.map +1 -1
  44. package/cjs/src/utils/processData.js +2 -1
  45. package/cjs/src/utils/processData.js.map +1 -1
  46. package/cjs/src/utils/reporting.d.ts +16 -0
  47. package/cjs/src/utils/reporting.d.ts.map +1 -0
  48. package/cjs/src/utils/reporting.js +68 -0
  49. package/cjs/src/utils/reporting.js.map +1 -0
  50. package/cjs/src/utils/reporting.spec.d.ts +2 -0
  51. package/cjs/src/utils/reporting.spec.d.ts.map +1 -0
  52. package/cjs/src/utils/reporting.spec.js +76 -0
  53. package/cjs/src/utils/reporting.spec.js.map +1 -0
  54. package/dist/src/auth.d.ts.map +1 -1
  55. package/dist/src/authToken.d.ts.map +1 -1
  56. package/dist/src/embed/app.d.ts +8 -1
  57. package/dist/src/embed/app.d.ts.map +1 -1
  58. package/dist/src/embed/base.d.ts.map +1 -1
  59. package/dist/src/embed/search.d.ts +28 -0
  60. package/dist/src/embed/search.d.ts.map +1 -1
  61. package/dist/src/embed/ts-embed.d.ts +1 -1
  62. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  63. package/dist/src/errors.d.ts +11 -0
  64. package/dist/src/errors.d.ts.map +1 -1
  65. package/dist/src/mixpanel-service.d.ts.map +1 -1
  66. package/dist/src/types.d.ts +169 -12
  67. package/dist/src/types.d.ts.map +1 -1
  68. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  69. package/dist/src/utils/processData.d.ts.map +1 -1
  70. package/dist/src/utils/reporting.d.ts +16 -0
  71. package/dist/src/utils/reporting.d.ts.map +1 -0
  72. package/dist/src/utils/reporting.spec.d.ts +2 -0
  73. package/dist/src/utils/reporting.spec.d.ts.map +1 -0
  74. package/dist/tsembed-react.es.js +208 -43
  75. package/dist/tsembed-react.js +208 -43
  76. package/dist/tsembed.es.js +255 -44
  77. package/dist/tsembed.js +255 -44
  78. package/dist/visual-embed-sdk-react-full.d.ts +206 -14
  79. package/dist/visual-embed-sdk-react.d.ts +206 -14
  80. package/dist/visual-embed-sdk.d.ts +206 -14
  81. package/lib/package.json +2 -2
  82. package/lib/src/auth.d.ts.map +1 -1
  83. package/lib/src/auth.js +6 -5
  84. package/lib/src/auth.js.map +1 -1
  85. package/lib/src/authToken.d.ts.map +1 -1
  86. package/lib/src/authToken.js +5 -7
  87. package/lib/src/authToken.js.map +1 -1
  88. package/lib/src/embed/app.d.ts +8 -1
  89. package/lib/src/embed/app.d.ts.map +1 -1
  90. package/lib/src/embed/app.js +2 -2
  91. package/lib/src/embed/app.js.map +1 -1
  92. package/lib/src/embed/base.d.ts.map +1 -1
  93. package/lib/src/embed/base.js +2 -0
  94. package/lib/src/embed/base.js.map +1 -1
  95. package/lib/src/embed/search.d.ts +28 -0
  96. package/lib/src/embed/search.d.ts.map +1 -1
  97. package/lib/src/embed/search.js +8 -3
  98. package/lib/src/embed/search.js.map +1 -1
  99. package/lib/src/embed/search.spec.js +13 -0
  100. package/lib/src/embed/search.spec.js.map +1 -1
  101. package/lib/src/embed/ts-embed.d.ts +1 -1
  102. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  103. package/lib/src/embed/ts-embed.js +10 -6
  104. package/lib/src/embed/ts-embed.js.map +1 -1
  105. package/lib/src/errors.d.ts +11 -0
  106. package/lib/src/errors.d.ts.map +1 -1
  107. package/lib/src/errors.js +11 -0
  108. package/lib/src/errors.js.map +1 -1
  109. package/lib/src/mixpanel-service.d.ts.map +1 -1
  110. package/lib/src/mixpanel-service.js +2 -1
  111. package/lib/src/mixpanel-service.js.map +1 -1
  112. package/lib/src/react/index.spec.js +1 -1
  113. package/lib/src/react/index.spec.js.map +1 -1
  114. package/lib/src/types.d.ts +169 -12
  115. package/lib/src/types.d.ts.map +1 -1
  116. package/lib/src/types.js +142 -9
  117. package/lib/src/types.js.map +1 -1
  118. package/lib/src/utils/global-styles.js +1 -1
  119. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  120. package/lib/src/utils/graphql/answerService/answer-queries.js +9 -0
  121. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  122. package/lib/src/utils/processData.d.ts.map +1 -1
  123. package/lib/src/utils/processData.js +2 -1
  124. package/lib/src/utils/processData.js.map +1 -1
  125. package/lib/src/utils/reporting.d.ts +16 -0
  126. package/lib/src/utils/reporting.d.ts.map +1 -0
  127. package/lib/src/utils/reporting.js +62 -0
  128. package/lib/src/utils/reporting.js.map +1 -0
  129. package/lib/src/utils/reporting.spec.d.ts +2 -0
  130. package/lib/src/utils/reporting.spec.d.ts.map +1 -0
  131. package/lib/src/utils/reporting.spec.js +74 -0
  132. package/lib/src/utils/reporting.spec.js.map +1 -0
  133. package/lib/src/visual-embed-sdk.d.ts +206 -14
  134. package/package.json +2 -2
  135. package/src/auth.ts +6 -5
  136. package/src/authToken.ts +5 -9
  137. package/src/embed/app.ts +16 -5
  138. package/src/embed/base.ts +3 -1
  139. package/src/embed/search.spec.ts +17 -0
  140. package/src/embed/search.ts +38 -2
  141. package/src/embed/ts-embed.ts +13 -6
  142. package/src/errors.ts +11 -0
  143. package/src/mixpanel-service.ts +2 -1
  144. package/src/react/index.spec.tsx +1 -1
  145. package/src/types.ts +182 -19
  146. package/src/utils/global-styles.ts +1 -1
  147. package/src/utils/graphql/answerService/answer-queries.ts +9 -0
  148. package/src/utils/processData.ts +2 -3
  149. package/src/utils/reporting.spec.ts +91 -0
  150. package/src/utils/reporting.ts +71 -0
@@ -282,7 +282,13 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
282
282
  * Flag to control Data panel experience
283
283
  * @default false
284
284
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
285
- * @hidden
285
+ * @example
286
+ * ```js
287
+ * const embed = new AppEmbed('#tsEmbed', {
288
+ * ... // other options
289
+ * dataPanelV2: true,
290
+ * })
291
+ * ```
286
292
  */
287
293
  dataPanelV2?: boolean;
288
294
  /**
@@ -359,6 +365,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
359
365
  * To set the initial state of the search bar in case of saved-answers.
360
366
  * @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
361
367
  * @default false
368
+ * @deprecated Use {@link collapseSearchBar} instead
362
369
  */
363
370
  collapseSearchBarInitially?: boolean;
364
371
  /**
@@ -971,6 +978,19 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
971
978
  * ```
972
979
  */
973
980
  collapseDataSources?: boolean;
981
+ /**
982
+ * If set to true, the data panel is collapsed on load,
983
+ * but can be expanded manually.
984
+ * @version: SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
985
+ * @example
986
+ * ```js
987
+ * const embed = new SearchEmbed('#tsEmbed', {
988
+ * ... // other options
989
+ * collapseDataPanel:true,
990
+ * })
991
+ * ```
992
+ */
993
+ collapseDataPanel?: boolean;
974
994
  /**
975
995
  * Show or hide the data sources panel.
976
996
  * @version: SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
@@ -1119,6 +1139,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
1119
1139
  * To set the initial state of the search bar in case of saved-answers.
1120
1140
  * @default false
1121
1141
  * @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
1142
+ * @deprecated Use {@link collapseSearchBar} instead
1122
1143
  */
1123
1144
  collapseSearchBarInitially?: boolean;
1124
1145
  /**
@@ -1158,6 +1179,20 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
1158
1179
  * ```
1159
1180
  */
1160
1181
  dataPanelCustomGroupsAccordionInitialState?: DataPanelCustomColumnGroupsAccordionState;
1182
+ /**
1183
+ * Flag to remove focus from search bar initially when user
1184
+ * lands on search embed page.
1185
+ * @version SDK: 1.32.0 | Thoughtspot: 10.3.0.cl
1186
+ * @default true
1187
+ * @example
1188
+ * ```js
1189
+ * const embed = new SearchEmbed('#tsEmbed', {
1190
+ * ... // other options
1191
+ * focusSearchBarOnRender: false,
1192
+ * });
1193
+ * ```
1194
+ */
1195
+ focusSearchBarOnRender?: boolean;
1161
1196
  }
1162
1197
  export const HiddenActionItemByDefaultForSearchEmbed: Action[];
1163
1198
  /**
@@ -1715,7 +1750,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
1715
1750
  /**
1716
1751
  * @version SDK: 1.28.0| ThoughtSpot: 9.12.5.cl
1717
1752
  */
1718
- SpotIQAnalysis = "spotiq-analysis"
1753
+ SpotIQAnalysis = "spotiq-analysis",
1754
+ /**
1755
+ * @version SDK: 1.34.0| ThoughtSpot: 10.3.0.cl
1756
+ */
1757
+ LiveboardSchedules = "liveboard-schedules"
1719
1758
  }
1720
1759
  export type DOMSelector = string | HTMLElement;
1721
1760
  /**
@@ -2500,6 +2539,30 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2500
2539
  * @version SDK: 1.31.2 | ThoughtSpot: 10.0.0.cl
2501
2540
  */
2502
2541
  enableV2Shell_experimental?: boolean;
2542
+ /**
2543
+ * To set the initial state of the search bar in case of saved-answers.
2544
+ * @default true
2545
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
2546
+ * @example
2547
+ * ```js
2548
+ * const embed = new LiveboardEmbed('#embed', {
2549
+ * liveboardId: '123',
2550
+ * collapseSearchBar: true
2551
+ * });
2552
+ */
2553
+ collapseSearchBar?: boolean;
2554
+ /**
2555
+ * This flag can be used to disable links inside the embedded app,
2556
+ * and disables redirection of links in a new tab.
2557
+ * @example
2558
+ * ```js
2559
+ * const embed = new LiveboardEmbed('#embed', {
2560
+ * disableRedirectionLinksInNewTab: true
2561
+ * });
2562
+ * ```
2563
+ * @version SDK: 1.32.1 | ThoughtSpot: 10.3.0.cl
2564
+ */
2565
+ disableRedirectionLinksInNewTab?: boolean;
2503
2566
  }
2504
2567
  /**
2505
2568
  * MessagePayload: Embed event payload: message type, data and status (start/end)
@@ -2751,11 +2814,6 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
2751
2814
  * @important
2752
2815
  */
2753
2816
  Data = "data",
2754
- /**
2755
- * Search/Answer/Liveboard filters have been applied/updated by the user.
2756
- * @hidden
2757
- */
2758
- FiltersChanged = "filtersChanged",
2759
2817
  /**
2760
2818
  * Search query has been updated by the user.
2761
2819
  * @version SDK: 1.4.0 | ThoughtSpot: ts7.sep.cl, 8.4.1.sw
@@ -3249,6 +3307,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3249
3307
  /**
3250
3308
  * Emitted when a user clicks the **Update TML** action on
3251
3309
  * embedded Liveboard.
3310
+ *
3252
3311
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3253
3312
  * @example
3254
3313
  *```js
@@ -3260,6 +3319,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3260
3319
  /**
3261
3320
  * Emitted when a user clicks the **Edit TML** action
3262
3321
  * on an embedded Liveboard.
3322
+ *
3263
3323
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
3264
3324
  * @example
3265
3325
  *```js
@@ -3867,16 +3927,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3867
3927
  /**
3868
3928
  * Trigger the **Export TML** action on an embedded Liveboard or
3869
3929
  * Answer.
3930
+ *
3870
3931
  * @example
3871
3932
  * ```js
3872
3933
  * liveboardEmbed.trigger(HostEvent.ExportTML)
3873
3934
  * ```
3935
+ *
3874
3936
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
3875
3937
  */
3876
3938
  ExportTML = "exportTSL",
3877
3939
  /**
3878
3940
  * Trigger the **Edit TML** action on an embedded Liveboard or
3879
3941
  * saved Answers in the full application embedding.
3942
+ *
3943
+ *
3880
3944
  * @example
3881
3945
  * ```js
3882
3946
  * liveboardEmbed.trigger(HostEvent.EditTML)
@@ -3967,13 +4031,15 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3967
4031
  *
3968
4032
  * @example
3969
4033
  * ```js
3970
- * appEmbed.trigger(HostEvent.CreateMonitor)
4034
+ * searchEmbed.trigger(HostEvent.CreateMonitor)
3971
4035
  * ```
3972
4036
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
3973
4037
  */
3974
4038
  CreateMonitor = "createMonitor",
3975
4039
  /**
3976
- * Trigger the **Manage alerts** action on a visualization
4040
+ * Trigger the **Manage alerts** action on a KPI chart
4041
+ * in a visualization or saved Answer.
4042
+ *
3977
4043
  * @param - an object with `vizId` as a key
3978
4044
  * @example
3979
4045
  * ```js
@@ -3981,6 +4047,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3981
4047
  * vizId: '730496d6-6903-4601-937e-2c691821af3c'
3982
4048
  * })
3983
4049
  * ```
4050
+ *
4051
+ * @example
4052
+ * ```js
4053
+ * searchEmbed.trigger(HostEvent.ManageMonitor)
4054
+ * ```
4055
+ *
4056
+ * @example
4057
+ * ```js
4058
+ * vizEmbed.trigger(HostEvent.ManageMonitor)
4059
+ * ```
3984
4060
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
3985
4061
  */
3986
4062
  ManageMonitor = "manageMonitor",
@@ -3991,6 +4067,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
3991
4067
  * This event is not supported in visualization embed and search embed.
3992
4068
  * @param - object - To trigger the action for a specific visualization
3993
4069
  * in Liveboard embed, pass in `vizId` as a key.
4070
+ *
3994
4071
  * @example
3995
4072
  * ```js
3996
4073
  * liveboardEmbed.trigger(HostEvent.Edit)
@@ -4257,6 +4334,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4257
4334
  /**
4258
4335
  * Get details of filters applied on the Liveboard.
4259
4336
  * Returns arrays containing Liveboard filter and runtime filter elements.
4337
+ *
4260
4338
  * @example
4261
4339
  * ```js
4262
4340
  * const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
@@ -4551,7 +4629,9 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4551
4629
  CurrencyFormat = "currencyFormat",
4552
4630
  Enable2ColumnLayout = "enable2ColumnLayout",
4553
4631
  IsFullAppEmbed = "isFullAppEmbed",
4554
- IsOnBeforeGetVizDataInterceptEnabled = "isOnBeforeGetVizDataInterceptEnabled"
4632
+ IsOnBeforeGetVizDataInterceptEnabled = "isOnBeforeGetVizDataInterceptEnabled",
4633
+ FocusSearchBarOnRender = "focusSearchBarOnRender",
4634
+ DisableRedirectionLinksInNewTab = "disableRedirectionLinksInNewTab"
4555
4635
  }
4556
4636
  /**
4557
4637
  * ThoughtSpot application pages include actions and menu commands
@@ -4601,6 +4681,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4601
4681
  * The **Save as View** action on the Answer
4602
4682
  * page. Saves an Answer as a View object in the full
4603
4683
  * application embedding mode.
4684
+ *
4604
4685
  * @example
4605
4686
  * ```js
4606
4687
  * disabledActions: [Action.SaveAsView]
@@ -4700,6 +4781,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4700
4781
  */
4701
4782
  ConfigureFilter = "configureFilter",
4702
4783
  CollapseDataSources = "collapseDataSources",
4784
+ CollapseDataPanel = "collapseDataPanel",
4703
4785
  /**
4704
4786
  * The **Choose sources** button on Search page.
4705
4787
  * Allows selecting data sources for search queries.
@@ -5057,6 +5139,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5057
5139
  /**
5058
5140
  * The **Delete** action for Answers in the full application
5059
5141
  * embedding mode.
5142
+ *
5060
5143
  * @example
5061
5144
  * ```js
5062
5145
  * disabledActions: [Action.AnswerDelete]
@@ -5095,12 +5178,15 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5095
5178
  * The Create alert action on KPI charts.
5096
5179
  * @example
5097
5180
  * ```js
5098
- * disabledActions: [Action.CreateMonitor ]
5181
+ * disabledActions: [Action.CreateMonitor]
5099
5182
  * ```
5100
5183
  * @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
5101
5184
  */
5102
5185
  CreateMonitor = "createMonitor",
5103
5186
  /**
5187
+ * @deprecated
5188
+ * Reports errors
5189
+ *
5104
5190
  * @example
5105
5191
  * ```js
5106
5192
  * disabledActions: [Action.ReportError]
@@ -5325,35 +5411,87 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5325
5411
  */
5326
5412
  RenameModalTitleDescription = "renameModalTitleDescription",
5327
5413
  /**
5414
+ *
5415
+ * The **Request Verification** action on the Liveboard.
5416
+ * Triggers a Liveboard verification request.
5417
+ *
5418
+ * @example
5419
+ * ```js
5420
+ * disabledActions: [Action.RequestVerification]
5421
+ * ```
5328
5422
  *
5329
5423
  * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
5330
5424
  */
5331
5425
  RequestVerification = "requestVerification",
5332
5426
  /**
5427
+ *
5428
+ * Allows users to mark a Liveboard as verified.
5429
+ *
5430
+ * @example
5431
+ * ```js
5432
+ * disabledActions: [Action.MarkAsVerified]
5433
+ * ```
5333
5434
  * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
5334
5435
  */
5335
5436
  MarkAsVerified = "markAsVerified",
5336
5437
  /**
5438
+ * The **Add Tab** action on a Liveboard.
5439
+ * Allows adding a new tab to a Liveboard view.
5440
+ *
5441
+ * @example
5442
+ * ```js
5443
+ * disabledActions: [Action.AddTab]
5444
+ * ```
5337
5445
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
5338
5446
  */
5339
5447
  AddTab = "addTab",
5340
5448
  /**
5449
+ *
5450
+ * Initiates contextual change analysis on KPI charts.
5451
+ *
5452
+ * @example
5453
+ * ```js
5454
+ * disabledActions: [Action.EnableContextualChangeAnalysis]
5455
+ * ```
5341
5456
  * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
5342
5457
  */
5343
5458
  EnableContextualChangeAnalysis = "enableContextualChangeAnalysis",
5344
5459
  /**
5460
+ *
5461
+ * @example
5462
+ * ```js
5463
+ * disabledActions: [Action.ShowSageQuery]
5464
+ * ```
5465
+ *
5345
5466
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
5346
5467
  */
5347
5468
  ShowSageQuery = "showSageQuery",
5348
5469
  /**
5470
+ *
5471
+ * @example
5472
+ * ```js
5473
+ * disabledActions: [Action.EditSageAnswer]
5474
+ * ```
5349
5475
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
5350
5476
  */
5351
5477
  EditSageAnswer = "editSageAnswer",
5352
5478
  /**
5479
+ *
5480
+ * This action allows users to send feedback on AI-generated Answers.
5481
+ *
5482
+ * @example
5483
+ * ```js
5484
+ * disabledActions: [Action.SageAnswerFeedback]
5485
+ * ```
5353
5486
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
5354
5487
  */
5355
5488
  SageAnswerFeedback = "sageAnswerFeedback",
5356
5489
  /**
5490
+ *
5491
+ * @example
5492
+ * ```js
5493
+ * disabledActions: [Action.ModifySageAnswer]
5494
+ * ```
5357
5495
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
5358
5496
  */
5359
5497
  ModifySageAnswer = "modifySageAnswer",
@@ -5373,7 +5511,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5373
5511
  * disabledActions: [Action.ManageMonitor]
5374
5512
  * ```
5375
5513
  */
5376
- ManageMonitor = "ManageMonitor",
5514
+ ManageMonitor = "manageMonitor",
5377
5515
  /**
5378
5516
  * Action ID for Liveboard Personalised Views dropdown
5379
5517
  * @example
@@ -5474,7 +5612,61 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5474
5612
  * ```
5475
5613
  * @version SDK: 1.27.10 | Thoughtspot: 9.12.5.cl
5476
5614
  */
5477
- AIHighlights = "AIHighlights"
5615
+ AIHighlights = "AIHighlights",
5616
+ /**
5617
+ * Action ID for edit schedule action on schedule on homepage
5618
+ * @example
5619
+ * ```js
5620
+ * disabledActions: [Action.EditScheduleHomepage]
5621
+ * ```
5622
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5623
+ */
5624
+ EditScheduleHomepage = "editScheduleHomepage",
5625
+ /**
5626
+ * Action ID for pause schedule action on schedule on homepage
5627
+ * @example
5628
+ * ```js
5629
+ * disabledActions: [Action.PauseScheduleHomepage]
5630
+ * ```
5631
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5632
+ */
5633
+ PauseScheduleHomepage = "pauseScheduleHomepage",
5634
+ /**
5635
+ * Action ID for view schedule run action on schedule on homepage
5636
+ * @example
5637
+ * ```js
5638
+ * disabledActions: [Action.ViewScheduleRunHomepage]
5639
+ * ```
5640
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5641
+ */
5642
+ ViewScheduleRunHomepage = "viewScheduleRunHomepage",
5643
+ /**
5644
+ * Action ID for unsubscribe schedule action on schedule on homepage
5645
+ * @example
5646
+ * ```js
5647
+ * disabledActions: [Action.UnsubscribeScheduleHomepage]
5648
+ * ```
5649
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5650
+ */
5651
+ UnsubscribeScheduleHomepage = "unsubscribeScheduleHomepage",
5652
+ /**
5653
+ * Action ID for delete schedule action on schedule on homepage
5654
+ * @example
5655
+ * ```js
5656
+ * disabledActions: [Action.DeleteScheduleHomepage]
5657
+ * ```
5658
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5659
+ */
5660
+ DeleteScheduleHomepage = "deleteScheduleHomepage",
5661
+ /**
5662
+ * The **Analyze CTA** action on KPI chart.
5663
+ * @example
5664
+ * ```js
5665
+ * disabledActions: [Action.KPIAnalysisCTA]
5666
+ * ```
5667
+ * @version SDK: 1.34.0 | Thoughtspot: 10.3.0.cl
5668
+ */
5669
+ KPIAnalysisCTA = "kpiAnalysisCTA"
5478
5670
  }
5479
5671
  export interface AnswerServiceType {
5480
5672
  getAnswer?: (offset: number, batchSize: number) => any;
@@ -6412,7 +6604,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
6412
6604
  * @param queryParams
6413
6605
  * @returns queryParams
6414
6606
  */
6415
- protected getBaseQueryParams(queryParams?: {}): {};
6607
+ protected getBaseQueryParams(queryParams?: Record<any, any>): Record<any, any>;
6416
6608
  /**
6417
6609
  * Constructs the base URL string to load v1 of the ThoughtSpot app.
6418
6610
  * This is used for embedding Liveboards, visualizations, and full application.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.32.0-alpha.2",
3
+ "version": "1.32.1",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -38,7 +38,7 @@
38
38
  "size-limit": [
39
39
  {
40
40
  "path": "dist/tsembed.js",
41
- "limit": "46 kB"
41
+ "limit": "48 kB"
42
42
  }
43
43
  ],
44
44
  "scripts": {
package/src/auth.ts CHANGED
@@ -16,6 +16,7 @@ import {
16
16
  import { isActiveService } from './utils/authService/tokenizedAuthService';
17
17
  import { logger } from './utils/logger';
18
18
  import { getSessionInfo } from './utils/sessionInfoService';
19
+ import { ERROR_MESSAGE } from './errors';
19
20
 
20
21
  // eslint-disable-next-line import/no-mutable-exports
21
22
  export let loggedInStatus = false;
@@ -151,7 +152,7 @@ export function setAuthEE(eventEmitter: EventEmitter<AuthStatus | AuthEvent>): v
151
152
  */
152
153
  export function notifyAuthSDKSuccess(): void {
153
154
  if (!authEE) {
154
- logger.error('SDK not initialized');
155
+ logger.error(ERROR_MESSAGE.SDK_NOT_INITIALIZED);
155
156
  return;
156
157
  }
157
158
  authEE.emit(AuthStatus.SDK_SUCCESS);
@@ -162,14 +163,14 @@ export function notifyAuthSDKSuccess(): void {
162
163
  */
163
164
  export async function notifyAuthSuccess(): Promise<void> {
164
165
  if (!authEE) {
165
- logger.error('SDK not initialized');
166
+ logger.error(ERROR_MESSAGE.SDK_NOT_INITIALIZED);
166
167
  return;
167
168
  }
168
169
  try {
169
170
  const sessionInfo = await getSessionInfo();
170
171
  authEE.emit(AuthStatus.SUCCESS, sessionInfo);
171
172
  } catch (e) {
172
- logger.error('Failed to get session info');
173
+ logger.error(ERROR_MESSAGE.SESSION_INFO_FAILED);
173
174
  }
174
175
  }
175
176
 
@@ -179,7 +180,7 @@ export async function notifyAuthSuccess(): Promise<void> {
179
180
  */
180
181
  export function notifyAuthFailure(failureType: AuthFailureType): void {
181
182
  if (!authEE) {
182
- logger.error('SDK not initialized');
183
+ logger.error(ERROR_MESSAGE.SDK_NOT_INITIALIZED);
183
184
  return;
184
185
  }
185
186
  authEE.emit(AuthStatus.FAILURE, failureType);
@@ -190,7 +191,7 @@ export function notifyAuthFailure(failureType: AuthFailureType): void {
190
191
  */
191
192
  export function notifyLogout(): void {
192
193
  if (!authEE) {
193
- logger.error('SDK not initialized');
194
+ logger.error(ERROR_MESSAGE.SDK_NOT_INITIALIZED);
194
195
  return;
195
196
  }
196
197
  authEE.emit(AuthStatus.LOGOUT);
package/src/authToken.ts CHANGED
@@ -1,12 +1,8 @@
1
+ import { ERROR_MESSAGE } from './errors';
1
2
  import { EmbedConfig } from './types';
2
3
  import { fetchAuthTokenService, verifyTokenService } from './utils/authService/authService';
3
4
  import { logger } from './utils/logger';
4
5
 
5
- const DUPLICATE_TOKEN_ERR = 'Duplicate token, please issue a new token every time getAuthToken callback is called.'
6
- + 'See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.';
7
-
8
- const INVALID_TOKEN_ERR = 'Invalid token received form token callback or authToken endpoint.';
9
-
10
6
  let cachedAuthToken: string | null = null;
11
7
 
12
8
  // This method can be used to get the authToken using the embedConfig
@@ -38,7 +34,7 @@ export async function getAuthenticationToken(embedConfig: EmbedConfig): Promise<
38
34
  // this will throw error if the token is not valid
39
35
  await validateAuthToken(embedConfig, authToken);
40
36
  } catch (e) {
41
- logger.error(`Received invalid token from getAuthToken callback or authToken endpoint. Error : ${e.message}`);
37
+ logger.error(`${ERROR_MESSAGE.INVALID_TOKEN_ERROR} Error : ${e.message}`);
42
38
  throw e;
43
39
  }
44
40
 
@@ -65,11 +61,11 @@ const validateAuthToken = async (
65
61
  if (cachedAuthToken && cachedAuthToken === authToken) {
66
62
  if (!embedConfig.suppressErrorAlerts && !suppressAlert) {
67
63
  // eslint-disable-next-line no-alert
68
- alert(DUPLICATE_TOKEN_ERR);
64
+ alert(ERROR_MESSAGE.DUPLICATE_TOKEN_ERR);
69
65
  }
70
- throw new Error(DUPLICATE_TOKEN_ERR);
66
+ throw new Error(ERROR_MESSAGE.DUPLICATE_TOKEN_ERR);
71
67
  } else {
72
- throw new Error(INVALID_TOKEN_ERR);
68
+ throw new Error(ERROR_MESSAGE.INVALID_TOKEN_ERROR);
73
69
  }
74
70
  };
75
71
 
package/src/embed/app.ts CHANGED
@@ -264,7 +264,13 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
264
264
  * Flag to control Data panel experience
265
265
  * @default false
266
266
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
267
- * @hidden
267
+ * @example
268
+ * ```js
269
+ * const embed = new AppEmbed('#tsEmbed', {
270
+ * ... // other options
271
+ * dataPanelV2: true,
272
+ * })
273
+ * ```
268
274
  */
269
275
  dataPanelV2?: boolean;
270
276
  /**
@@ -341,6 +347,7 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
341
347
  * To set the initial state of the search bar in case of saved-answers.
342
348
  * @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
343
349
  * @default false
350
+ * @deprecated Use {@link collapseSearchBar} instead
344
351
  */
345
352
  collapseSearchBarInitially?: boolean;
346
353
  /**
@@ -445,7 +452,7 @@ export class AppEmbed extends V1Embed {
445
452
  isOnBeforeGetVizDataInterceptEnabled = false,
446
453
  /* eslint-disable-next-line max-len */
447
454
  dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL,
448
-
455
+ collapseSearchBar = true,
449
456
  } = this.viewConfig;
450
457
 
451
458
  let params = {};
@@ -490,13 +497,15 @@ export class AppEmbed extends V1Embed {
490
497
 
491
498
  if (isOnBeforeGetVizDataInterceptEnabled) {
492
499
  /* eslint-disable-next-line max-len */
493
- params[Param.IsOnBeforeGetVizDataInterceptEnabled] = isOnBeforeGetVizDataInterceptEnabled;
500
+ params[
501
+ Param.IsOnBeforeGetVizDataInterceptEnabled
502
+ ] = isOnBeforeGetVizDataInterceptEnabled;
494
503
  }
495
504
 
496
505
  params[Param.DataPanelV2Enabled] = dataPanelV2;
497
506
  params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
498
507
  params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
499
- params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially;
508
+ params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
500
509
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
501
510
  if (dataPanelCustomGroupsAccordionInitialState
502
511
  === DataPanelCustomColumnGroupsAccordionState.COLLAPSE_ALL
@@ -504,7 +513,9 @@ export class AppEmbed extends V1Embed {
504
513
  === DataPanelCustomColumnGroupsAccordionState.EXPAND_FIRST
505
514
  ) {
506
515
  /* eslint-disable-next-line max-len */
507
- params[Param.DataPanelCustomGroupsAccordionInitialState] = dataPanelCustomGroupsAccordionInitialState;
516
+ params[
517
+ Param.DataPanelCustomGroupsAccordionInitialState
518
+ ] = dataPanelCustomGroupsAccordionInitialState;
508
519
  } else {
509
520
  /* eslint-disable-next-line max-len */
510
521
  params[Param.DataPanelCustomGroupsAccordionInitialState] = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL;
package/src/embed/base.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
9
9
  */
10
10
  import EventEmitter from 'eventemitter3';
11
+ import { registerReportingObserver } from '../utils/reporting';
11
12
  import { resetCachedAuthToken } from '../authToken';
12
13
  import { logger, setGlobalLogLevelOverride } from '../utils/logger';
13
14
  import { tokenizedFetch } from '../tokenizedFetch';
@@ -188,6 +189,7 @@ export const init = (embedConfig: EmbedConfig): AuthEventEmitter => {
188
189
  );
189
190
 
190
191
  setGlobalLogLevelOverride(embedConfig.logLevel);
192
+ registerReportingObserver();
191
193
 
192
194
  const authEE = new EventEmitter<AuthStatus | AuthEvent>();
193
195
  setAuthEE(authEE);
@@ -252,7 +254,7 @@ export const renderInQueue = (fn: (next?: (val?: any) => void) => Promise<any>):
252
254
  return renderQueue;
253
255
  }
254
256
  // Sending an empty function to keep it consistent with the above usage.
255
- return fn(() => { }); // eslint-disable-line @typescript-eslint/no-empty-function
257
+ return fn(() => {}); // eslint-disable-line @typescript-eslint/no-empty-function
256
258
  };
257
259
 
258
260
  /**
@@ -166,6 +166,23 @@ describe('Search embed tests', () => {
166
166
  });
167
167
  });
168
168
 
169
+ test('should remove focus from search bar', async () => {
170
+ const dataSources = ['data-source-1'];
171
+ const searchEmbed = new SearchEmbed(getRootEl(), {
172
+ ...defaultViewConfig,
173
+ hideDataSources: true,
174
+ dataSources,
175
+ focusSearchBarOnRender: false,
176
+ });
177
+ searchEmbed.render();
178
+ await executeAfterWait(() => {
179
+ expectUrlMatchesWithParams(
180
+ getIFrameSrc(),
181
+ `http://${thoughtSpotHost}/v2/?${defaultParams}&dataSources=[%22data-source-1%22]&dataSourceMode=hide&useLastSelectedSources=false&focusSearchBarOnRender=false${prefixParams}#/embed/answer`,
182
+ );
183
+ });
184
+ });
185
+
169
186
  test('should add runtime filters', async () => {
170
187
  const dataSources = ['data-source-1'];
171
188
  const searchOptions = {