@thoughtspot/visual-embed-sdk 1.37.0 → 1.37.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 (95) hide show
  1. package/cjs/package.json +2 -2
  2. package/cjs/src/auth.d.ts +9 -4
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +21 -0
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.js +48 -0
  7. package/cjs/src/auth.spec.js.map +1 -1
  8. package/cjs/src/embed/app.d.ts +99 -0
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +48 -3
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +61 -0
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts.map +1 -1
  15. package/cjs/src/embed/base.js +7 -0
  16. package/cjs/src/embed/base.js.map +1 -1
  17. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  18. package/cjs/src/embed/ts-embed.js +10 -5
  19. package/cjs/src/embed/ts-embed.js.map +1 -1
  20. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  21. package/cjs/src/embed/ts-embed.spec.js +105 -0
  22. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  23. package/cjs/src/types.d.ts +69 -4
  24. package/cjs/src/types.d.ts.map +1 -1
  25. package/cjs/src/types.js +54 -2
  26. package/cjs/src/types.js.map +1 -1
  27. package/cjs/src/utils/graphql/answerService/answerService.d.ts +35 -15
  28. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  29. package/cjs/src/utils/graphql/answerService/answerService.js +35 -15
  30. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  31. package/cjs/src/utils/processData.js +6 -4
  32. package/cjs/src/utils/processData.js.map +1 -1
  33. package/dist/{index-DnIvX1FR.js → index-m9UtENc9.js} +1 -1
  34. package/dist/src/auth.d.ts +9 -4
  35. package/dist/src/auth.d.ts.map +1 -1
  36. package/dist/src/embed/app.d.ts +99 -0
  37. package/dist/src/embed/app.d.ts.map +1 -1
  38. package/dist/src/embed/base.d.ts.map +1 -1
  39. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  40. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  41. package/dist/src/types.d.ts +69 -4
  42. package/dist/src/types.d.ts.map +1 -1
  43. package/dist/src/utils/graphql/answerService/answerService.d.ts +35 -15
  44. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  45. package/dist/tsembed-react.es.js +183 -31
  46. package/dist/tsembed-react.js +182 -30
  47. package/dist/tsembed.es.js +183 -31
  48. package/dist/tsembed.js +182 -30
  49. package/dist/visual-embed-sdk-react-full.d.ts +212 -23
  50. package/dist/visual-embed-sdk-react.d.ts +212 -23
  51. package/dist/visual-embed-sdk.d.ts +212 -23
  52. package/lib/package.json +2 -2
  53. package/lib/src/auth.d.ts +9 -4
  54. package/lib/src/auth.d.ts.map +1 -1
  55. package/lib/src/auth.js +21 -0
  56. package/lib/src/auth.js.map +1 -1
  57. package/lib/src/auth.spec.js +48 -0
  58. package/lib/src/auth.spec.js.map +1 -1
  59. package/lib/src/embed/app.d.ts +99 -0
  60. package/lib/src/embed/app.d.ts.map +1 -1
  61. package/lib/src/embed/app.js +47 -2
  62. package/lib/src/embed/app.js.map +1 -1
  63. package/lib/src/embed/app.spec.js +62 -1
  64. package/lib/src/embed/app.spec.js.map +1 -1
  65. package/lib/src/embed/base.d.ts.map +1 -1
  66. package/lib/src/embed/base.js +7 -0
  67. package/lib/src/embed/base.js.map +1 -1
  68. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  69. package/lib/src/embed/ts-embed.js +10 -5
  70. package/lib/src/embed/ts-embed.js.map +1 -1
  71. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  72. package/lib/src/embed/ts-embed.spec.js +105 -0
  73. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  74. package/lib/src/types.d.ts +69 -4
  75. package/lib/src/types.d.ts.map +1 -1
  76. package/lib/src/types.js +54 -2
  77. package/lib/src/types.js.map +1 -1
  78. package/lib/src/utils/graphql/answerService/answerService.d.ts +35 -15
  79. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  80. package/lib/src/utils/graphql/answerService/answerService.js +35 -15
  81. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  82. package/lib/src/utils/processData.js +6 -4
  83. package/lib/src/utils/processData.js.map +1 -1
  84. package/lib/src/visual-embed-sdk.d.ts +212 -23
  85. package/package.json +2 -2
  86. package/src/auth.spec.ts +52 -0
  87. package/src/auth.ts +25 -3
  88. package/src/embed/app.spec.ts +88 -0
  89. package/src/embed/app.ts +133 -0
  90. package/src/embed/base.ts +9 -0
  91. package/src/embed/ts-embed.spec.ts +130 -0
  92. package/src/embed/ts-embed.ts +10 -4
  93. package/src/types.ts +68 -3
  94. package/src/utils/graphql/answerService/answerService.ts +35 -15
  95. package/src/utils/processData.ts +6 -6
