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