@thoughtspot/visual-embed-sdk 1.46.5-beta.1 → 1.47.0
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 +4 -4
- package/cjs/src/css-variables.d.ts +36 -0
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +41 -17
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +26 -47
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +36 -79
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +24 -2
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +18 -33
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +129 -97
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js +2 -0
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +69 -9
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +185 -19
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts +22 -0
- package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.js +57 -0
- package/cjs/src/embed/hostEventClient/utils.js.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js +190 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/cjs/src/embed/liveboard.d.ts +18 -1
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +9 -11
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +29 -71
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +20 -0
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.js +52 -0
- package/cjs/src/embed/spotter-utils.js.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts +2 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.js +54 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +25 -5
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +28 -67
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +2 -1
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +2 -1
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +1 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +2 -4
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +2 -2
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +1 -3
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +1 -36
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +1 -34
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +143 -76
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +118 -47
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +0 -9
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +1 -10
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-DW2wEHqy.js → index-Bm2Hck8q.js} +1 -1
- package/dist/src/css-variables.d.ts +36 -0
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +41 -17
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +24 -2
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/utils.d.ts +22 -0
- package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/dist/src/embed/liveboard.d.ts +18 -1
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +20 -0
- package/dist/src/embed/spotter-utils.d.ts.map +1 -0
- package/dist/src/embed/spotter-utils.spec.d.ts +2 -0
- package/dist/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/errors.d.ts +2 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +2 -2
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -36
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +143 -76
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +0 -9
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +378 -304
- package/dist/tsembed-react.js +366 -294
- package/dist/tsembed.es.js +393 -285
- package/dist/tsembed.js +30798 -30691
- package/dist/visual-embed-sdk-react-full.d.ts +310 -273
- package/dist/visual-embed-sdk-react.d.ts +310 -273
- package/dist/visual-embed-sdk.d.ts +308 -243
- package/lib/package.json +4 -4
- package/lib/src/css-variables.d.ts +36 -0
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +41 -17
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +28 -49
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +36 -79
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +24 -2
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +19 -34
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +131 -99
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js +2 -0
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +69 -9
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +185 -19
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.d.ts +22 -0
- package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.js +49 -0
- package/lib/src/embed/hostEventClient/utils.js.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.js +188 -0
- package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/lib/src/embed/liveboard.d.ts +18 -1
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +9 -11
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +29 -71
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +20 -0
- package/lib/src/embed/spotter-utils.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.js +47 -0
- package/lib/src/embed/spotter-utils.js.map +1 -0
- package/lib/src/embed/spotter-utils.spec.d.ts +2 -0
- package/lib/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.spec.js +52 -0
- package/lib/src/embed/spotter-utils.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +25 -5
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +30 -69
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +2 -1
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +2 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +1 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +1 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +2 -2
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +1 -36
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +0 -33
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +143 -76
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +118 -47
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +0 -9
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +0 -8
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +308 -243
- package/package.json +4 -4
- package/src/css-variables.ts +45 -0
- package/src/embed/app.spec.ts +51 -107
- package/src/embed/app.ts +60 -82
- package/src/embed/conversation.spec.ts +150 -119
- package/src/embed/conversation.ts +34 -58
- package/src/embed/hostEventClient/contracts.ts +31 -0
- package/src/embed/hostEventClient/host-event-client.spec.ts +260 -19
- package/src/embed/hostEventClient/host-event-client.ts +87 -11
- package/src/embed/hostEventClient/utils.spec.ts +225 -0
- package/src/embed/hostEventClient/utils.ts +74 -0
- package/src/embed/liveboard.spec.ts +38 -93
- package/src/embed/liveboard.ts +28 -10
- package/src/embed/spotter-utils.spec.ts +56 -0
- package/src/embed/spotter-utils.ts +65 -0
- package/src/embed/ts-embed.spec.ts +56 -108
- package/src/embed/ts-embed.ts +25 -4
- package/src/errors.ts +2 -1
- package/src/index.ts +2 -5
- package/src/react/all-types-export.ts +0 -3
- package/src/react/index.tsx +15 -59
- package/src/types.ts +206 -138
- package/src/utils.ts +0 -14
- package/cjs/src/embed/sage.d.ts +0 -164
- package/cjs/src/embed/sage.d.ts.map +0 -1
- package/cjs/src/embed/sage.js +0 -88
- package/cjs/src/embed/sage.js.map +0 -1
- package/cjs/src/embed/sage.spec.d.ts +0 -2
- package/cjs/src/embed/sage.spec.d.ts.map +0 -1
- package/cjs/src/embed/sage.spec.js +0 -151
- package/cjs/src/embed/sage.spec.js.map +0 -1
- package/dist/src/embed/sage.d.ts +0 -164
- package/dist/src/embed/sage.d.ts.map +0 -1
- package/dist/src/embed/sage.spec.d.ts +0 -2
- package/dist/src/embed/sage.spec.d.ts.map +0 -1
- package/lib/src/embed/sage.d.ts +0 -164
- package/lib/src/embed/sage.d.ts.map +0 -1
- package/lib/src/embed/sage.js +0 -84
- package/lib/src/embed/sage.js.map +0 -1
- package/lib/src/embed/sage.spec.d.ts +0 -2
- package/lib/src/embed/sage.spec.d.ts.map +0 -1
- package/lib/src/embed/sage.spec.js +0 -148
- package/lib/src/embed/sage.spec.js.map +0 -1
- package/src/embed/sage.spec.ts +0 -206
- package/src/embed/sage.ts +0 -231
package/src/embed/sage.ts
DELETED
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2023
|
|
3
|
-
*
|
|
4
|
-
* Embed ThoughtSpot Sage
|
|
5
|
-
* @summary TS Sage embed
|
|
6
|
-
* @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import { DOMSelector, Param, BaseViewConfig, SearchLiveboardCommonViewConfig } from '../types';
|
|
10
|
-
import { getQueryParamString } from '../utils';
|
|
11
|
-
import { V1Embed } from './ts-embed';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Configuration for search options
|
|
15
|
-
*/
|
|
16
|
-
export interface SearchOptions {
|
|
17
|
-
/**
|
|
18
|
-
* The query string to pass for Natural Language Search.
|
|
19
|
-
*/
|
|
20
|
-
searchQuery: string;
|
|
21
|
-
/**
|
|
22
|
-
* Boolean to define if the search should be executed or not.
|
|
23
|
-
* If it is executed, the focus is placed on the results.
|
|
24
|
-
* If it’s not executed, the focus is placed at the end of
|
|
25
|
-
* the token string in the search bar.
|
|
26
|
-
*/
|
|
27
|
-
executeSearch?: boolean;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* The configuration attributes for the embedded Natural language search view. Based on
|
|
32
|
-
* GPT and LLM.
|
|
33
|
-
* @version SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
34
|
-
*
|
|
35
|
-
* Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
|
|
36
|
-
* @group Embed components
|
|
37
|
-
*/
|
|
38
|
-
export interface SageViewConfig
|
|
39
|
-
extends SearchLiveboardCommonViewConfig, Omit<BaseViewConfig, 'primaryAction' | 'runtimeFilters' | 'runtimeParameters' | 'excludeRuntimeFiltersfromURL' | 'excludeRuntimeParametersfromURL'> {
|
|
40
|
-
/**
|
|
41
|
-
* If set to true, a list of Liveboard and Answers related
|
|
42
|
-
* to the natural language search will be shown below the
|
|
43
|
-
* AI generated answer.
|
|
44
|
-
* @deprecated Currently Liveboard and Answers related
|
|
45
|
-
* to the natural language search will not be shown for sage
|
|
46
|
-
* embed
|
|
47
|
-
*/
|
|
48
|
-
showObjectResults?: boolean;
|
|
49
|
-
/**
|
|
50
|
-
* flag used by the TS product tour page to show the blue search bar
|
|
51
|
-
* even after the search is completed. This is different from ThoughtSpot Embedded
|
|
52
|
-
* Sage Embed experience where it mimics closer to the non-embed case.
|
|
53
|
-
* The Sample questions container is collapsed when this value is set after
|
|
54
|
-
* does a search.
|
|
55
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl
|
|
56
|
-
* @hidden
|
|
57
|
-
*/
|
|
58
|
-
isProductTour?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Show or hide the search bar title.
|
|
61
|
-
* @version SDK: 1.29.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
62
|
-
* @deprecated ThoughtSpot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
|
|
63
|
-
*/
|
|
64
|
-
hideSearchBarTitle?: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Show or hide the Answer header, that is, the `AI Answer` title
|
|
67
|
-
* at the top of the Answer page.
|
|
68
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl
|
|
69
|
-
*/
|
|
70
|
-
hideSageAnswerHeader?: boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Disable the data source selection option.
|
|
73
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
74
|
-
*/
|
|
75
|
-
disableWorksheetChange?: boolean;
|
|
76
|
-
/**
|
|
77
|
-
* Hide the data source selection panel.
|
|
78
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
79
|
-
*/
|
|
80
|
-
hideWorksheetSelector?: boolean;
|
|
81
|
-
/**
|
|
82
|
-
* Show or hide autocomplete suggestions for the search query string.
|
|
83
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
84
|
-
*/
|
|
85
|
-
hideAutocompleteSuggestions?: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Show or hide autocomplete suggestions for the search query string.
|
|
88
|
-
* You can use {@link hideAutocompleteSuggestions} instead.
|
|
89
|
-
* @deprecated
|
|
90
|
-
* Currently, the object suggestions will not be shown for Natural Language Search.
|
|
91
|
-
*/
|
|
92
|
-
showObjectSuggestions?: boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Show or hide sample questions.
|
|
95
|
-
* The sample questions are autogenerated based on the data model
|
|
96
|
-
* selected for the search operation.
|
|
97
|
-
*
|
|
98
|
-
* Supported embed types: `SageEmbed`
|
|
99
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
100
|
-
* @example
|
|
101
|
-
* ```js
|
|
102
|
-
* const embed = new SageEmbed('#tsEmbed', {
|
|
103
|
-
* ... //other embed view config
|
|
104
|
-
* hideSampleQuestions : true,
|
|
105
|
-
* })
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
hideSampleQuestions?: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* The data source GUID (Model GUID) to set on load.
|
|
111
|
-
*/
|
|
112
|
-
dataSource?: string;
|
|
113
|
-
/**
|
|
114
|
-
* Includes the following properties:
|
|
115
|
-
*
|
|
116
|
-
* `searchQuery`: The search query string to pass in the search bar.
|
|
117
|
-
* Supports Natural Language Search queries.
|
|
118
|
-
*
|
|
119
|
-
* `executeSearch`: Boolean to define if the search should be executed or not.
|
|
120
|
-
* If it is executed, the focus is placed on the results.
|
|
121
|
-
* If it’s not executed, the focus is placed at the end of
|
|
122
|
-
* the token string in the search bar.
|
|
123
|
-
*
|
|
124
|
-
* Supported embed types: `SageEmbed`
|
|
125
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
126
|
-
* @example
|
|
127
|
-
* ```js
|
|
128
|
-
* searchOptions: {
|
|
129
|
-
* searchQuery: 'average sales by country and product type',
|
|
130
|
-
* executeSearch: true,
|
|
131
|
-
* }
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
searchOptions?: SearchOptions;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
|
|
138
|
-
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
|
|
139
|
-
*
|
|
140
|
-
* Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
|
|
141
|
-
* @group Embed components
|
|
142
|
-
*/
|
|
143
|
-
export class SageEmbed extends V1Embed {
|
|
144
|
-
/**
|
|
145
|
-
* The view configuration for the embedded ThoughtSpot sage.
|
|
146
|
-
*
|
|
147
|
-
*/
|
|
148
|
-
protected viewConfig: SageViewConfig;
|
|
149
|
-
|
|
150
|
-
constructor(domSelector: DOMSelector, viewConfig: SageViewConfig) {
|
|
151
|
-
viewConfig.embedComponentType = 'SageEmbed';
|
|
152
|
-
super(domSelector, viewConfig);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
protected getEmbedParamsObject() {
|
|
156
|
-
const {
|
|
157
|
-
disableWorksheetChange,
|
|
158
|
-
hideWorksheetSelector,
|
|
159
|
-
showObjectSuggestions,
|
|
160
|
-
dataPanelV2,
|
|
161
|
-
hideSampleQuestions,
|
|
162
|
-
isProductTour,
|
|
163
|
-
hideSageAnswerHeader,
|
|
164
|
-
hideAutocompleteSuggestions,
|
|
165
|
-
} = this.viewConfig;
|
|
166
|
-
|
|
167
|
-
const params = this.getBaseQueryParams();
|
|
168
|
-
params[Param.DataPanelV2Enabled] = !!dataPanelV2;
|
|
169
|
-
params[Param.IsSageEmbed] = true;
|
|
170
|
-
params[Param.DisableWorksheetChange] = !!disableWorksheetChange;
|
|
171
|
-
params[Param.HideWorksheetSelector] = !!hideWorksheetSelector;
|
|
172
|
-
params[Param.HideEurekaSuggestions] = !!hideAutocompleteSuggestions;
|
|
173
|
-
if (showObjectSuggestions) {
|
|
174
|
-
params[Param.HideEurekaSuggestions] = !showObjectSuggestions;
|
|
175
|
-
// support backwards compatibility
|
|
176
|
-
}
|
|
177
|
-
params[Param.HideSampleQuestions] = !!hideSampleQuestions;
|
|
178
|
-
params[Param.IsProductTour] = !!isProductTour;
|
|
179
|
-
params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
|
|
180
|
-
|
|
181
|
-
return params;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
/**
|
|
185
|
-
* Constructs a map of parameters to be passed on to the
|
|
186
|
-
* embedded Eureka or Sage search page.
|
|
187
|
-
* @returns {string} query string
|
|
188
|
-
*/
|
|
189
|
-
protected getEmbedParams(): string {
|
|
190
|
-
const params = this.getEmbedParamsObject();
|
|
191
|
-
return getQueryParamString(params, true);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
/**
|
|
195
|
-
* Construct the URL of the embedded ThoughtSpot sage to be
|
|
196
|
-
* loaded in the iframe
|
|
197
|
-
* @returns {string} iframe url
|
|
198
|
-
*/
|
|
199
|
-
public getIFrameSrc(): string {
|
|
200
|
-
const path = 'eureka';
|
|
201
|
-
const postHashObj: Record<string, any> = {};
|
|
202
|
-
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
203
|
-
const {
|
|
204
|
-
dataSource, searchOptions,
|
|
205
|
-
} = this.viewConfig;
|
|
206
|
-
|
|
207
|
-
if (dataSource) (postHashObj as any)[Param.WorksheetId] = dataSource;
|
|
208
|
-
if (searchOptions?.searchQuery && searchOptions.executeSearch) {
|
|
209
|
-
(postHashObj as any)[Param.executeSearch] = true;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
let sagePostHashParams = new URLSearchParams(postHashObj).toString();
|
|
213
|
-
if (sagePostHashParams) sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
|
|
214
|
-
if (searchOptions?.searchQuery) sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
|
|
215
|
-
// use encodeURIComponent for query instead of URLSearchParams
|
|
216
|
-
// as it adds + instead of %20 for spaces
|
|
217
|
-
return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Render the embedded ThoughtSpot Sage
|
|
222
|
-
* @returns {SageEmbed} Eureka/Sage embed
|
|
223
|
-
*/
|
|
224
|
-
public async render(): Promise<SageEmbed> {
|
|
225
|
-
await super.render();
|
|
226
|
-
const src = this.getIFrameSrc();
|
|
227
|
-
await this.renderV1Embed(src);
|
|
228
|
-
|
|
229
|
-
return this;
|
|
230
|
-
}
|
|
231
|
-
}
|