@@ -83,6 +83,43 @@ export enum HomePageSearchBarMode {
83
83
  AI_ANSWER = "aiAnswer",
84
84
  NONE = "none"
85
85
  }
86
+ /**
87
+ * Define the version of the primary navbar
88
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
89
+ */
90
+ export enum PrimaryNavbarVersion {
91
+ /**
92
+ * Sliding (v3) introduces a new left-side navigation hub featuring a tab switcher,
93
+ * along with updates to the top navigation bar.
94
+ * It serves as the foundational version of the PrimaryNavBar.
95
+ */
96
+ Sliding = "v3"
97
+ }
98
+ /**
99
+ * Define the version of the home page
100
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
101
+ */
102
+ export enum HomePage {
103
+ /**
104
+ * Modular (v2) introduces the updated Modular Home Experience.
105
+ * It serves as the foundational version of the home page.
106
+ */
107
+ Modular = "v2"
108
+ }
109
+ /**
110
+ * Define the discovery experience
111
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
112
+ */
113
+ export interface DiscoveryExperience {
114
+ /**
115
+ * primaryNavbarVersion determines the version of the navigation version.
116
+ */
117
+ primaryNavbarVersion?: PrimaryNavbarVersion;
118
+ /**
119
+ * homePage determines the version of the home page.
120
+ */
121
+ homePage?: HomePage;
122
+ }
86
123
  /**
87
124
  * The view configuration for full app embedding.
88
125
  * @group Embed components
@@ -151,6 +188,51 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
151
188
  * ```
152
189
  */
153
190
  enablePendoHelp?: boolean;
191
+ /**
192
+ * Control the visibility of the hamburger icon on the top nav bar
193
+ * available when new navigation V3 is enabled.
194
+ *
195
+ * @default false
196
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
197
+ * @example
198
+ * ```js
199
+ * const embed = new AppEmbed('#tsEmbed', {
200
+ * ... // other options
201
+ * hideHamburger : true,
202
+ * })
203
+ * ```
204
+ */
205
+ hideHamburger?: boolean;
206
+ /**
207
+ * Control the visibility of the Eureka search on the top nav bar
208
+ * this will control for both new V2 and new navigation V3.
209
+ *
210
+ * @default true
211
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
212
+ * @example
213
+ * ```js
214
+ * const embed = new AppEmbed('#tsEmbed', {
215
+ * ... // other options
216
+ * hideObjectSearch: false,
217
+ * })
218
+ * ```
219
+ */
220
+ hideObjectSearch?: boolean;
221
+ /**
222
+ * Control the visibility of the notification on the top nav bar V3,
223
+ * available when new navigation V3 is enabled.
224
+ *
225
+ * @default true
226
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
227
+ * @example
228
+ * ```js
229
+ * const embed = new AppEmbed('#tsEmbed', {
230
+ * ... // other options
231
+ * hideNotification: false,
232
+ * })
233
+ * ```
234
+ */
235
+ hideNotification?: boolean;
154
236
  /**
155
237
  * Control the visibility of the application switcher button on the nav-bar.
156
238
  * By default, the application switcher is shown.
@@ -344,6 +426,23 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
344
426
  * ```
345
427
  */
346
428
  modularHomeExperience?: boolean;
