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