@thoughtspot/visual-embed-sdk 1.26.6 → 1.26.7
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 +2 -2
- package/cjs/package.json +1 -1
- package/cjs/src/auth.d.ts +4 -4
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +16 -9
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/embed/app.d.ts +15 -15
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +4 -3
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +5 -4
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +1 -1
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +9 -6
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/base.spec.js +4 -3
- package/cjs/src/embed/base.spec.js.map +1 -1
- package/cjs/src/embed/embed.spec.js +2 -1
- package/cjs/src/embed/embed.spec.js.map +1 -1
- package/cjs/src/embed/embedConfig.d.ts +2 -1
- package/cjs/src/embed/embedConfig.d.ts.map +1 -1
- package/cjs/src/embed/embedConfig.js +2 -0
- package/cjs/src/embed/embedConfig.js.map +1 -1
- package/cjs/src/embed/events.spec.js +3 -2
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +35 -23
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +8 -4
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +2 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +48 -30
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +7 -6
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/sage.spec.js +3 -3
- package/cjs/src/embed/sage.spec.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +22 -6
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +35 -16
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +10 -6
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +10 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +2 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +45 -22
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +153 -32
- package/cjs/src/embed/ts-embed.spec.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/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.d.ts +1 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +2 -1
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +2 -2
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +742 -237
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +653 -169
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/authService.d.ts.map +1 -1
- package/cjs/src/utils/authService/authService.js +3 -2
- package/cjs/src/utils/authService/authService.js.map +1 -1
- package/cjs/src/utils/authService/authService.spec.js +3 -2
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.js +2 -1
- package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -4
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +2 -4
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/logger.d.ts +18 -0
- package/cjs/src/utils/logger.d.ts.map +1 -0
- package/cjs/src/utils/logger.js +80 -0
- package/cjs/src/utils/logger.js.map +1 -0
- package/cjs/src/utils/logger.spec.d.ts +25 -0
- package/cjs/src/utils/logger.spec.d.ts.map +1 -0
- package/cjs/src/utils/logger.spec.js +116 -0
- package/cjs/src/utils/logger.spec.js.map +1 -0
- package/cjs/src/utils/processData.d.ts +6 -0
- package/cjs/src/utils/processData.d.ts.map +1 -1
- package/cjs/src/utils/processData.js +5 -1
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processTrigger.js +1 -1
- package/dist/src/auth.d.ts +4 -4
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +15 -15
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +1 -1
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/embedConfig.d.ts +2 -1
- package/dist/src/embed/embedConfig.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +35 -23
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +48 -30
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +22 -6
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +35 -16
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +2 -1
- package/dist/src/embed/ts-embed.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/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +742 -237
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/authService.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -4
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/logger.d.ts +18 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.spec.d.ts +25 -0
- package/dist/src/utils/logger.spec.d.ts.map +1 -0
- package/dist/src/utils/processData.d.ts +6 -0
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +3716 -3107
- package/dist/tsembed-react.js +3620 -3012
- package/dist/tsembed.es.js +9830 -9212
- package/dist/tsembed.js +15079 -14462
- package/dist/visual-embed-sdk-react-full.d.ts +923 -332
- package/dist/visual-embed-sdk-react.d.ts +923 -332
- package/dist/visual-embed-sdk.d.ts +923 -332
- package/lib/package.json +1 -1
- package/lib/src/auth.d.ts +4 -4
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +17 -10
- package/lib/src/auth.js.map +1 -1
- package/lib/src/embed/app.d.ts +15 -15
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +4 -3
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +5 -4
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +1 -1
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +9 -6
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js +5 -4
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/embed.spec.js +2 -1
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/embedConfig.d.ts +2 -1
- package/lib/src/embed/embedConfig.d.ts.map +1 -1
- package/lib/src/embed/embedConfig.js +2 -0
- package/lib/src/embed/embedConfig.js.map +1 -1
- package/lib/src/embed/events.spec.js +3 -2
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +35 -23
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +8 -4
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +2 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +48 -30
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +7 -6
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/sage.spec.js +3 -3
- package/lib/src/embed/sage.spec.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +22 -6
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +35 -16
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +11 -7
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +10 -0
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +2 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +48 -25
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +153 -32
- package/lib/src/embed/ts-embed.spec.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/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.d.ts +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +1 -1
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +2 -2
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +742 -237
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +652 -168
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.d.ts.map +1 -1
- package/lib/src/utils/authService/authService.js +3 -2
- package/lib/src/utils/authService/authService.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +4 -3
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.js +2 -1
- package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -4
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +2 -4
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/logger.d.ts +18 -0
- package/lib/src/utils/logger.d.ts.map +1 -0
- package/lib/src/utils/logger.js +74 -0
- package/lib/src/utils/logger.js.map +1 -0
- package/lib/src/utils/logger.spec.d.ts +25 -0
- package/lib/src/utils/logger.spec.d.ts.map +1 -0
- package/lib/src/utils/logger.spec.js +93 -0
- package/lib/src/utils/logger.spec.js.map +1 -0
- package/lib/src/utils/processData.d.ts +6 -0
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +4 -1
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processTrigger.js +1 -1
- package/lib/src/visual-embed-sdk.d.ts +927 -336
- package/package.json +1 -1
- package/src/auth.ts +20 -13
- package/src/embed/app.spec.ts +5 -4
- package/src/embed/app.ts +23 -22
- package/src/embed/base.spec.ts +6 -5
- package/src/embed/base.ts +18 -11
- package/src/embed/embed.spec.ts +2 -1
- package/src/embed/embedConfig.ts +2 -0
- package/src/embed/events.spec.ts +3 -2
- package/src/embed/liveboard.spec.ts +2 -1
- package/src/embed/liveboard.ts +43 -27
- package/src/embed/sage.spec.ts +3 -3
- package/src/embed/sage.ts +54 -36
- package/src/embed/search-bar.tsx +22 -6
- package/src/embed/search.spec.ts +13 -0
- package/src/embed/search.ts +46 -21
- package/src/embed/ts-embed.spec.ts +182 -43
- package/src/embed/ts-embed.ts +78 -59
- package/src/index.ts +2 -0
- package/src/mixpanel-service.ts +2 -1
- package/src/react/index.spec.tsx +2 -2
- package/src/react/index.tsx +1 -0
- package/src/types.ts +753 -245
- package/src/utils/authService/authService.spec.ts +7 -6
- package/src/utils/authService/authService.ts +4 -2
- package/src/utils/authService/tokenizedAuthService.ts +2 -1
- package/src/utils/graphql/answerService/answerService.ts +2 -4
- package/src/utils/logger.spec.ts +108 -0
- package/src/utils/logger.ts +88 -0
- package/src/utils/processData.ts +4 -1
- package/src/utils/processTrigger.ts +1 -1
package/src/embed/sage.ts
CHANGED
|
@@ -18,14 +18,14 @@ import { V1Embed } from './ts-embed';
|
|
|
18
18
|
*/
|
|
19
19
|
export interface SearchOptions {
|
|
20
20
|
/**
|
|
21
|
-
* The query string to
|
|
21
|
+
* The query string to pass for Natural Language Search.
|
|
22
22
|
*/
|
|
23
23
|
searchQuery: string;
|
|
24
24
|
/**
|
|
25
|
-
* Boolean to
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* the
|
|
25
|
+
* Boolean to define if the search should be executed or not.
|
|
26
|
+
* If it is executed, the focus is placed on the results.
|
|
27
|
+
* If it’s not executed, the focus is placed at the end of
|
|
28
|
+
* the token string in the search bar.
|
|
29
29
|
*/
|
|
30
30
|
executeSearch?: boolean;
|
|
31
31
|
}
|
|
@@ -34,7 +34,7 @@ export interface SearchOptions {
|
|
|
34
34
|
* The configuration attributes for the embedded Natural language search view. Based on
|
|
35
35
|
* GPT and LLM.
|
|
36
36
|
*
|
|
37
|
-
* @version: SDK: 1.23.0 | ThoughtSpot: 9.
|
|
37
|
+
* @version: SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
38
38
|
* @group Embed components
|
|
39
39
|
*/
|
|
40
40
|
export interface SageViewConfig
|
|
@@ -43,11 +43,11 @@ export interface SageViewConfig
|
|
|
43
43
|
'hiddenHomepageModules' | 'hiddenHomeLeftNavItems' | 'hiddenTabs' | 'visibleTabs' | 'reorderedHomepageModules'
|
|
44
44
|
> {
|
|
45
45
|
/**
|
|
46
|
-
* If set to true, a list of
|
|
46
|
+
* If set to true, a list of Liveboard and Answers related
|
|
47
47
|
* to the natural language search will be shown below the
|
|
48
48
|
* AI generated answer.
|
|
49
49
|
*
|
|
50
|
-
* @deprecated Currently
|
|
50
|
+
* @deprecated Currently Liveboard and Answers related
|
|
51
51
|
* to the natural language search will not be shown for sage
|
|
52
52
|
* embed
|
|
53
53
|
*/
|
|
@@ -64,57 +64,75 @@ export interface SageViewConfig
|
|
|
64
64
|
*/
|
|
65
65
|
isProductTour?: boolean;
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* Show or hide the search bar title.
|
|
68
68
|
*
|
|
69
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl
|
|
69
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
70
70
|
*/
|
|
71
71
|
hideSearchBarTitle?: boolean;
|
|
72
72
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
73
|
+
* Show or hide the Answer header, that is, the `AI Answer` title
|
|
74
|
+
* at the top of the Answer page.
|
|
75
75
|
*
|
|
76
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.
|
|
76
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.10.0.cl
|
|
77
77
|
*/
|
|
78
78
|
hideSageAnswerHeader?: boolean;
|
|
79
79
|
/**
|
|
80
|
-
*
|
|
80
|
+
* Disable the worksheet selection option.
|
|
81
81
|
*
|
|
82
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.9.0.
|
|
82
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
83
83
|
*/
|
|
84
84
|
disableWorksheetChange?: boolean;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* Hide the worksheet selection panel.
|
|
87
|
+
*
|
|
88
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
87
89
|
*/
|
|
88
90
|
hideWorksheetSelector?: boolean;
|
|
89
91
|
/**
|
|
90
|
-
*
|
|
91
|
-
* default false
|
|
92
|
+
* Show or hide autocomplete suggestions for the search query string.
|
|
92
93
|
*
|
|
93
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.9.0.
|
|
94
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
94
95
|
*/
|
|
95
96
|
hideAutocompleteSuggestions?: boolean;
|
|
96
97
|
/**
|
|
97
|
-
*
|
|
98
|
+
* Show or hide autocomplete suggestions for the search query string.
|
|
98
99
|
*
|
|
99
|
-
* @deprecated
|
|
100
|
-
*
|
|
100
|
+
* @deprecated
|
|
101
|
+
* Currently, the object suggestions will not be shown for Natural Language Search.
|
|
102
|
+
* You can use {@link hideAutocompleteSuggestions} instead.
|
|
101
103
|
*/
|
|
102
104
|
showObjectSuggestions?: boolean;
|
|
103
105
|
/**
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
+
* Show or hide sample questions.
|
|
107
|
+
* The sample questions are autogenerated based on the worksheet
|
|
108
|
+
* selected for the search operation.
|
|
106
109
|
*
|
|
107
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.
|
|
110
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
108
111
|
*/
|
|
109
112
|
hideSampleQuestions?: boolean;
|
|
110
113
|
/**
|
|
111
|
-
* The data source GUID to set on load.
|
|
114
|
+
* The data source GUID (Worksheet GUID) to set on load.
|
|
112
115
|
*/
|
|
113
116
|
dataSource?: string;
|
|
114
117
|
/**
|
|
115
|
-
*
|
|
118
|
+
* Includes the following properties:
|
|
116
119
|
*
|
|
117
|
-
*
|
|
120
|
+
* `searchQuery`: The search query string to pass in the search bar.
|
|
121
|
+
* Supports Natural Language Search queries.
|
|
122
|
+
*
|
|
123
|
+
* `executeSearch`: Boolean to define if the search should be executed or not.
|
|
124
|
+
* If it is executed, the focus is placed on the results.
|
|
125
|
+
* If it’s not executed, the focus is placed at the end of
|
|
126
|
+
* the token string in the search bar.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```js
|
|
130
|
+
* searchOptions: {
|
|
131
|
+
* searchQuery: 'average sales by country and product type',
|
|
132
|
+
* executeSearch: true,
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
* @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
118
136
|
*/
|
|
119
137
|
searchOptions?: SearchOptions;
|
|
120
138
|
}
|
|
@@ -129,7 +147,7 @@ export const HiddenActionItemByDefaultForSageEmbed = [
|
|
|
129
147
|
Action.Share,
|
|
130
148
|
];
|
|
131
149
|
/**
|
|
132
|
-
* Embed ThoughtSpot LLM and GPT
|
|
150
|
+
* Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
|
|
133
151
|
*
|
|
134
152
|
* @version: SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
|
|
135
153
|
* @group Embed components
|
|
@@ -193,7 +211,7 @@ export class SageEmbed extends V1Embed {
|
|
|
193
211
|
*
|
|
194
212
|
* @returns {string} iframe url
|
|
195
213
|
*/
|
|
196
|
-
|
|
214
|
+
public getIFrameSrc(): string {
|
|
197
215
|
const path = 'eureka';
|
|
198
216
|
const postHashObj = {};
|
|
199
217
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
@@ -202,15 +220,15 @@ export class SageEmbed extends V1Embed {
|
|
|
202
220
|
} = this.viewConfig;
|
|
203
221
|
|
|
204
222
|
if (dataSource) postHashObj[Param.WorksheetId] = dataSource;
|
|
205
|
-
if (searchOptions?.searchQuery) {
|
|
206
|
-
postHashObj[Param.
|
|
207
|
-
if (searchOptions.executeSearch) {
|
|
208
|
-
postHashObj[Param.executeSearch] = true;
|
|
209
|
-
}
|
|
223
|
+
if (searchOptions?.searchQuery && searchOptions.executeSearch) {
|
|
224
|
+
postHashObj[Param.executeSearch] = true;
|
|
210
225
|
}
|
|
226
|
+
|
|
211
227
|
let sagePostHashParams = new URLSearchParams(postHashObj).toString();
|
|
212
228
|
if (sagePostHashParams) sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
|
|
213
|
-
|
|
229
|
+
if (searchOptions?.searchQuery) sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
|
|
230
|
+
// use encodeURIComponent for query instead of URLSearchParams
|
|
231
|
+
// as it adds + instead of %20 for spaces
|
|
214
232
|
return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
|
|
215
233
|
}
|
|
216
234
|
|
package/src/embed/search-bar.tsx
CHANGED
|
@@ -20,25 +20,41 @@ export interface SearchBarViewConfig
|
|
|
20
20
|
> {
|
|
21
21
|
/**
|
|
22
22
|
* The array of data source GUIDs to set on load.
|
|
23
|
-
* Only a single
|
|
23
|
+
* Only a single data source is supported currently.
|
|
24
24
|
*
|
|
25
|
-
* @deprecated Use dataSource instead
|
|
25
|
+
* @deprecated Use `dataSource` instead
|
|
26
26
|
*/
|
|
27
27
|
dataSources?: string[];
|
|
28
28
|
/**
|
|
29
29
|
* The array of data source GUIDs to set on load.
|
|
30
30
|
*
|
|
31
|
-
* @version: SDK: 1.19.0
|
|
31
|
+
* @version: SDK: 1.19.0, ThoughtSpot 9.0.0.cl, 9.0.1.sw
|
|
32
32
|
*/
|
|
33
33
|
dataSource?: string;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Boolean to define if the last selected data source should be used
|
|
36
36
|
*
|
|
37
|
-
* @version: SDK: 1.24.0
|
|
37
|
+
* @version: SDK: 1.24.0, ThoughtSpot 9.5.0.cl, 9.5.0.sw
|
|
38
38
|
*/
|
|
39
39
|
useLastSelectedSources?: boolean;
|
|
40
40
|
/**
|
|
41
|
-
* Configuration for search options
|
|
41
|
+
* Configuration for search options.
|
|
42
|
+
* Includes the following properties:
|
|
43
|
+
*
|
|
44
|
+
* `searchTokenString`: Search tokens to pass in the query.
|
|
45
|
+
*
|
|
46
|
+
* `executeSearch`: Boolean to define if the search should be executed or not.
|
|
47
|
+
* If it is executed, the focus is placed on the results.
|
|
48
|
+
* If it’s not executed, the focus is placed at the end of
|
|
49
|
+
* the token string in the search bar.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```js
|
|
53
|
+
* searchOptions: {
|
|
54
|
+
* searchTokenString: '[quantity purchased] [region]',
|
|
55
|
+
* executeSearch: true,
|
|
56
|
+
* }
|
|
57
|
+
* ```
|
|
42
58
|
*/
|
|
43
59
|
searchOptions?: SearchOptions;
|
|
44
60
|
}
|
package/src/embed/search.spec.ts
CHANGED
|
@@ -411,4 +411,17 @@ describe('Search embed tests', () => {
|
|
|
411
411
|
);
|
|
412
412
|
});
|
|
413
413
|
});
|
|
414
|
+
test('should set hideSearchBar to true if hideSearchBar flag is true', async () => {
|
|
415
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
416
|
+
...defaultViewConfig,
|
|
417
|
+
hideSearchBar: true,
|
|
418
|
+
});
|
|
419
|
+
searchEmbed.render();
|
|
420
|
+
await executeAfterWait(() => {
|
|
421
|
+
expectUrlMatchesWithParams(
|
|
422
|
+
getIFrameSrc(),
|
|
423
|
+
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&enableDataPanelV2=false&useLastSelectedSources=false&hideSearchBar=true${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
424
|
+
);
|
|
425
|
+
});
|
|
426
|
+
});
|
|
414
427
|
});
|
package/src/embed/search.ts
CHANGED
|
@@ -7,34 +7,35 @@
|
|
|
7
7
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
+
import { getReleaseVersion } from '../auth';
|
|
11
|
+
import { ERROR_MESSAGE } from '../errors';
|
|
10
12
|
import {
|
|
11
|
-
|
|
13
|
+
Action, DOMSelector, DataSourceVisualMode, Param, ViewConfig,
|
|
12
14
|
} from '../types';
|
|
13
15
|
import {
|
|
14
|
-
getQueryParamString,
|
|
15
16
|
checkReleaseVersionInBeta,
|
|
16
17
|
getFilterQuery,
|
|
18
|
+
getQueryParamString,
|
|
17
19
|
getRuntimeParameters,
|
|
18
20
|
} from '../utils';
|
|
19
|
-
import { TsEmbed } from './ts-embed';
|
|
20
|
-
import { ERROR_MESSAGE } from '../errors';
|
|
21
21
|
import { getAuthPromise } from './base';
|
|
22
|
-
import { getReleaseVersion } from '../auth';
|
|
23
22
|
import { getEmbedConfig } from './embedConfig';
|
|
23
|
+
import { TsEmbed } from './ts-embed';
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* Configuration for search options
|
|
26
|
+
* Configuration for search options.
|
|
27
|
+
*
|
|
27
28
|
*/
|
|
28
29
|
export interface SearchOptions {
|
|
29
30
|
/**
|
|
30
|
-
*
|
|
31
|
+
* Search tokens to pass in the query.
|
|
31
32
|
*/
|
|
32
33
|
searchTokenString: string;
|
|
33
34
|
/**
|
|
34
|
-
* Boolean to
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* the
|
|
35
|
+
* Boolean to define if the search should be executed or not.
|
|
36
|
+
* If it is executed, the focus is placed on the results.
|
|
37
|
+
* If it’s not executed, the focus is placed at the end of
|
|
38
|
+
* the token string in the search bar.
|
|
38
39
|
*/
|
|
39
40
|
executeSearch?: boolean;
|
|
40
41
|
}
|
|
@@ -59,11 +60,11 @@ export interface SearchViewConfig
|
|
|
59
60
|
*/
|
|
60
61
|
collapseDataSources?: boolean;
|
|
61
62
|
/**
|
|
62
|
-
*
|
|
63
|
+
* Show or hide the data sources panel.
|
|
63
64
|
*/
|
|
64
65
|
hideDataSources?: boolean;
|
|
65
66
|
/**
|
|
66
|
-
*
|
|
67
|
+
* Show or hide the charts and tables in search answers.
|
|
67
68
|
* This attribute can be used to create a custom visualization
|
|
68
69
|
* using raw answer data.
|
|
69
70
|
*/
|
|
@@ -85,9 +86,9 @@ export interface SearchViewConfig
|
|
|
85
86
|
forceTable?: boolean;
|
|
86
87
|
/**
|
|
87
88
|
* The array of data source GUIDs to set on load.
|
|
88
|
-
* Only a single
|
|
89
|
+
* Only a single data source is supported currently.
|
|
89
90
|
*
|
|
90
|
-
* @deprecated Use dataSource instead
|
|
91
|
+
* @deprecated Use `dataSource` instead.
|
|
91
92
|
*/
|
|
92
93
|
dataSources?: string[];
|
|
93
94
|
/**
|
|
@@ -99,11 +100,29 @@ export interface SearchViewConfig
|
|
|
99
100
|
/**
|
|
100
101
|
* The initial search query to load the answer with.
|
|
101
102
|
*
|
|
102
|
-
* @deprecated
|
|
103
|
+
* @deprecated
|
|
104
|
+
*
|
|
105
|
+
* Use {@link searchOptions} instead.
|
|
103
106
|
*/
|
|
104
107
|
searchQuery?: string;
|
|
105
108
|
/**
|
|
106
|
-
* Configuration for search options
|
|
109
|
+
* Configuration for search options.
|
|
110
|
+
* Includes the following properties:
|
|
111
|
+
*
|
|
112
|
+
* `searchTokenString`: Search tokens to pass in the query.
|
|
113
|
+
*
|
|
114
|
+
* `executeSearch`: Boolean to define if the search should be executed or not.
|
|
115
|
+
* If it is executed, the focus is placed on the results.
|
|
116
|
+
* If it’s not executed, the focus is placed at the end of
|
|
117
|
+
* the token string in the search bar.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```js
|
|
121
|
+
* searchOptions: {
|
|
122
|
+
* searchTokenString: '[quantity purchased] [region]',
|
|
123
|
+
* executeSearch: true,
|
|
124
|
+
* }
|
|
125
|
+
* ```
|
|
107
126
|
*/
|
|
108
127
|
searchOptions?: SearchOptions;
|
|
109
128
|
/**
|
|
@@ -111,10 +130,10 @@ export interface SearchViewConfig
|
|
|
111
130
|
*/
|
|
112
131
|
answerId?: string;
|
|
113
132
|
/**
|
|
114
|
-
* If set to true, search page will render without the Search Bar
|
|
133
|
+
* If set to true, the search page will render without the Search Bar
|
|
115
134
|
* The chart/table should still be visible.
|
|
116
135
|
*
|
|
117
|
-
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
136
|
+
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw
|
|
118
137
|
*/
|
|
119
138
|
hideSearchBar?: boolean;
|
|
120
139
|
/**
|
|
@@ -183,6 +202,7 @@ export class SearchEmbed extends TsEmbed {
|
|
|
183
202
|
dataSource,
|
|
184
203
|
dataSources,
|
|
185
204
|
excludeRuntimeFiltersfromURL,
|
|
205
|
+
hideSearchBar,
|
|
186
206
|
dataPanelV2 = false,
|
|
187
207
|
useLastSelectedSources = false,
|
|
188
208
|
runtimeParameters,
|
|
@@ -219,6 +239,10 @@ export class SearchEmbed extends TsEmbed {
|
|
|
219
239
|
queryParams[Param.ForceTable] = true;
|
|
220
240
|
}
|
|
221
241
|
|
|
242
|
+
if (hideSearchBar) {
|
|
243
|
+
queryParams[Param.HideSearchBar] = true;
|
|
244
|
+
}
|
|
245
|
+
|
|
222
246
|
queryParams[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
223
247
|
queryParams[Param.DataSourceMode] = this.getDataSourceMode();
|
|
224
248
|
|
|
@@ -251,7 +275,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
251
275
|
* @param answerId The GUID of a saved answer
|
|
252
276
|
* @param dataSources A list of data source GUIDs
|
|
253
277
|
*/
|
|
254
|
-
|
|
278
|
+
public getIFrameSrc(): string {
|
|
279
|
+
const { answerId } = this.viewConfig;
|
|
255
280
|
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
256
281
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
257
282
|
|
|
@@ -265,7 +290,7 @@ export class SearchEmbed extends TsEmbed {
|
|
|
265
290
|
super.render();
|
|
266
291
|
const { answerId } = this.viewConfig;
|
|
267
292
|
|
|
268
|
-
const src = this.getIFrameSrc(
|
|
293
|
+
const src = this.getIFrameSrc();
|
|
269
294
|
this.renderIFrame(src);
|
|
270
295
|
getAuthPromise().then(() => {
|
|
271
296
|
if (
|