@thoughtspot/visual-embed-sdk 1.37.0 → 1.37.1-spotter-embed
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/package.json +3 -3
- package/cjs/src/auth.d.ts +9 -4
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +21 -0
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.js +48 -0
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/embed/app.d.ts +59 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +13 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +44 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +39 -9
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +32 -5
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.spec.js +4 -4
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +38 -11
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +28 -4
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +7 -7
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +4 -1
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +5 -3
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/pages/embed-test.page.d.ts +8 -0
- package/cjs/src/pages/embed-test.page.d.ts.map +1 -0
- package/cjs/src/pages/embed-test.page.js +20 -0
- package/cjs/src/pages/embed-test.page.js.map +1 -0
- package/cjs/src/pages/home.page.d.ts +6 -0
- package/cjs/src/pages/home.page.d.ts.map +1 -0
- package/cjs/src/pages/home.page.js +12 -0
- package/cjs/src/pages/home.page.js.map +1 -0
- package/cjs/src/pages/login.page.d.ts +15 -0
- package/cjs/src/pages/login.page.d.ts.map +1 -0
- package/cjs/src/pages/login.page.js +22 -0
- package/cjs/src/pages/login.page.js.map +1 -0
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +24 -5
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +21 -4
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/tests/auth.test.d.ts +1 -0
- package/cjs/src/tests/auth.test.d.ts.map +1 -0
- package/cjs/src/tests/auth.test.js +1 -0
- package/cjs/src/tests/auth.test.js.map +1 -0
- package/cjs/src/tests/e2e/auth.spec.d.ts +2 -0
- package/cjs/src/tests/e2e/auth.spec.d.ts.map +1 -0
- package/cjs/src/tests/e2e/auth.spec.js +54 -0
- package/cjs/src/tests/e2e/auth.spec.js.map +1 -0
- package/cjs/src/types.d.ts +95 -3
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +79 -0
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +35 -15
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +35 -15
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/processData.js +6 -4
- package/cjs/src/utils/processData.js.map +1 -1
- package/dist/index-Cj4BVGHL.js +7371 -0
- package/dist/index-DUaG1OG2.js +7447 -0
- package/dist/index-Fhk1V_Gw.js +7371 -0
- package/dist/index-OuiZF3zE.js +7371 -0
- package/dist/src/auth.d.ts +9 -4
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +59 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +39 -9
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +38 -11
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +24 -5
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +95 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +35 -15
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +208 -31
- package/dist/tsembed-react.js +428 -174
- package/dist/tsembed.es.js +170 -32
- package/dist/tsembed.js +392 -176
- package/dist/visual-embed-sdk-react-full.d.ts +299 -47
- package/dist/visual-embed-sdk-react.d.ts +299 -47
- package/dist/visual-embed-sdk.d.ts +276 -43
- package/lib/package.json +3 -3
- package/lib/src/auth.d.ts +9 -4
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +21 -0
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.js +48 -0
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +59 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +13 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +44 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +39 -9
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +30 -4
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.spec.js +5 -5
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +38 -11
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +26 -3
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +8 -8
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +4 -1
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +3 -3
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +24 -5
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +21 -4
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +95 -3
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +79 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +35 -15
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +35 -15
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/processData.js +6 -4
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +278 -45
- package/package.json +3 -3
- package/src/auth.spec.ts +52 -0
- package/src/auth.ts +25 -3
- package/src/embed/app.spec.ts +64 -0
- package/src/embed/app.ts +80 -0
- package/src/embed/bodyless-conversation.spec.ts +6 -6
- package/src/embed/bodyless-conversation.ts +43 -8
- package/src/embed/conversation.spec.ts +16 -16
- package/src/embed/conversation.ts +42 -11
- package/src/embed/ts-embed.spec.ts +0 -2
- package/src/embed/ts-embed.ts +4 -0
- package/src/index.ts +8 -4
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.tsx +36 -10
- package/src/types.ts +99 -1
- package/src/utils/graphql/answerService/answerService.ts +35 -15
- package/src/utils/processData.ts +6 -6
|
@@ -12,7 +12,7 @@ import EventEmitter from 'eventemitter3';
|
|
|
12
12
|
* @summary ThoughtSpot Visual Embed SDK
|
|
13
13
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
14
14
|
*/
|
|
15
|
-
export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed,
|
|
15
|
+
export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, SpotterAgentEmbed, SpotterAgentEmbedViewConfig, BodylessConversationViewConfig, BodylessConversation, SpotterEmbed, SpotterEmbedViewConfig, ConversationViewConfig, ConversationEmbed, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, HomePageSearchBarMode, VizPoint, CustomActionPayload, UIPassthroughEvent, ListPageColumns, };
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Copyright (c) 2022
|
|
@@ -151,6 +151,51 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
|
|
|
151
151
|
* ```
|
|
152
152
|
*/
|
|
153
153
|
enablePendoHelp?: boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Control the visibility of the hamburger icon on the top nav bar
|
|
156
|
+
* available when new navigation V3 is enabled.
|
|
157
|
+
*
|
|
158
|
+
* @default false
|
|
159
|
+
* @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
|
|
160
|
+
* @example
|
|
161
|
+
* ```js
|
|
162
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
163
|
+
* ... // other options
|
|
164
|
+
* hideHamburger : true,
|
|
165
|
+
* })
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
hideHamburger?: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Control the visibility of the Eureka search on the top nav bar
|
|
171
|
+
* this will control for both new V2 and new navigation V3.
|
|
172
|
+
*
|
|
173
|
+
* @default true
|
|
174
|
+
* @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
|
|
175
|
+
* @example
|
|
176
|
+
* ```js
|
|
177
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
178
|
+
* ... // other options
|
|
179
|
+
* hideObjectSearch: false,
|
|
180
|
+
* })
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
hideObjectSearch?: boolean;
|
|
184
|
+
/**
|
|
185
|
+
* Control the visibility of the notification on the top nav bar V3,
|
|
186
|
+
* available when new navigation V3 is enabled.
|
|
187
|
+
*
|
|
188
|
+
* @default true
|
|
189
|
+
* @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
|
|
190
|
+
* @example
|
|
191
|
+
* ```js
|
|
192
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
193
|
+
* ... // other options
|
|
194
|
+
* hideNotification: false,
|
|
195
|
+
* })
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
hideNotification?: boolean;
|
|
154
199
|
/**
|
|
155
200
|
* Control the visibility of the application switcher button on the nav-bar.
|
|
156
201
|
* By default, the application switcher is shown.
|
|
@@ -344,6 +389,20 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
|
|
|
344
389
|
* ```
|
|
345
390
|
*/
|
|
346
391
|
modularHomeExperience?: boolean;
|
|
392
|
+
/**
|
|
393
|
+
* Flag to control new navigation v3 home experience.
|
|
394
|
+
*
|
|
395
|
+
* @default false
|
|
396
|
+
* @version SDK: 1.39.0 | Thoughtspot: 10.10.0.cl
|
|
397
|
+
* @example
|
|
398
|
+
* ```js
|
|
399
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
400
|
+
* ... // other options
|
|
401
|
+
* modularHomeExperienceV3 : true,
|
|
402
|
+
* })
|
|
403
|
+
* ```
|
|
404
|
+
*/
|
|
405
|
+
modularHomeExperienceV3?: boolean;
|
|
347
406
|
/**
|
|
348
407
|
* Boolean to control if Liveboard header is sticky or not.
|
|
349
408
|
* @example
|
|
@@ -1507,21 +1566,28 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
1507
1566
|
* Configuration for bodyless conversation options.
|
|
1508
1567
|
* @group Embed components
|
|
1509
1568
|
*/
|
|
1510
|
-
export interface
|
|
1569
|
+
export interface SpotterAgentEmbedViewConfig extends ViewConfig {
|
|
1511
1570
|
/**
|
|
1512
1571
|
* The ID of the worksheet to use for the conversation.
|
|
1513
1572
|
*/
|
|
1514
1573
|
worksheetId: string;
|
|
1515
1574
|
}
|
|
1516
|
-
|
|
1575
|
+
/**
|
|
1576
|
+
* Configuration for conversation options.
|
|
1577
|
+
* @deprecated Renamed to SpotterAgentEmbedViewConfig
|
|
1578
|
+
* @group Embed components
|
|
1579
|
+
*/
|
|
1580
|
+
export interface BodylessConversationViewConfig extends SpotterAgentEmbedViewConfig {
|
|
1581
|
+
}
|
|
1582
|
+
interface SpotterAgentMessageViewConfig extends SpotterAgentEmbedViewConfig {
|
|
1517
1583
|
sessionId: string;
|
|
1518
1584
|
genNo: number;
|
|
1519
1585
|
acSessionId: string;
|
|
1520
1586
|
acGenNo: number;
|
|
1521
1587
|
}
|
|
1522
1588
|
class ConversationMessage extends TsEmbed {
|
|
1523
|
-
protected viewConfig:
|
|
1524
|
-
constructor(container: HTMLElement, viewConfig:
|
|
1589
|
+
protected viewConfig: SpotterAgentMessageViewConfig;
|
|
1590
|
+
constructor(container: HTMLElement, viewConfig: SpotterAgentMessageViewConfig);
|
|
1525
1591
|
getIframeSrc(): string;
|
|
1526
1592
|
render(): Promise<ConversationMessage>;
|
|
1527
1593
|
}
|
|
@@ -1530,9 +1596,9 @@ class ConversationMessage extends TsEmbed {
|
|
|
1530
1596
|
* chatbots or other conversational interfaces.
|
|
1531
1597
|
* @example
|
|
1532
1598
|
* ```js
|
|
1533
|
-
* import {
|
|
1599
|
+
* import { SpotterAgentEmbed } from '@thoughtspot/visual-embed-sdk';
|
|
1534
1600
|
*
|
|
1535
|
-
* const conversation = new
|
|
1601
|
+
* const conversation = new SpotterAgentEmbed({
|
|
1536
1602
|
* worksheetId: 'worksheetId',
|
|
1537
1603
|
* });
|
|
1538
1604
|
*
|
|
@@ -1542,10 +1608,10 @@ class ConversationMessage extends TsEmbed {
|
|
|
1542
1608
|
* document.body.appendChild(container); // or to any other element
|
|
1543
1609
|
* ```
|
|
1544
1610
|
* @group Embed components
|
|
1545
|
-
* @version SDK: 1.
|
|
1611
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
1546
1612
|
*/
|
|
1547
|
-
export class
|
|
1548
|
-
constructor(viewConfig:
|
|
1613
|
+
export class SpotterAgentEmbed {
|
|
1614
|
+
constructor(viewConfig: SpotterAgentEmbedViewConfig);
|
|
1549
1615
|
sendMessage(userMessage: string): Promise<{
|
|
1550
1616
|
error: any;
|
|
1551
1617
|
container?: undefined;
|
|
@@ -1556,6 +1622,29 @@ export class BodylessConversation {
|
|
|
1556
1622
|
error?: undefined;
|
|
1557
1623
|
}>;
|
|
1558
1624
|
}
|
|
1625
|
+
/**
|
|
1626
|
+
* Create a conversation embed, which can be integrated inside
|
|
1627
|
+
* chatbots or other conversational interfaces.
|
|
1628
|
+
* @deprecated Renamed to SpotterAgentEmbed
|
|
1629
|
+
* @example
|
|
1630
|
+
* ```js
|
|
1631
|
+
* import { SpotterAgentEmbed } from '@thoughtspot/visual-embed-sdk';
|
|
1632
|
+
*
|
|
1633
|
+
* const conversation = new SpotterAgentEmbed({
|
|
1634
|
+
* worksheetId: 'worksheetId',
|
|
1635
|
+
* });
|
|
1636
|
+
*
|
|
1637
|
+
* const { container, error } = await conversation.sendMessage('show me sales by region');
|
|
1638
|
+
*
|
|
1639
|
+
* // append the container to the DOM
|
|
1640
|
+
* document.body.appendChild(container); // or to any other element
|
|
1641
|
+
* ```
|
|
1642
|
+
* @group Embed components
|
|
1643
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
1644
|
+
*/
|
|
1645
|
+
export class BodylessConversation extends SpotterAgentEmbed {
|
|
1646
|
+
constructor(viewConfig: BodylessConversationViewConfig);
|
|
1647
|
+
}
|
|
1559
1648
|
export {};
|
|
1560
1649
|
|
|
1561
1650
|
/**
|
|
@@ -1568,10 +1657,10 @@ export interface SearchOptions {
|
|
|
1568
1657
|
searchQuery: string;
|
|
1569
1658
|
}
|
|
1570
1659
|
/**
|
|
1571
|
-
* The configuration for the embedded
|
|
1660
|
+
* The configuration for the embedded spotterEmbed options.
|
|
1572
1661
|
* @group Embed components
|
|
1573
1662
|
*/
|
|
1574
|
-
export interface
|
|
1663
|
+
export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
1575
1664
|
/**
|
|
1576
1665
|
* The ID of the worksheet to use for the conversation.
|
|
1577
1666
|
*/
|
|
@@ -1585,7 +1674,7 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1585
1674
|
* but still display the selected data source.
|
|
1586
1675
|
* @example
|
|
1587
1676
|
* ```js
|
|
1588
|
-
* const embed = new
|
|
1677
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
1589
1678
|
* ... // other options
|
|
1590
1679
|
* disableSourceSelection : true,
|
|
1591
1680
|
* })
|
|
@@ -1597,7 +1686,7 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1597
1686
|
* hideSourceSelection : Hide data source selection
|
|
1598
1687
|
* @example
|
|
1599
1688
|
* ```js
|
|
1600
|
-
* const embed = new
|
|
1689
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
1601
1690
|
* ... // other options
|
|
1602
1691
|
* hideSourceSelection : true,
|
|
1603
1692
|
* })
|
|
@@ -1624,7 +1713,7 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1624
1713
|
* default is false.
|
|
1625
1714
|
* @example
|
|
1626
1715
|
* ```js
|
|
1627
|
-
* const embed = new
|
|
1716
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
1628
1717
|
* ... // other options
|
|
1629
1718
|
* showSpotterLimitations : true,
|
|
1630
1719
|
* })
|
|
@@ -1637,7 +1726,7 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1637
1726
|
* the initial screen of the conversation.
|
|
1638
1727
|
* @example
|
|
1639
1728
|
* ```js
|
|
1640
|
-
* const embed = new
|
|
1729
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
1641
1730
|
* ... // other options
|
|
1642
1731
|
* hideSampleQuestions : true,
|
|
1643
1732
|
* })
|
|
@@ -1646,12 +1735,41 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1646
1735
|
*/
|
|
1647
1736
|
hideSampleQuestions?: boolean;
|
|
1648
1737
|
}
|
|
1738
|
+
/**
|
|
1739
|
+
* The configuration for the embedded spotterEmbed options.
|
|
1740
|
+
* @deprecated Renamed to SpotterEmbedViewConfig
|
|
1741
|
+
* @group Embed components
|
|
1742
|
+
*/
|
|
1743
|
+
export interface ConversationViewConfig extends SpotterEmbedViewConfig {
|
|
1744
|
+
}
|
|
1745
|
+
/**
|
|
1746
|
+
* Embed ThoughtSpot AI Conversation.
|
|
1747
|
+
* @group Embed components
|
|
1748
|
+
* @example
|
|
1749
|
+
* ```js
|
|
1750
|
+
* const conversation = new SpotterEmbed('#tsEmbed', {
|
|
1751
|
+
* worksheetId: 'worksheetId',
|
|
1752
|
+
* searchOptions: {
|
|
1753
|
+
* searchQuery: 'searchQuery',
|
|
1754
|
+
* },
|
|
1755
|
+
* });
|
|
1756
|
+
* conversation.render();
|
|
1757
|
+
* ```
|
|
1758
|
+
* @version SDK: 1.38.0 | ThoughtSpot: 10.10.0.cl
|
|
1759
|
+
*/
|
|
1760
|
+
export class SpotterEmbed extends TsEmbed {
|
|
1761
|
+
protected viewConfig: SpotterEmbedViewConfig;
|
|
1762
|
+
constructor(container: HTMLElement, viewConfig: SpotterEmbedViewConfig);
|
|
1763
|
+
getIframeSrc(): string;
|
|
1764
|
+
render(): Promise<SpotterEmbed>;
|
|
1765
|
+
}
|
|
1649
1766
|
/**
|
|
1650
1767
|
* Embed ThoughtSpot AI Conversation.
|
|
1768
|
+
* @deprecated Renamed to SpotterEmbed
|
|
1651
1769
|
* @group Embed components
|
|
1652
1770
|
* @example
|
|
1653
1771
|
* ```js
|
|
1654
|
-
* const conversation = new
|
|
1772
|
+
* const conversation = new SpotterEmbed('#tsEmbed', {
|
|
1655
1773
|
* worksheetId: 'worksheetId',
|
|
1656
1774
|
* searchOptions: {
|
|
1657
1775
|
* searchQuery: 'searchQuery',
|
|
@@ -1659,13 +1777,11 @@ export interface ConversationViewConfig extends ViewConfig {
|
|
|
1659
1777
|
* });
|
|
1660
1778
|
* conversation.render();
|
|
1661
1779
|
* ```
|
|
1662
|
-
* @version SDK: 1.
|
|
1780
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
1663
1781
|
*/
|
|
1664
|
-
export class ConversationEmbed extends
|
|
1782
|
+
export class ConversationEmbed extends SpotterEmbed {
|
|
1665
1783
|
protected viewConfig: ConversationViewConfig;
|
|
1666
1784
|
constructor(container: HTMLElement, viewConfig: ConversationViewConfig);
|
|
1667
|
-
getIframeSrc(): string;
|
|
1668
|
-
render(): Promise<ConversationEmbed>;
|
|
1669
1785
|
}
|
|
1670
1786
|
|
|
1671
1787
|
export let loggedInStatus: boolean;
|
|
@@ -1682,7 +1798,8 @@ export enum AuthFailureType {
|
|
|
1682
1798
|
NO_COOKIE_ACCESS = "NO_COOKIE_ACCESS",
|
|
1683
1799
|
EXPIRY = "EXPIRY",
|
|
1684
1800
|
OTHER = "OTHER",
|
|
1685
|
-
IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT"
|
|
1801
|
+
IDLE_SESSION_TIMEOUT = "IDLE_SESSION_TIMEOUT",
|
|
1802
|
+
UNAUTHENTICATED_FAILURE = "UNAUTHENTICATED_FAILURE"
|
|
1686
1803
|
}
|
|
1687
1804
|
/**
|
|
1688
1805
|
* Enum for auth status emitted by the emitter returned from {@link init}.
|
|
@@ -1716,7 +1833,11 @@ export enum AuthStatus {
|
|
|
1716
1833
|
* or by the trigger button.
|
|
1717
1834
|
* @version SDK: 1.19.0
|
|
1718
1835
|
*/
|
|
1719
|
-
WAITING_FOR_POPUP = "WAITING_FOR_POPUP"
|
|
1836
|
+
WAITING_FOR_POPUP = "WAITING_FOR_POPUP",
|
|
1837
|
+
/**
|
|
1838
|
+
* Emitted when the SAML popup is closed without authentication
|
|
1839
|
+
*/
|
|
1840
|
+
SAML_POPUP_CLOSED_NO_AUTH = "SAML_POPUP_CLOSED_NO_AUTH"
|
|
1720
1841
|
}
|
|
1721
1842
|
/**
|
|
1722
1843
|
* Event emitter returned from {@link init}.
|
|
@@ -1734,10 +1855,10 @@ export interface AuthEventEmitter {
|
|
|
1734
1855
|
* @param event
|
|
1735
1856
|
* @param listener
|
|
1736
1857
|
*/
|
|
1737
|
-
on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
|
|
1858
|
+
on(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
|
|
1738
1859
|
on(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
|
|
1739
1860
|
once(event: AuthStatus.FAILURE, listener: (failureType: AuthFailureType) => void): this;
|
|
1740
|
-
once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP, listener: () => void): this;
|
|
1861
|
+
once(event: AuthStatus.SDK_SUCCESS | AuthStatus.LOGOUT | AuthStatus.WAITING_FOR_POPUP | AuthStatus.SAML_POPUP_CLOSED_NO_AUTH, listener: () => void): this;
|
|
1741
1862
|
once(event: AuthStatus.SUCCESS, listener: (sessionInfo: any) => void): this;
|
|
1742
1863
|
/**
|
|
1743
1864
|
* Trigger an event on the emitter returned from init.
|
|
@@ -2147,7 +2268,19 @@ export enum HomeLeftNavItem {
|
|
|
2147
2268
|
/**
|
|
2148
2269
|
* @version SDK: 1.34.0| ThoughtSpot: 10.3.0.cl
|
|
2149
2270
|
*/
|
|
2150
|
-
LiveboardSchedules = "liveboard-schedules"
|
|
2271
|
+
LiveboardSchedules = "liveboard-schedules",
|
|
2272
|
+
/**
|
|
2273
|
+
* Create new options in the insights left navigation,
|
|
2274
|
+
* available when new navigation V3 is enabled.
|
|
2275
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
2276
|
+
*/
|
|
2277
|
+
Create = "create",
|
|
2278
|
+
/**
|
|
2279
|
+
* Spotter option in the insights left navigation,
|
|
2280
|
+
* available when new navigation V3 is enabled.
|
|
2281
|
+
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
2282
|
+
*/
|
|
2283
|
+
Spotter = "spotter"
|
|
2151
2284
|
}
|
|
2152
2285
|
export type DOMSelector = string | HTMLElement;
|
|
2153
2286
|
/**
|
|
@@ -2628,6 +2761,19 @@ export interface ViewConfig {
|
|
|
2628
2761
|
* ```
|
|
2629
2762
|
*/
|
|
2630
2763
|
disabledActions?: Action[];
|
|
2764
|
+
/**
|
|
2765
|
+
* The primary action to display on top of the viz for Liveboard and App Embed.
|
|
2766
|
+
* Use this to set the primary action.
|
|
2767
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
2768
|
+
* @example
|
|
2769
|
+
* ```js
|
|
2770
|
+
* const embed = new LiveboardEmbed('#embed', {
|
|
2771
|
+
* ... // other liveboard view config
|
|
2772
|
+
* primaryAction: Action.Download
|
|
2773
|
+
* });
|
|
2774
|
+
* ```
|
|
2775
|
+
*/
|
|
2776
|
+
primaryAction?: Action | string;
|
|
2631
2777
|
/**
|
|
2632
2778
|
* The tooltip to display for disabled actions.
|
|
2633
2779
|
* @version SDK: 1.6.0 | ThoughtSpot: ts8.nov.cl, 8.4.1.sw
|
|
@@ -5217,8 +5363,17 @@ export enum HostEvent {
|
|
|
5217
5363
|
/**
|
|
5218
5364
|
* Get the Answer session for a Search or
|
|
5219
5365
|
* Liveboard visualization.
|
|
5366
|
+
*
|
|
5367
|
+
* Note: This event is not typically used directly. Instead, use the
|
|
5368
|
+
* `getAnswerService()` method on the embed instance to get an AnswerService
|
|
5369
|
+
* object that provides a more convenient interface for working with answers.
|
|
5370
|
+
*
|
|
5220
5371
|
* @example
|
|
5221
5372
|
* ```js
|
|
5373
|
+
* // Preferred way to get an AnswerService
|
|
5374
|
+
* const service = await embed.getAnswerService();
|
|
5375
|
+
*
|
|
5376
|
+
* // Alternative direct usage (not recommended)
|
|
5222
5377
|
* const {session} = await embed.trigger(
|
|
5223
5378
|
* HostEvent.GetAnswerSession, {
|
|
5224
5379
|
* vizId: '123', // For Liveboard Visualization.
|
|
@@ -5226,6 +5381,10 @@ export enum HostEvent {
|
|
|
5226
5381
|
* ```
|
|
5227
5382
|
* @example
|
|
5228
5383
|
* ```js
|
|
5384
|
+
* // Preferred way to get an AnswerService
|
|
5385
|
+
* const service = await embed.getAnswerService();
|
|
5386
|
+
*
|
|
5387
|
+
* // Alternative direct usage (not recommended)
|
|
5229
5388
|
* const {session} = await embed.trigger( HostEvent.GetAnswerSession )
|
|
5230
5389
|
* ```
|
|
5231
5390
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
|
|
@@ -5353,7 +5512,55 @@ export enum HostEvent {
|
|
|
5353
5512
|
* ```
|
|
5354
5513
|
* @version SDK: 1.37.0 | ThoughtSpot: 10.8.0.cl
|
|
5355
5514
|
*/
|
|
5356
|
-
TransformTableVizData = "TransformTableVizData"
|
|
5515
|
+
TransformTableVizData = "TransformTableVizData",
|
|
5516
|
+
/**
|
|
5517
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5518
|
+
* Includes the following properties:
|
|
5519
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5520
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5521
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5522
|
+
*/
|
|
5523
|
+
SpotterSearch = "SpotterSearch",
|
|
5524
|
+
/**
|
|
5525
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5526
|
+
* Includes the following properties:
|
|
5527
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5528
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5529
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5530
|
+
*/
|
|
5531
|
+
EditLastPrompt = "EditLastPrompt",
|
|
5532
|
+
/**
|
|
5533
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5534
|
+
* Includes the following properties:
|
|
5535
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5536
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5537
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5538
|
+
*/
|
|
5539
|
+
PreviewSpotterData = "PreviewSpotterData",
|
|
5540
|
+
/**
|
|
5541
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5542
|
+
* Includes the following properties:
|
|
5543
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5544
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5545
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5546
|
+
*/
|
|
5547
|
+
ResetSpotterConversation = "ResetSpotterConversation",
|
|
5548
|
+
/**
|
|
5549
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5550
|
+
* Includes the following properties:
|
|
5551
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5552
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5553
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5554
|
+
*/
|
|
5555
|
+
DeleteLastPrompt = "DeleteLastPrompt",
|
|
5556
|
+
/**
|
|
5557
|
+
* Triggers the table visualization re-render with the updated data.
|
|
5558
|
+
* Includes the following properties:
|
|
5559
|
+
* @param - `columnDataLite` - an array of object containing the
|
|
5560
|
+
* data value modifications retrieved from the `EmbedEvent.TableVizRendered`
|
|
5561
|
+
* payload.For example, { columnDataLite: []}`.
|
|
5562
|
+
*/
|
|
5563
|
+
AnswerChartSwitcher = "answerChartSwitcher"
|
|
5357
5564
|
}
|
|
5358
5565
|
/**
|
|
5359
5566
|
* The different visual modes that the data sources panel within
|
|
@@ -5424,6 +5631,10 @@ export enum Param {
|
|
|
5424
5631
|
ShowInsertToSlide = "insertInToSlide",
|
|
5425
5632
|
PrimaryNavHidden = "primaryNavHidden",
|
|
5426
5633
|
HideProfleAndHelp = "profileAndHelpInNavBarHidden",
|
|
5634
|
+
NavigationVersion = "navigationVersion",
|
|
5635
|
+
HideHamburger = "hideHamburger",
|
|
5636
|
+
HideObjectSearch = "hideObjectSearch",
|
|
5637
|
+
HideNotification = "hideNotification",
|
|
5427
5638
|
HideApplicationSwitcher = "applicationSwitcherHidden",
|
|
5428
5639
|
HideOrgSwitcher = "orgSwitcherHidden",
|
|
5429
5640
|
IsSageEmbed = "isSageEmbed",
|
|
@@ -5479,7 +5690,9 @@ export enum Param {
|
|
|
5479
5690
|
DataSourceId = "dataSourceId",
|
|
5480
5691
|
preAuthCache = "preAuthCache",
|
|
5481
5692
|
ShowSpotterLimitations = "showSpotterLimitations",
|
|
5482
|
-
CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF"
|
|
5693
|
+
CoverAndFilterOptionInPDF = "coverAndFilterOptionInPDF",
|
|
5694
|
+
PrimaryAction = "primaryAction",
|
|
5695
|
+
isSpotterAgentEmbed = "isSpotterAgentEmbed"
|
|
5483
5696
|
}
|
|
5484
5697
|
/**
|
|
5485
5698
|
* ThoughtSpot application pages include actions and menu commands
|
|
@@ -7410,29 +7623,49 @@ export interface UnderlyingDataPoint {
|
|
|
7410
7623
|
dataValue: any;
|
|
7411
7624
|
}
|
|
7412
7625
|
/**
|
|
7413
|
-
*
|
|
7414
|
-
*
|
|
7415
|
-
*
|
|
7416
|
-
*
|
|
7626
|
+
* AnswerService provides a simple way to work with ThoughtSpot Answers.
|
|
7627
|
+
*
|
|
7628
|
+
* This service allows you to interact with ThoughtSpot Answers programmatically,
|
|
7629
|
+
* making it easy to customize visualizations, filter data, and extract insights
|
|
7630
|
+
* directly from your application.
|
|
7631
|
+
*
|
|
7632
|
+
* You can use this service to:
|
|
7633
|
+
* - Add or remove columns from Answers (`addColumns`, `removeColumns`, `addColumnsByName`)
|
|
7634
|
+
* - Apply filters to Answers (`addFilter`)
|
|
7635
|
+
* - Get data from Answers in different formats (JSON, CSV, PNG) (`fetchData`, `fetchCSVBlob`, `fetchPNGBlob`)
|
|
7636
|
+
* - Get data for specific points in visualizations (`getUnderlyingDataForPoint`)
|
|
7637
|
+
* - Run custom queries (`executeQuery`)
|
|
7638
|
+
* - Add visualizations to liveboards (`addDisplayedVizToLiveboard`)
|
|
7639
|
+
*
|
|
7417
7640
|
* @example
|
|
7418
7641
|
* ```js
|
|
7419
|
-
*
|
|
7420
|
-
*
|
|
7421
|
-
*
|
|
7422
|
-
*
|
|
7423
|
-
*
|
|
7424
|
-
*
|
|
7642
|
+
* // Get the answer service
|
|
7643
|
+
* embed.on(EmbedEvent.Data, async (e) => {
|
|
7644
|
+
* const service = await embed.getAnswerService();
|
|
7645
|
+
*
|
|
7646
|
+
* // Add columns to the answer
|
|
7647
|
+
* await service.addColumnsByName(["Sales", "Region"]);
|
|
7648
|
+
*
|
|
7649
|
+
* // Get the data
|
|
7650
|
+
* const data = await service.fetchData();
|
|
7651
|
+
* console.log(data);
|
|
7652
|
+
* });
|
|
7425
7653
|
* ```
|
|
7654
|
+
*
|
|
7426
7655
|
* @example
|
|
7427
7656
|
* ```js
|
|
7428
|
-
*
|
|
7429
|
-
*
|
|
7430
|
-
* await
|
|
7431
|
-
*
|
|
7657
|
+
* // Get data for a point in a visualization
|
|
7658
|
+
* embed.on(EmbedEvent.CustomAction, async (e) => {
|
|
7659
|
+
* const underlying = await e.answerService.getUnderlyingDataForPoint([
|
|
7660
|
+
* 'Product Name',
|
|
7661
|
+
* 'Sales Amount'
|
|
7432
7662
|
* ]);
|
|
7433
|
-
*
|
|
7663
|
+
*
|
|
7664
|
+
* const data = await underlying.fetchData(0, 100);
|
|
7665
|
+
* console.log(data);
|
|
7434
7666
|
* });
|
|
7435
7667
|
* ```
|
|
7668
|
+
*
|
|
7436
7669
|
* @version SDK: 1.25.0| ThoughtSpot: 9.10.0.cl
|
|
7437
7670
|
* @group Events
|
|
7438
7671
|
*/
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.37.
|
|
3
|
+
"version": "1.37.1-spotter-embed",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"test": "npm run test-sdk",
|
|
58
58
|
"posttest": "cat ./coverage/sdk/lcov.info | coveralls",
|
|
59
59
|
"is-publish-allowed": "node scripts/is-publish-allowed.js",
|
|
60
|
-
"prepublishOnly": "npm run is-publish-allowed && npm run
|
|
60
|
+
"prepublishOnly": "npm run is-publish-allowed && npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build",
|
|
61
61
|
"check-size": "npm run build && size-limit",
|
|
62
62
|
"publish-dev": "npm publish --tag dev",
|
|
63
63
|
"publish-prod": "npm publish --tag latest",
|
|
@@ -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": "^
|
|
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.
|
package/lib/src/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAIzC,OAAO,EACoB,WAAW,EACrC,MAAM,SAAS,CAAC;AAgBjB,eAAO,IAAI,cAAc,SAAQ,CAAC;AAElC,eAAO,IAAI,cAAc,EAAE,MAAa,CAAC;AAEzC,eAAO,IAAI,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAQ,CAAC;AAIvD,eAAO,MAAM,2BAA2B,yCAAyC,CAAC;AAElF;;;;GAIG;AACH,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,oBAAoB,yBAAyB;
|
|
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
|
}
|