429
+ /**
430
+ * To configure the top-left navigation and home page experience
431
+ *
432
+ * @default false
433
+ * @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
434
+ * @example
435
+ * ```js
436
+ * const embed = new AppEmbed('#tsEmbed', {
437
+ * ... // other options
438
+ * discoveryExperience : {
439
+ * primaryNavbarVersion: PrimaryNavbarVersion.Sliding,
440
+ * homePage: HompePage.Modular,
441
+ * },
442
+ * })
443
+ * ```
444
+ */
445
+ discoveryExperience?: DiscoveryExperience;
347
446
  /**
348
447
  * Boolean to control if Liveboard header is sticky or not.
349
448
  * @example
@@ -1682,7 +1781,8 @@ export enum AuthFailureType {
1682
1781
  NO_COOKIE_ACCESS = "NO_COOKIE_ACCESS",
1683
1782
  EXPIRY = "EXPIRY",
1684
1783
  OTHER = "OTHER",
1685
- IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT"
1784
+ IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT",
1785
+ UNAUTHENTICATED_FAILURE = "UNAUTHENTICATED_FAILURE"
1686
1786
  }
1687
1787
  /**
1688
1788
  * Enum for auth status emitted by the emitter returned from {@link init}.
@@ -1716,7 +1816,11 @@ export enum AuthStatus {
1716
1816
  * or by the trigger button.
1717
1817
  * @version SDK: 1.19.0
1718
1818
  */
1719
- WAITING_FOR_POPUP = "WAITING_FOR_POPUP"
1819
+ WAITING_FOR_POPUP = "WAITING_FOR_POPUP",
1820
+ /**
1821
+ * Emitted when the SAML popup is closed without authentication
1822
+ */
1823
+ SAML_POPUP_CLOSED_NO_AUTH = "SAML_POPUP_CLOSED_NO_AUTH"
1720
1824
  }
1721
1825
  /**
1722
1826
  * Event emitter returned from {@link init}.
@@ -1734,10 +1838,10 @@ export interface AuthEventEmitter {
1734
1838
  * @param event
1735
1839
  * @param listener
1736
1840
  */
1737
- on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
1841
+ on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
1738
1842
  on(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
1739
1843
  once(event: AuthStatus.FAILURE, listener: (failureType: AuthFailureType) => void): this;
1740
- once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
1844
+ once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
1741
1845
  once(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
1742
1846
  /**
1743
1847
  * Trigger an event on the emitter returned from init.
@@ -2147,7 +2251,19 @@ export enum HomeLeftNavItem {
2147
2251
  /**
2148
2252
  * @version SDK: 1.34.0| ThoughtSpot: 10.3.0.cl
2149
2253
  */
2150
- LiveboardSchedules = "liveboard-schedules"
2254
+ LiveboardSchedules = "liveboard-schedules",
2255
+ /**
2256
+ * Create new options in the insights left navigation,
2257
+ * available when new navigation V3 is enabled.
2258
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
2259
+ */
2260
+ Create = "create",
2261
+ /**
2262
+ * Spotter option in the insights left navigation,
2263
+ * available when new navigation V3 is enabled.
2264
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
2265
+ */
2266
+ Spotter = "spotter"
2151
2267
  }
2152
2268
  export type DOMSelector = string | HTMLElement;
2153
2269
  /**
@@ -2628,6 +2744,19 @@ export interface ViewConfig {
2628
2744
  * ```
2629
2745
  */
2630
2746
  disabledActions?: Action[];
2747
+ /**
2748
+ * The primary action to display on top of the viz for Liveboard and App Embed.
2749
+ * Use this to set the primary action.
2750
+ * @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
2751
+ * @example
2752
+ * ```js
2753
+ * const embed = new LiveboardEmbed('#embed', {
2754
+ * ... // other liveboard view config
2755
+ * primaryAction: Action.Download
2756
+ * });
2757
+ * ```
2758
+ */
2759
+ primaryAction?: Action | string;
2631
2760
  /**
2632
2761
  * The tooltip to display for disabled actions.
2633
2762
  * @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
@@ -4547,9 +4676,12 @@ export enum HostEvent {
4547
4676
  * @example
4548
4677
  * ```js
4549
4678
  * searchEmbed.trigger(HostEvent.OpenFilter,
4550
- * { columnId: '<column-GUID>', name: 'column name', type: 'INT64', dataType: 'ATTRIBUTE'})
4679
+ * {column: { columnId: '<column-GUID>', name: 'column name', type: 'INT64', dataType: 'ATTRIBUTE'}})
4680
+ * ```
4681
+ * @example
4682
+ * ```js
4551
4683
  * LiveboardEmbed.trigger(HostEvent.OpenFilter,
4552
- * { columnId: '<column-GUID>'})
4684
+ * { column: {columnId: '<column-GUID>'}})
4553
4685
  * ```
4554
4686
  * @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
4555
4687
  */
@@ -5158,6 +5290,25 @@ export enum HostEvent {
5158
5290
  * }]
