@thoughtspot/visual-embed-sdk 1.28.3 → 1.28.4
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 +2 -1
- package/cjs/src/embed/app.d.ts +38 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +7 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +10 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +16 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +8 -3
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +61 -4
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +4 -4
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +2 -18
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/sage.spec.js +20 -31
- package/cjs/src/embed/sage.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +22 -0
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +3 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +2 -1
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +9 -0
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +18 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.js +1 -1
- package/cjs/src/errors.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 +86 -5
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +67 -4
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js +32 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -0
- package/cjs/src/utils/sessionInfoService.d.ts +66 -0
- package/cjs/src/utils/sessionInfoService.d.ts.map +1 -0
- package/cjs/src/utils/sessionInfoService.js +92 -0
- package/cjs/src/utils/sessionInfoService.js.map +1 -0
- package/dist/src/embed/app.d.ts +38 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +16 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +4 -4
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +22 -0
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/types.d.ts +86 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/dist/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/dist/src/utils/sessionInfoService.d.ts +66 -0
- package/dist/src/utils/sessionInfoService.d.ts.map +1 -0
- package/dist/tsembed-react.es.js +97 -28
- package/dist/tsembed-react.js +97 -28
- package/dist/tsembed.es.js +97 -28
- package/dist/tsembed.js +97 -28
- package/dist/visual-embed-sdk-react-full.d.ts +165 -8
- package/dist/visual-embed-sdk-react.d.ts +165 -8
- package/dist/visual-embed-sdk.d.ts +165 -8
- package/lib/package.json +2 -1
- package/lib/src/embed/app.d.ts +38 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +7 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +10 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +16 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +8 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +61 -4
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +4 -4
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +2 -18
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/sage.spec.js +20 -31
- package/lib/src/embed/sage.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +22 -0
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +3 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +2 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +9 -0
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +18 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.js +1 -1
- package/lib/src/errors.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 +86 -5
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +67 -4
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.js +29 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -0
- package/lib/src/utils/sessionInfoService.d.ts +66 -0
- package/lib/src/utils/sessionInfoService.d.ts.map +1 -0
- package/lib/src/utils/sessionInfoService.js +85 -0
- package/lib/src/utils/sessionInfoService.js.map +1 -0
- package/lib/src/visual-embed-sdk.d.ts +166 -9
- package/package.json +2 -1
- package/src/embed/app.spec.ts +15 -0
- package/src/embed/app.ts +48 -0
- package/src/embed/liveboard.spec.ts +82 -9
- package/src/embed/liveboard.ts +26 -2
- package/src/embed/sage.spec.ts +20 -35
- package/src/embed/sage.ts +4 -21
- package/src/embed/search.spec.ts +2 -1
- package/src/embed/search.ts +26 -0
- package/src/embed/ts-embed.spec.ts +22 -0
- package/src/embed/ts-embed.ts +9 -0
- package/src/errors.ts +1 -1
- package/src/react/index.spec.tsx +1 -1
- package/src/types.ts +85 -4
|
@@ -365,6 +365,44 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
|
|
|
365
365
|
* @default false
|
|
366
366
|
*/
|
|
367
367
|
enableAskSage?: boolean;
|
|
368
|
+
/**
|
|
369
|
+
* To set the initial state of the search bar in case of saved-answers.
|
|
370
|
+
*
|
|
371
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
372
|
+
* @default false
|
|
373
|
+
*/
|
|
374
|
+
collapseSearchBarInitially?: boolean;
|
|
375
|
+
/**
|
|
376
|
+
* To enable custom column groups in data panel v2
|
|
377
|
+
*
|
|
378
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
379
|
+
* @default false
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```js
|
|
383
|
+
* const embed = new AppEmbed('#embed', {
|
|
384
|
+
* ... // other app view config
|
|
385
|
+
* enableCustomColumnGroups: true,
|
|
386
|
+
* });
|
|
387
|
+
* ```
|
|
388
|
+
*/
|
|
389
|
+
enableCustomColumnGroups?: boolean;
|
|
390
|
+
/**
|
|
391
|
+
* This flag is used to enable the 2 column layout in liveboard
|
|
392
|
+
*
|
|
393
|
+
* @type {boolean}
|
|
394
|
+
* @default false
|
|
395
|
+
* @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```js
|
|
399
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
400
|
+
* ... // other options
|
|
401
|
+
* enable2ColumnLayout: true,
|
|
402
|
+
* })
|
|
403
|
+
* ```
|
|
404
|
+
*/
|
|
405
|
+
enable2ColumnLayout?: boolean;
|
|
368
406
|
}
|
|
369
407
|
/**
|
|
370
408
|
* Embeds full ThoughtSpot experience in a host application.
|
|
@@ -806,6 +844,22 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
806
844
|
* ```
|
|
807
845
|
*/
|
|
808
846
|
enableAskSage?: boolean;
|
|
847
|
+
/**
|
|
848
|
+
* This flag is used to enable the 2 column layout in liveboard
|
|
849
|
+
*
|
|
850
|
+
* @type {boolean}
|
|
851
|
+
* @default false
|
|
852
|
+
* @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
|
|
853
|
+
*
|
|
854
|
+
* @example
|
|
855
|
+
* ```js
|
|
856
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
857
|
+
* ... // other options
|
|
858
|
+
* enable2ColumnLayout: true,
|
|
859
|
+
* })
|
|
860
|
+
* ```
|
|
861
|
+
*/
|
|
862
|
+
enable2ColumnLayout?: boolean;
|
|
809
863
|
}
|
|
810
864
|
/**
|
|
811
865
|
* Embed a ThoughtSpot Liveboard or visualization. When rendered it already
|
|
@@ -1064,6 +1118,28 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
|
|
|
1064
1118
|
* @version: SDK: 1.24.0
|
|
1065
1119
|
*/
|
|
1066
1120
|
useLastSelectedSources?: boolean;
|
|
1121
|
+
/**
|
|
1122
|
+
* To set the initial state of the search bar in case of saved-answers.
|
|
1123
|
+
*
|
|
1124
|
+
* @default false
|
|
1125
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
1126
|
+
*/
|
|
1127
|
+
collapseSearchBarInitially?: boolean;
|
|
1128
|
+
/**
|
|
1129
|
+
* To enable custom column groups in data panel v2
|
|
1130
|
+
*
|
|
1131
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
1132
|
+
* @default false
|
|
1133
|
+
*
|
|
1134
|
+
* @example
|
|
1135
|
+
* ```js
|
|
1136
|
+
* const embed = new SearchEmbed('#tsEmbed', {
|
|
1137
|
+
* ... // other options
|
|
1138
|
+
* enableCustomColumnGroups: true,
|
|
1139
|
+
* });
|
|
1140
|
+
* ```
|
|
1141
|
+
*/
|
|
1142
|
+
enableCustomColumnGroups?: boolean;
|
|
1067
1143
|
}
|
|
1068
1144
|
export const HiddenActionItemByDefaultForSearchEmbed: Action[];
|
|
1069
1145
|
/**
|
|
@@ -1953,6 +2029,24 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
1953
2029
|
* @version SDK: 1.27.9
|
|
1954
2030
|
*/
|
|
1955
2031
|
disableSDKTracking?: boolean;
|
|
2032
|
+
/**
|
|
2033
|
+
* Overrides default/user preffered locale for date formatting
|
|
2034
|
+
*
|
|
2035
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
2036
|
+
*/
|
|
2037
|
+
dateFormatLocale?: string;
|
|
2038
|
+
/**
|
|
2039
|
+
* Overrides default/user preffered locale for number formatting
|
|
2040
|
+
*
|
|
2041
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
2042
|
+
*/
|
|
2043
|
+
numberFormatLocale?: string;
|
|
2044
|
+
/**
|
|
2045
|
+
* Format to be used for currency when currency format is set to infer from browser
|
|
2046
|
+
*
|
|
2047
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
2048
|
+
*/
|
|
2049
|
+
currencyFormat?: string;
|
|
1956
2050
|
}
|
|
1957
2051
|
export interface LayoutConfig {
|
|
1958
2052
|
}
|
|
@@ -4413,7 +4507,14 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
4413
4507
|
HideSearchBar = "hideSearchBar",
|
|
4414
4508
|
ClientLogLevel = "clientLogLevel",
|
|
4415
4509
|
OverrideNativeConsole = "overrideConsoleLogs",
|
|
4416
|
-
enableAskSage = "enableAskSage"
|
|
4510
|
+
enableAskSage = "enableAskSage",
|
|
4511
|
+
CollapseSearchBarInitially = "collapseSearchBarInitially",
|
|
4512
|
+
EnableCustomColumnGroups = "enableCustomColumnGroups",
|
|
4513
|
+
DateFormatLocale = "dateFormatLocale",
|
|
4514
|
+
NumberFormatLocale = "numberFormatLocale",
|
|
4515
|
+
CurrencyFormat = "currencyFormat",
|
|
4516
|
+
Enable2ColumnLayout = "enable2ColumnLayout",
|
|
4517
|
+
IsFullAppEmbed = "isFullAppEmbed"
|
|
4417
4518
|
}
|
|
4418
4519
|
/**
|
|
4419
4520
|
* ThoughtSpot application pages include actions and menu commands
|
|
@@ -4549,6 +4650,18 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
4549
4650
|
* ```
|
|
4550
4651
|
*/
|
|
4551
4652
|
AddFilter = "addFilter",
|
|
4653
|
+
/**
|
|
4654
|
+
* The **Add Data Panel Objects** action on the data panel v2.
|
|
4655
|
+
* Allows to show action menu to add different objects (like
|
|
4656
|
+
* formulas, parameters) in data panel v2.
|
|
4657
|
+
*
|
|
4658
|
+
* @example
|
|
4659
|
+
* ```js
|
|
4660
|
+
* disabledActions: [Action.AddDataPanelObjects]
|
|
4661
|
+
* ```
|
|
4662
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
4663
|
+
*/
|
|
4664
|
+
AddDataPanelObjects = "addDataPanelObjects",
|
|
4552
4665
|
/**
|
|
4553
4666
|
* Filter configuration options on a Liveboard and Search page.
|
|
4554
4667
|
* Allows configuring filter options when adding filters to a
|
|
@@ -4591,6 +4704,28 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
4591
4704
|
* ```
|
|
4592
4705
|
*/
|
|
4593
4706
|
AddParameter = "addParameter",
|
|
4707
|
+
/**
|
|
4708
|
+
* The **Add Column Set** action on a Answer.
|
|
4709
|
+
* Allows adding column sets to a Answer.
|
|
4710
|
+
*
|
|
4711
|
+
* @example
|
|
4712
|
+
* ```js
|
|
4713
|
+
* disabledActions: [Action.AddColumnSet]
|
|
4714
|
+
* ```
|
|
4715
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
4716
|
+
*/
|
|
4717
|
+
AddColumnSet = "addSimpleCohort",
|
|
4718
|
+
/**
|
|
4719
|
+
* The **Add Query Set** action on a Answer.
|
|
4720
|
+
* Allows adding query sets to a Answer.
|
|
4721
|
+
*
|
|
4722
|
+
* @example
|
|
4723
|
+
* ```js
|
|
4724
|
+
* disabledActions: [Action.AddQuerySet]
|
|
4725
|
+
* ```
|
|
4726
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
4727
|
+
*/
|
|
4728
|
+
AddQuerySet = "addAdvancedCohort",
|
|
4594
4729
|
/**
|
|
4595
4730
|
* @hidden
|
|
4596
4731
|
*/
|
|
@@ -5022,6 +5157,28 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
5022
5157
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
5023
5158
|
*/
|
|
5024
5159
|
CrossFilter = "context-menu-item-cross-filter",
|
|
5160
|
+
/**
|
|
5161
|
+
* The **Sync to Slack** action on Liveboard visualizations.
|
|
5162
|
+
* Allows sending data to third-party apps Slack
|
|
5163
|
+
*
|
|
5164
|
+
* @example
|
|
5165
|
+
* ```js
|
|
5166
|
+
* disabledActions: [Action.SyncToSlack]
|
|
5167
|
+
* ```
|
|
5168
|
+
* @version @version SDK : 1.32.0 | Thoughtspot: 10.1.0.cl
|
|
5169
|
+
*/
|
|
5170
|
+
SyncToSlack = "syncToSlack",
|
|
5171
|
+
/**
|
|
5172
|
+
* The **Sync to Teams** action on Liveboard visualizations.
|
|
5173
|
+
* Allows sending data to third-party apps Team
|
|
5174
|
+
*
|
|
5175
|
+
* @example
|
|
5176
|
+
* ```js
|
|
5177
|
+
* disabledActions: [Action.SyncToTeams]
|
|
5178
|
+
* ```
|
|
5179
|
+
* @version @version SDK : 1.32.0 | Thoughtspot: 10.1.0.cl
|
|
5180
|
+
*/
|
|
5181
|
+
SyncToTeams = "syncToTeams",
|
|
5025
5182
|
/**
|
|
5026
5183
|
* The **Remove** action that appears when cross filters are applied
|
|
5027
5184
|
* on a Liveboard.
|
|
@@ -5324,15 +5481,15 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
5324
5481
|
*/
|
|
5325
5482
|
RemoveFromWatchlist = "removeFromWatchlist",
|
|
5326
5483
|
/**
|
|
5327
|
-
* The **
|
|
5484
|
+
* The **Organise Favourites** action on Homepage Favourite Module.
|
|
5328
5485
|
*
|
|
5329
5486
|
* @example
|
|
5330
5487
|
* ```js
|
|
5331
|
-
* disabledActions: [Action.
|
|
5488
|
+
* disabledActions: [Action.OrganiseFavourites]
|
|
5332
5489
|
* ```
|
|
5333
|
-
* @version SDK : 1.
|
|
5490
|
+
* @version SDK : 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
5334
5491
|
*/
|
|
5335
|
-
|
|
5492
|
+
OrganiseFavourites = "organiseFavourites",
|
|
5336
5493
|
/**
|
|
5337
5494
|
* Action ID for AI Highlights button
|
|
5338
5495
|
*
|
|
@@ -5835,7 +5992,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
|
|
|
5835
5992
|
* @summary TS Sage embed
|
|
5836
5993
|
* @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
|
|
5837
5994
|
*/
|
|
5838
|
-
import {
|
|
5995
|
+
import { DOMSelector, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
5839
5996
|
import { V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
|
|
5840
5997
|
/**
|
|
5841
5998
|
* Configuration for search options
|
|
@@ -5873,7 +6030,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
|
|
|
5873
6030
|
showObjectResults?: boolean;
|
|
5874
6031
|
/**
|
|
5875
6032
|
* flag used by the TS product tour page to show the blue search bar
|
|
5876
|
-
* even after the search is completed. This is different from
|
|
6033
|
+
* even after the search is completed. This is different from Thoughtspot Embedded Sage Embed
|
|
5877
6034
|
* experience where it mimics closer to the non-embed case.
|
|
5878
6035
|
* The Sample questions container is collapsed when this value is set after
|
|
5879
6036
|
* does a search.
|
|
@@ -5884,8 +6041,9 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
|
|
|
5884
6041
|
isProductTour?: boolean;
|
|
5885
6042
|
/**
|
|
5886
6043
|
* Show or hide the search bar title.
|
|
6044
|
+
* @version SDK: 1.29.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
5887
6045
|
*
|
|
5888
|
-
* @
|
|
6046
|
+
* @deprecated Thoughtspot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
|
|
5889
6047
|
*/
|
|
5890
6048
|
hideSearchBarTitle?: boolean;
|
|
5891
6049
|
/**
|
|
@@ -5955,7 +6113,6 @@ declare module '@thoughtspot/visual-embed-sdk/embed/sage' {
|
|
|
5955
6113
|
*/
|
|
5956
6114
|
searchOptions?: SearchOptions;
|
|
5957
6115
|
}
|
|
5958
|
-
export const HiddenActionItemByDefaultForSageEmbed: Action[];
|
|
5959
6116
|
/**
|
|
5960
6117
|
* Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
|
|
5961
6118
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.4",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -175,6 +175,7 @@
|
|
|
175
175
|
"keywords": [
|
|
176
176
|
"thoughtspot",
|
|
177
177
|
"everywhere",
|
|
178
|
+
"embedded",
|
|
178
179
|
"embed",
|
|
179
180
|
"sdk",
|
|
180
181
|
"analytics"
|
package/src/embed/app.spec.ts
CHANGED
|
@@ -289,6 +289,21 @@ describe('App embed tests', () => {
|
|
|
289
289
|
});
|
|
290
290
|
});
|
|
291
291
|
|
|
292
|
+
test('should set enable2ColumnLayout to true in url', async () => {
|
|
293
|
+
const appEmbed = new AppEmbed(getRootEl(), {
|
|
294
|
+
...defaultViewConfig,
|
|
295
|
+
enable2ColumnLayout: true,
|
|
296
|
+
} as AppViewConfig);
|
|
297
|
+
|
|
298
|
+
appEmbed.render();
|
|
299
|
+
await executeAfterWait(() => {
|
|
300
|
+
expectUrlMatchesWithParams(
|
|
301
|
+
getIFrameSrc(),
|
|
302
|
+
`http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&enable2ColumnLayout=true${defaultParamsPost}#/home`,
|
|
303
|
+
);
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
|
|
292
307
|
test('Should add the tag to the iframe src', async () => {
|
|
293
308
|
const appEmbed = new AppEmbed(getRootEl(), {
|
|
294
309
|
...defaultViewConfig,
|
package/src/embed/app.ts
CHANGED
|
@@ -341,6 +341,44 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
|
|
|
341
341
|
* @default false
|
|
342
342
|
*/
|
|
343
343
|
enableAskSage?: boolean;
|
|
344
|
+
/**
|
|
345
|
+
* To set the initial state of the search bar in case of saved-answers.
|
|
346
|
+
*
|
|
347
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
348
|
+
* @default false
|
|
349
|
+
*/
|
|
350
|
+
collapseSearchBarInitially?: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* To enable custom column groups in data panel v2
|
|
353
|
+
*
|
|
354
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
355
|
+
* @default false
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```js
|
|
359
|
+
* const embed = new AppEmbed('#embed', {
|
|
360
|
+
* ... // other app view config
|
|
361
|
+
* enableCustomColumnGroups: true,
|
|
362
|
+
* });
|
|
363
|
+
* ```
|
|
364
|
+
*/
|
|
365
|
+
enableCustomColumnGroups?: boolean;
|
|
366
|
+
/**
|
|
367
|
+
* This flag is used to enable the 2 column layout in liveboard
|
|
368
|
+
*
|
|
369
|
+
* @type {boolean}
|
|
370
|
+
* @default false
|
|
371
|
+
* @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* ```js
|
|
375
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
376
|
+
* ... // other options
|
|
377
|
+
* enable2ColumnLayout: true,
|
|
378
|
+
* })
|
|
379
|
+
* ```
|
|
380
|
+
*/
|
|
381
|
+
enable2ColumnLayout?: boolean;
|
|
344
382
|
}
|
|
345
383
|
|
|
346
384
|
/**
|
|
@@ -387,6 +425,9 @@ export class AppEmbed extends V1Embed {
|
|
|
387
425
|
modularHomeExperience = false,
|
|
388
426
|
isLiveboardHeaderSticky = true,
|
|
389
427
|
enableAskSage,
|
|
428
|
+
collapseSearchBarInitially = false,
|
|
429
|
+
enable2ColumnLayout,
|
|
430
|
+
enableCustomColumnGroups = false,
|
|
390
431
|
} = this.viewConfig;
|
|
391
432
|
|
|
392
433
|
let params = {};
|
|
@@ -399,6 +440,7 @@ export class AppEmbed extends V1Embed {
|
|
|
399
440
|
params[Param.ShowLiveboardTitle] = showLiveboardTitle;
|
|
400
441
|
params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
|
|
401
442
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
443
|
+
params[Param.IsFullAppEmbed] = true;
|
|
402
444
|
|
|
403
445
|
params = this.getBaseQueryParams(params);
|
|
404
446
|
|
|
@@ -420,6 +462,10 @@ export class AppEmbed extends V1Embed {
|
|
|
420
462
|
params[Param.EnableSearchAssist] = enableSearchAssist;
|
|
421
463
|
}
|
|
422
464
|
|
|
465
|
+
if (enable2ColumnLayout !== undefined) {
|
|
466
|
+
params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
|
|
467
|
+
}
|
|
468
|
+
|
|
423
469
|
if (enableAskSage) {
|
|
424
470
|
params[Param.enableAskSage] = enableAskSage;
|
|
425
471
|
}
|
|
@@ -427,6 +473,8 @@ export class AppEmbed extends V1Embed {
|
|
|
427
473
|
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
428
474
|
params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
|
|
429
475
|
params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;
|
|
476
|
+
params[Param.CollapseSearchBarInitially] = collapseSearchBarInitially;
|
|
477
|
+
params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
|
|
430
478
|
const queryParams = getQueryParamString(params, true);
|
|
431
479
|
|
|
432
480
|
return queryParams;
|
|
@@ -110,6 +110,21 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
110
110
|
});
|
|
111
111
|
});
|
|
112
112
|
|
|
113
|
+
test('should set enable2ColumnLayout to true in url', async () => {
|
|
114
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
115
|
+
enable2ColumnLayout: true,
|
|
116
|
+
...defaultViewConfig,
|
|
117
|
+
liveboardId,
|
|
118
|
+
} as LiveboardViewConfig);
|
|
119
|
+
liveboardEmbed.render();
|
|
120
|
+
await executeAfterWait(() => {
|
|
121
|
+
expectUrlMatchesWithParams(
|
|
122
|
+
getIFrameSrc(),
|
|
123
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&enable2ColumnLayout=true${prefixParams}#/embed/viz/${liveboardId}`,
|
|
124
|
+
);
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
|
|
113
128
|
test('should set visible actions as empty array', async () => {
|
|
114
129
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
115
130
|
visibleActions: [],
|
|
@@ -269,6 +284,63 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
269
284
|
expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedHeight, expect.anything());
|
|
270
285
|
});
|
|
271
286
|
});
|
|
287
|
+
|
|
288
|
+
test('should not call setIFrameHeight if currentPath starts with "/embed/viz/"', () => {
|
|
289
|
+
const myObject = new LiveboardEmbed(getRootEl(), {
|
|
290
|
+
...defaultViewConfig,
|
|
291
|
+
fullHeight: true,
|
|
292
|
+
liveboardId,
|
|
293
|
+
} as LiveboardViewConfig) as any;
|
|
294
|
+
const spySetIFrameHeight = jest.spyOn(myObject, 'setIFrameHeight');
|
|
295
|
+
|
|
296
|
+
myObject.render();
|
|
297
|
+
myObject.setIframeHeightForNonEmbedLiveboard({
|
|
298
|
+
data: { currentPath: '/embed/viz/' },
|
|
299
|
+
type: 'Route',
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
// Assert that setIFrameHeight is not called
|
|
303
|
+
expect(spySetIFrameHeight).not.toHaveBeenCalled();
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
test('should not call setIFrameHeight if currentPath starts with "/embed/insights/viz/"', () => {
|
|
307
|
+
const myObject = new LiveboardEmbed(getRootEl(), {
|
|
308
|
+
...defaultViewConfig,
|
|
309
|
+
fullHeight: true,
|
|
310
|
+
liveboardId,
|
|
311
|
+
} as LiveboardViewConfig) as any;
|
|
312
|
+
const spySetIFrameHeight = jest.spyOn(myObject, 'setIFrameHeight');
|
|
313
|
+
|
|
314
|
+
myObject.render();
|
|
315
|
+
myObject.setIframeHeightForNonEmbedLiveboard({
|
|
316
|
+
data: { currentPath: '/embed/insights/viz/' },
|
|
317
|
+
type: 'Route',
|
|
318
|
+
});
|
|
319
|
+
|
|
320
|
+
// Assert that setIFrameHeight is not called
|
|
321
|
+
expect(spySetIFrameHeight).not.toHaveBeenCalled();
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
test('should call setIFrameHeight if currentPath starts with "/some/other/path/"', () => {
|
|
325
|
+
const myObject = new LiveboardEmbed(getRootEl(), {
|
|
326
|
+
...defaultViewConfig,
|
|
327
|
+
fullHeight: true,
|
|
328
|
+
liveboardId,
|
|
329
|
+
} as LiveboardViewConfig) as any;
|
|
330
|
+
const spySetIFrameHeight = jest
|
|
331
|
+
.spyOn(myObject, 'setIFrameHeight')
|
|
332
|
+
.mockImplementation(jest.fn());
|
|
333
|
+
|
|
334
|
+
myObject.render();
|
|
335
|
+
myObject.setIframeHeightForNonEmbedLiveboard({
|
|
336
|
+
data: { currentPath: '/some/other/path/' },
|
|
337
|
+
type: 'Route',
|
|
338
|
+
});
|
|
339
|
+
|
|
340
|
+
// Assert that setIFrameHeight is not called
|
|
341
|
+
expect(spySetIFrameHeight).toHaveBeenCalled();
|
|
342
|
+
});
|
|
343
|
+
|
|
272
344
|
test('Should set the visible vizs', async () => {
|
|
273
345
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
274
346
|
...defaultViewConfig,
|
|
@@ -467,22 +539,23 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
467
539
|
|
|
468
540
|
let resizeObserverCb: any;
|
|
469
541
|
(window as any).ResizeObserver = window.ResizeObserver
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
542
|
+
|| jest.fn().mockImplementation((resizeObserverCbParam) => {
|
|
543
|
+
resizeObserverCb = resizeObserverCbParam;
|
|
544
|
+
return {
|
|
545
|
+
disconnect: jest.fn(),
|
|
546
|
+
observe: jest.fn(),
|
|
547
|
+
unobserve: jest.fn(),
|
|
548
|
+
};
|
|
476
549
|
});
|
|
477
|
-
});
|
|
478
550
|
|
|
479
551
|
libEmbed.preRender();
|
|
480
552
|
|
|
481
553
|
await waitFor(() => !!getIFrameEl());
|
|
482
554
|
|
|
483
555
|
const ts = '__tsEmbed';
|
|
484
|
-
expect(document.getElementById(libEmbed.getPreRenderIds().wrapper)[ts])
|
|
485
|
-
|
|
556
|
+
expect(document.getElementById(libEmbed.getPreRenderIds().wrapper)[ts]).toEqual(
|
|
557
|
+
libEmbed,
|
|
558
|
+
);
|
|
486
559
|
|
|
487
560
|
const testLiveboardId = 'testLiveboardId';
|
|
488
561
|
const newLibEmbed = new LiveboardEmbed(getRootEl(), {
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -256,6 +256,22 @@ export interface LiveboardViewConfig
|
|
|
256
256
|
* ```
|
|
257
257
|
*/
|
|
258
258
|
enableAskSage?: boolean;
|
|
259
|
+
/**
|
|
260
|
+
* This flag is used to enable the 2 column layout in liveboard
|
|
261
|
+
*
|
|
262
|
+
* @type {boolean}
|
|
263
|
+
* @default false
|
|
264
|
+
* @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```js
|
|
268
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
269
|
+
* ... // other options
|
|
270
|
+
* enable2ColumnLayout: true,
|
|
271
|
+
* })
|
|
272
|
+
* ```
|
|
273
|
+
*/
|
|
274
|
+
enable2ColumnLayout?: boolean;
|
|
259
275
|
}
|
|
260
276
|
|
|
261
277
|
/**
|
|
@@ -312,6 +328,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
312
328
|
showLiveboardTitle,
|
|
313
329
|
isLiveboardHeaderSticky = true,
|
|
314
330
|
enableAskSage,
|
|
331
|
+
enable2ColumnLayout,
|
|
315
332
|
} = this.viewConfig;
|
|
316
333
|
|
|
317
334
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -339,6 +356,9 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
339
356
|
if (liveboardV2 !== undefined) {
|
|
340
357
|
params[Param.LiveboardV2Enabled] = liveboardV2;
|
|
341
358
|
}
|
|
359
|
+
if (enable2ColumnLayout !== undefined) {
|
|
360
|
+
params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
|
|
361
|
+
}
|
|
342
362
|
if (hideTabPanel) {
|
|
343
363
|
params[Param.HideTabPanel] = hideTabPanel;
|
|
344
364
|
}
|
|
@@ -409,9 +429,13 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
409
429
|
};
|
|
410
430
|
|
|
411
431
|
private setIframeHeightForNonEmbedLiveboard = (data: MessagePayload) => {
|
|
412
|
-
if (
|
|
413
|
-
|
|
432
|
+
if (
|
|
433
|
+
data.data.currentPath.startsWith('/embed/viz/')
|
|
434
|
+
|| data.data.currentPath.startsWith('/embed/insights/viz/')
|
|
435
|
+
) {
|
|
436
|
+
return;
|
|
414
437
|
}
|
|
438
|
+
this.setIFrameHeight(this.defaultHeight);
|
|
415
439
|
};
|
|
416
440
|
|
|
417
441
|
private setActiveTab(data: { tabId: string }) {
|