5159
5291
  * });
5160
5292
  * ```
5293
+ * If there are multiple columns with the same name, consider
5294
+ * using `WORKSHEET_NAME::COLUMN_NAME` format.
5295
+ *
5296
+ * @example
5297
+ *
5298
+ * ```js
5299
+ * liveboardEmbed.trigger(HostEvent.UpdateFilters, {
5300
+ * filters: [{
5301
+ * column: "(Sample) Retail - Apparel::city",
5302
+ * oper: 'IN',
5303
+ * values: ["atlanta"]
5304
+ * },
5305
+ * {
5306
+ * column: "(Sample) Retail - Apparel::Region",
5307
+ * oper: 'IN',
5308
+ * values: ["West","Midwest"]
5309
+ * }]
5310
+ * });
5311
+ * ```
5161
5312
  * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
5162
5313
  */
5163
5314
  UpdateFilters = "updateFilters",
@@ -5217,8 +5368,17 @@ export enum HostEvent {
5217
5368
  /**
5218
5369
  * Get the Answer session for a Search or
5219
5370
  * Liveboard visualization.
5371
+ *
5372
+ * Note: This event is not typically used directly. Instead, use the
5373
+ * `getAnswerService()` method on the embed instance to get an AnswerService
5374
+ * object that provides a more convenient interface for working with answers.
5375
+ *
5220
5376
  * @example
5221
5377
  * ```js
5378
+ * // Preferred way to get an AnswerService
5379
+ * const service = await embed.getAnswerService();
5380
+ *
5381
+ * // Alternative direct usage (not recommended)
5222
5382
  * const {session} = await embed.trigger(
5223
5383
  * HostEvent.GetAnswerSession, {
5224
5384
  * vizId: '123', // For Liveboard Visualization.
@@ -5226,6 +5386,10 @@ export enum HostEvent {
5226
5386
  * ```
5227
5387
  * @example
5228
5388
  * ```js
5389
+ * // Preferred way to get an AnswerService
5390
+ * const service = await embed.getAnswerService();
5391
+ *
5392
+ * // Alternative direct usage (not recommended)
5229
5393
  * const {session} = await embed.trigger( HostEvent.GetAnswerSession )
5230
5394
  * ```
5231
5395
  * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
@@ -5424,6 +5588,10 @@ export enum Param {
5424
5588
  ShowInsertToSlide = "insertInToSlide",
5425
5589
  PrimaryNavHidden = "primaryNavHidden",
5426
5590
  HideProfleAndHelp = "profileAndHelpInNavBarHidden",
5591
+ NavigationVersion = "navigationVersion",
5592
+ HideHamburger = "hideHamburger",
5593
+ HideObjectSearch = "hideObjectSearch",
5594
+ HideNotification = "hideNotification",
5427
5595
  HideApplicationSwitcher = "applicationSwitcherHidden",
5428
5596
  HideOrgSwitcher = "orgSwitcherHidden",
5429
5597
  IsSageEmbed = "isSageEmbed",
@@ -5479,7 +5647,8 @@ export enum Param {
5479
5647
  DataSourceId = "dataSourceId",
5480
5648
  preAuthCache = "preAuthCache",
5481
5649
  ShowSpotterLimitations = "showSpotterLimitations",
5482
- CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF"
5650
+ CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF",
5651
+ PrimaryAction = "primaryAction"
5483
5652
  }
5484
5653
  /**
5485
5654
  * ThoughtSpot application pages include actions and menu commands
@@ -7410,29 +7579,49 @@ export interface UnderlyingDataPoint {
7410
7579
  dataValue: any;
7411
7580
  }
7412
7581
  /**
7413
- * Class representing the answer service provided with the
7414
- * custom action payload. This service could be used to run
7415
- * graphql queries in the context of the answer on which the
7416
- * custom action was triggered.
7582
+ * AnswerService provides a simple way to work with ThoughtSpot Answers.
7583
+ *
7584
+ * This service allows you to interact with ThoughtSpot Answers programmatically,
7585
+ * making it easy to customize visualizations, filter data, and extract insights
7586
+ * directly from your application.
7587
+ *
7588
+ * You can use this service to:
7589
+ * - Add or remove columns from Answers (`addColumns`, `removeColumns`, `addColumnsByName`)
7590
+ * - Apply filters to Answers (`addFilter`)
7591
+ * - Get data from Answers in different formats (JSON, CSV, PNG) (`fetchData`, `fetchCSVBlob`, `fetchPNGBlob`)
7592
+ * - Get data for specific points in visualizations (`getUnderlyingDataForPoint`)
7593
+ * - Run custom queries (`executeQuery`)
7594
+ * - Add visualizations to liveboards (`addDisplayedVizToLiveboard`)
7595
+ *
7417
7596
  * @example
7418
7597
  * ```js
7419
- * embed.on(EmbedEvent.CustomAction, e => {
7420
- * const underlying = await e.answerService.getUnderlyingDataForPoint([
7421
- * 'col name 1'
7422
- * ]);
7423
- * const data = await underlying.fetchData(0, 100);
7424
- * })
7598
+ * // Get the answer service
7599
+ * embed.on(EmbedEvent.Data, async (e) => {
7600
+ * const service = await embed.getAnswerService();
7601
+ *
7602
+ * // Add columns to the answer
7603
+ * await service.addColumnsByName(["Sales", "Region"]);
7604
+ *
7605
+ * // Get the data
7606
+ * const data = await service.fetchData();
7607
+ * console.log(data);
7608
+ * });
7425
7609
  * ```
7610
+ *
7426
7611
  * @example
7427
7612
  * ```js
7428
- * embed.on(EmbedEvent.Data, async (e) => {
7429
- * const service = await embed.getAnswerService();
7430
- * await service.addColumns([
7431
- * "<column guid>"
7613
+ * // Get data for a point in a visualization
7614
+ * embed.on(EmbedEvent.CustomAction, async (e) => {
7615
+ * const underlying = await e.answerService.getUnderlyingDataForPoint([
7616
+ * 'Product Name',
7617
+ * 'Sales Amount'
7432
7618
  * ]);
7433
- * console.log(await service.fetchData());
7619
+ *
7620
+ * const data = await underlying.fetchData(0, 100);
7621
+ * console.log(data);
7434
7622
  * });
7435
7623
  * ```
7624
+ *
7436
7625
  * @version SDK: 1.25.0| ThoughtSpot: 9.10.0.cl
7437
7626
  * @group Events
7438
7627
  */
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.37.0",
3
+ "version": "1.37.1",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -141,7 +141,7 @@
141
141
  "typescript-eslint": "^8.29.1",
142
142
  "url-search-params-polyfill": "^8.1.0",
143
143
  "util": "^0.12.4",
144
- "vite": "^5.3.4"
144
+ "vite": "^6.3.5"
145
145
  },
146
146
  "author": "ThoughtSpot",
147
147
  "email": "support@thoughtspot.com",
package/lib/src/auth.d.ts CHANGED
@@ -14,7 +14,8 @@ export declare enum AuthFailureType {
14
14
  NO_COOKIE_ACCESS = "NO_COOKIE_ACCESS",
15
15
  EXPIRY = "EXPIRY",
16
16
  OTHER = "OTHER",
17
- IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT"
17
+ IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT",
18
+ UNAUTHENTICATED_FAILURE = "UNAUTHENTICATED_FAILURE"
18
19
  }
19
20
  /**
20
21
  * Enum for auth status emitted by the emitter returned from {@link init}.
@@ -48,7 +49,11 @@ export declare enum AuthStatus {
48
49
  * or by the trigger button.
49
50
  * @version SDK: 1.19.0
50
51
  */
51
- WAITING_FOR_POPUP = "WAITING_FOR_POPUP"
52
+ WAITING_FOR_POPUP = "WAITING_FOR_POPUP",
53
+ /**
54
+ * Emitted when the SAML popup is closed without authentication
55
+ */
56
+ SAML_POPUP_CLOSED_NO_AUTH = "SAML_POPUP_CLOSED_NO_AUTH"
52
57
  }
53
58
  /**
54
59
  * Event emitter returned from {@link init}.
@@ -66,10 +71,10 @@ export interface AuthEventEmitter {
66
71
  * @param event
67
72
  * @param listener
68
73
  */
69
- on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
74
+ on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
70
75
  on(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
71
76
  once(event: AuthStatus.FAILURE, listener: (failureType: AuthFailureType) => void): this;
72
- once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
77
+ once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
73
78
  once(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
74
79
  /**
75
80
  * Trigger an event on the emitter returned from init.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
package/lib/src/auth.js CHANGED
@@ -29,6 +29,7 @@ export var AuthFailureType;
29
29
  AuthFailureType["EXPIRY"] = "EXPIRY";
30
30
  AuthFailureType["OTHER"] = "OTHER";
31
31
  AuthFailureType["IDLE_SESSION_TIMEOUT"] = "IDLE_SESSION_TIMEOUT";
32
+ AuthFailureType["UNAUTHENTICATED_FAILURE"] = "UNAUTHENTICATED_FAILURE";
32
33
  })(AuthFailureType || (AuthFailureType = {}));
33
34
  /**
34
35
  * Enum for auth status emitted by the emitter returned from {@link init}.
@@ -64,6 +65,10 @@ export var AuthStatus;
64
65
  * @version SDK: 1.19.0
65
66
  */
66
67
  AuthStatus["WAITING_FOR_POPUP"] = "WAITING_FOR_POPUP";
68
+ /**
69
+ * Emitted when the SAML popup is closed without authentication
70
+ */
71
+ AuthStatus["SAML_POPUP_CLOSED_NO_AUTH"] = "SAML_POPUP_CLOSED_NO_AUTH";
67
72
  })(AuthStatus || (AuthStatus = {}));
68
73
  /**
69
74
  * Events which can be triggered on the emitter returned from {@link init}.
@@ -290,14 +295,26 @@ export const doBasicAuth = async (embedConfig) => {
290
295
  * @param triggerText
291
296
  */
292
297
  async function samlPopupFlow(ssoURL, triggerContainer, triggerText) {
298
+ let popupClosedCheck;
293
299
  const openPopup = () => {
294
300
  if (samlAuthWindow === null || samlAuthWindow.closed) {
295
301
  samlAuthWindow = window.open(ssoURL, '_blank', 'location=no,height=570,width=520,scrollbars=yes,status=yes');
302
+ if (samlAuthWindow) {
303
+ popupClosedCheck = setInterval(() => {
304
+ if (samlAuthWindow.closed) {
305
+ clearInterval(popupClosedCheck);
306
+ if (samlCompletionPromise && !samlCompletionResolved) {
307
+ authEE === null || authEE === void 0 ? void 0 : authEE.emit(AuthStatus.SAML_POPUP_CLOSED_NO_AUTH);
308
+ }
309
+ }
310
+ }, 500);
311
+ }
296
312
  }
297
313
  else {
298
314
  samlAuthWindow.focus();
299
315
  }
300
316
  };
317
+ let samlCompletionResolved = false;
301
318
  authEE === null || authEE === void 0 ? void 0 : authEE.emit(AuthStatus.WAITING_FOR_POPUP);
302
319
  const containerEl = getDOMNode(triggerContainer);
303
320
  if (containerEl) {
@@ -309,6 +326,10 @@ async function samlPopupFlow(ssoURL, triggerContainer, triggerText) {
309
326
  samlCompletionPromise = samlCompletionPromise || new Promise((resolve, reject) => {
310
327
  window.addEventListener('message', (e) => {
311
328
  if (e.data.type === EmbedEvent.SAMLComplete) {
329
+ samlCompletionResolved = true;
330
+ if (popupClosedCheck) {
331
+ clearInterval(popupClosedCheck);
332
+ }
312
333
  e.source.close();
313
334
  resolve();
314
335
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
@@ -340,6 +340,43 @@ describe('Unit test for auth', () => {
340
340
  await authInstance.doSamlAuth(embedConfig.doSamlAuth);
341
341
  expect(global.window.location.href).toBe(samalLoginUrl);
342
342
  });
343
+ it('should emit SAML_POPUP_CLOSED_NO_AUTH when popup window is closed', async () => {
344
+ jest.useFakeTimers();
345
+ const mockPopupWindow = {
346
+ closed: false,
347
+ focus: jest.fn(),
348
+ close: jest.fn()
349
+ };
350
+ global.window.open = jest.fn().mockReturnValue(mockPopupWindow);
351
+ Object.defineProperty(window, 'location', {
352
+ value: {
353
+ href: '',
354
+ hash: '',
355
+ },
356
+ });
357
+ spyOn(authInstance, 'samlCompletionPromise').and.returnValue(Promise.resolve(false));
358
+ const emitSpy = jest.fn();
359
+ const mockEventEmitter = {
360
+ emit: emitSpy,
361
+ once: jest.fn(),
362
+ on: jest.fn()
363
+ };
364
+ authInstance.setAuthEE(mockEventEmitter);
365
+ jest.spyOn(tokenAuthService, 'isActiveService')
366
+ .mockReturnValueOnce(false)
367
+ .mockReturnValueOnce(true);
368
+ expect(await authInstance.doSamlAuth({
369
+ ...embedConfig.doSamlAuthNoRedirect,
370
+ })).toBe(true);
371
+ document.getElementById('ts-auth-btn').click();
372
+ mockPopupWindow.closed = true;
373
+ jest.advanceTimersByTime(1000);
374
+ window.postMessage({ type: EmbedEvent.SAMLComplete }, '*');
375
+ await authInstance.samlCompletionPromise;
376
+ expect(emitSpy).toHaveBeenCalledWith(authInstance.AuthStatus.SAML_POPUP_CLOSED_NO_AUTH);
377
+ jest.useRealTimers();
378
+ authInstance.setAuthEE(null);
379
+ });
343
380
  it('when user is not loggedIn, in config noRedirect is true and isAtSSORedirectUrl is false', async () => {
344
381
  Object.defineProperty(window, 'location', {
345
382
  value: {
@@ -361,6 +398,17 @@ describe('Unit test for auth', () => {
361
398
  await authInstance.samlCompletionPromise;
362
399
  expect(authInstance.loggedInStatus).toBe(true);
363
400
  });
401
+ it('should support emitting SAML_POPUP_CLOSED_NO_AUTH event', () => {
402
+ const emitSpy = jest.fn();
403
+ const mockEventEmitter = {
404
+ emit: emitSpy,
405
+ once: jest.fn()
406
+ };
407
+ authInstance.setAuthEE(mockEventEmitter);
408
+ authInstance.getAuthEE().emit(authInstance.AuthStatus.SAML_POPUP_CLOSED_NO_AUTH);
409
+ expect(emitSpy).toHaveBeenCalledWith(authInstance.AuthStatus.SAML_POPUP_CLOSED_NO_AUTH);
410
+ authInstance.setAuthEE(null);
411
+ });
364
412
  });
365
413
  describe('doOIDCAuth', () => {
366
414
  afterEach(() => {