@thoughtspot/visual-embed-sdk 1.20.0-prerender.2 → 1.20.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/dist/src/auth.d.ts +2 -38
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/config.d.ts +0 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +5 -17
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +9 -20
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +5 -17
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +0 -3
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +5 -9
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +6 -43
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +0 -8
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/util.d.ts +0 -4
- package/dist/src/react/util.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +2 -11
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +76 -273
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/answerService.d.ts +0 -7
- package/dist/src/utils/answerService.d.ts.map +1 -1
- package/dist/src/utils/authService.d.ts +0 -30
- package/dist/src/utils/authService.d.ts.map +1 -1
- package/dist/src/utils/processData.d.ts +0 -12
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +0 -7
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +0 -12
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed.es.js +262 -637
- package/dist/tsembed.js +261 -629
- package/lib/package.json +8 -3
- package/lib/src/auth.d.ts +2 -38
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +25 -70
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.js +5 -14
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/config.d.ts +0 -1
- package/lib/src/config.d.ts.map +1 -1
- package/lib/src/config.js +3 -5
- package/lib/src/config.js.map +1 -1
- package/lib/src/config.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +5 -17
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +15 -25
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +12 -12
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +9 -20
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +15 -31
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/embed.spec.js +1 -1
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +5 -17
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +37 -49
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +30 -37
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +26 -14
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +0 -3
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +6 -5
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +5 -9
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +14 -18
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +19 -16
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/searchEmbed-basic-auth.spec.js +0 -4
- package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +6 -43
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +72 -117
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +24 -23
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js.map +1 -1
- 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 +0 -8
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +1 -13
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/mixpanel-service.spec.js.map +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +6 -6
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +6 -15
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/react/util.d.ts +0 -4
- package/lib/src/react/util.d.ts.map +1 -1
- package/lib/src/react/util.js +0 -4
- package/lib/src/react/util.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +2 -11
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +25 -36
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +76 -273
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +54 -200
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/answerService.d.ts +0 -7
- package/lib/src/utils/answerService.d.ts.map +1 -1
- package/lib/src/utils/answerService.js +0 -7
- package/lib/src/utils/answerService.js.map +1 -1
- package/lib/src/utils/answerService.spec.js.map +1 -1
- package/lib/src/utils/authService.d.ts +0 -30
- package/lib/src/utils/authService.d.ts.map +1 -1
- package/lib/src/utils/authService.js +2 -39
- package/lib/src/utils/authService.js.map +1 -1
- package/lib/src/utils/authService.spec.js.map +1 -1
- package/lib/src/utils/processData.d.ts +0 -12
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +5 -33
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +0 -7
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +3 -17
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts +0 -12
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +19 -24
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +102 -406
- package/package.json +8 -3
- package/src/auth.spec.ts +150 -68
- package/src/auth.ts +108 -102
- package/src/config.spec.ts +4 -2
- package/src/config.ts +3 -5
- package/src/embed/app.spec.ts +14 -25
- package/src/embed/app.ts +35 -47
- package/src/embed/base.spec.ts +9 -3
- package/src/embed/base.ts +53 -51
- package/src/embed/embed.spec.ts +6 -5
- package/src/embed/liveboard.spec.ts +37 -56
- package/src/embed/liveboard.ts +64 -66
- package/src/embed/pinboard.spec.ts +29 -26
- package/src/embed/search-bar.tsx +8 -10
- package/src/embed/search.spec.ts +21 -31
- package/src/embed/search.ts +25 -26
- package/src/embed/searchEmbed-basic-auth.spec.ts +28 -22
- package/src/embed/ts-embed.spec.ts +148 -70
- package/src/embed/ts-embed.ts +157 -147
- package/src/errors.ts +6 -3
- package/src/index.ts +10 -4
- package/src/mixpanel-service.spec.ts +3 -1
- package/src/mixpanel-service.ts +1 -13
- package/src/react/index.spec.tsx +13 -37
- package/src/react/index.tsx +57 -38
- package/src/react/util.ts +4 -8
- package/src/test/test-utils.ts +39 -43
- package/src/types.ts +78 -270
- package/src/utils/answerService.spec.ts +5 -3
- package/src/utils/answerService.ts +17 -21
- package/src/utils/authService.spec.ts +41 -26
- package/src/utils/authService.ts +21 -47
- package/src/utils/processData.spec.ts +59 -26
- package/src/utils/processData.ts +14 -36
- package/src/utils/processTrigger.spec.ts +6 -1
- package/src/utils/processTrigger.ts +9 -18
- package/src/utils.spec.ts +12 -8
- package/src/utils.ts +26 -25
package/src/embed/search.ts
CHANGED
|
@@ -15,7 +15,11 @@ import {
|
|
|
15
15
|
ViewConfig,
|
|
16
16
|
RuntimeFilter,
|
|
17
17
|
} from '../types';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
getQueryParamString,
|
|
20
|
+
checkReleaseVersionInBeta,
|
|
21
|
+
getFilterQuery,
|
|
22
|
+
} from '../utils';
|
|
19
23
|
import { TsEmbed } from './ts-embed';
|
|
20
24
|
import { version } from '../../package.json';
|
|
21
25
|
import { ERROR_MESSAGE } from '../errors';
|
|
@@ -33,8 +37,7 @@ export interface SearchOptions {
|
|
|
33
37
|
/**
|
|
34
38
|
* Boolean to determine if the search should be executed or not.
|
|
35
39
|
* if it is executed, put the focus on the results.
|
|
36
|
-
* if it’s not executed, put the focus in the search bar - at the end of
|
|
37
|
-
* the tokens
|
|
40
|
+
* if it’s not executed, put the focus in the search bar - at the end of the tokens
|
|
38
41
|
*/
|
|
39
42
|
executeSearch?: boolean;
|
|
40
43
|
}
|
|
@@ -60,9 +63,12 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
60
63
|
* using raw answer data.
|
|
61
64
|
*/
|
|
62
65
|
hideResults?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* If set to true, expands all the data sources panel.
|
|
68
|
+
*/
|
|
69
|
+
expandAllDataSource?: boolean;
|
|
63
70
|
/**
|
|
64
71
|
* If set to true, the Search Assist feature is enabled.
|
|
65
|
-
*
|
|
66
72
|
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1-sw
|
|
67
73
|
*/
|
|
68
74
|
enableSearchAssist?: boolean;
|
|
@@ -74,19 +80,16 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
74
80
|
/**
|
|
75
81
|
* The array of data source GUIDs to set on load.
|
|
76
82
|
* Only a single dataSource supported currently.
|
|
77
|
-
*
|
|
78
83
|
* @deprecated Use dataSource instead
|
|
79
84
|
*/
|
|
80
85
|
dataSources?: string[];
|
|
81
86
|
/**
|
|
82
87
|
* The array of data source GUIDs to set on load.
|
|
83
|
-
*
|
|
84
88
|
* @version: SDK: 1.19.0
|
|
85
89
|
*/
|
|
86
90
|
dataSource?: string;
|
|
87
91
|
/**
|
|
88
92
|
* The initial search query to load the answer with.
|
|
89
|
-
*
|
|
90
93
|
* @deprecated Use {@link searchOptions} instead
|
|
91
94
|
*/
|
|
92
95
|
searchQuery?: string;
|
|
@@ -101,7 +104,6 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
101
104
|
/**
|
|
102
105
|
* If set to true, search page will render without the Search Bar
|
|
103
106
|
* The chart/table should still be visible.
|
|
104
|
-
*
|
|
105
107
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
106
108
|
*/
|
|
107
109
|
hideSearchBar?: boolean;
|
|
@@ -147,16 +149,23 @@ export class SearchEmbed extends TsEmbed {
|
|
|
147
149
|
return dataSourceMode;
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
|
|
152
|
+
/**
|
|
153
|
+
* Construct the URL of the embedded ThoughtSpot search to be
|
|
154
|
+
* loaded in the iframe
|
|
155
|
+
* @param answerId The GUID of a saved answer
|
|
156
|
+
* @param dataSources A list of data source GUIDs
|
|
157
|
+
*/
|
|
158
|
+
private getIFrameSrc(answerId: string, dataSources?: string[]) {
|
|
151
159
|
const {
|
|
152
160
|
hideResults,
|
|
161
|
+
expandAllDataSource,
|
|
153
162
|
enableSearchAssist,
|
|
154
163
|
forceTable,
|
|
155
164
|
searchOptions,
|
|
156
165
|
runtimeFilters,
|
|
157
166
|
dataSource,
|
|
158
|
-
dataSources,
|
|
159
167
|
} = this.viewConfig;
|
|
168
|
+
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
160
169
|
const queryParams = this.getBaseQueryParams();
|
|
161
170
|
|
|
162
171
|
queryParams[Param.HideActions] = [
|
|
@@ -201,21 +210,11 @@ export class SearchEmbed extends TsEmbed {
|
|
|
201
210
|
if (filterQuery) {
|
|
202
211
|
query += `&${filterQuery}`;
|
|
203
212
|
}
|
|
204
|
-
return query;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Construct the URL of the embedded ThoughtSpot search to be
|
|
209
|
-
* loaded in the iframe
|
|
210
|
-
*
|
|
211
|
-
* @param answerId The GUID of a saved answer
|
|
212
|
-
* @param dataSources A list of data source GUIDs
|
|
213
|
-
*/
|
|
214
|
-
private getIFrameSrc(answerId: string) {
|
|
215
|
-
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
216
213
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
217
214
|
|
|
218
|
-
return `${this.
|
|
215
|
+
return `${this.getEmbedBasePath(
|
|
216
|
+
query,
|
|
217
|
+
)}/${answerPath}${tsPostHashParams}`;
|
|
219
218
|
}
|
|
220
219
|
|
|
221
220
|
/**
|
|
@@ -223,10 +222,10 @@ export class SearchEmbed extends TsEmbed {
|
|
|
223
222
|
*/
|
|
224
223
|
public render(): SearchEmbed {
|
|
225
224
|
super.render();
|
|
226
|
-
const { answerId } = this.viewConfig;
|
|
225
|
+
const { answerId, dataSources } = this.viewConfig;
|
|
227
226
|
|
|
228
|
-
const src = this.getIFrameSrc(answerId);
|
|
229
|
-
this.renderIFrame(src);
|
|
227
|
+
const src = this.getIFrameSrc(answerId, dataSources);
|
|
228
|
+
this.renderIFrame(src, this.viewConfig.frameParams);
|
|
230
229
|
getAuthPromise().then(() => {
|
|
231
230
|
if (
|
|
232
231
|
checkReleaseVersionInBeta(
|
|
@@ -19,27 +19,27 @@ init({
|
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('Search embed tests when authType is Basic', () => {
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
* @param version
|
|
25
|
-
*/
|
|
26
22
|
function setupVersion(version: string) {
|
|
27
|
-
jest.spyOn(window, 'addEventListener').mockImplementationOnce(
|
|
28
|
-
handler
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
23
|
+
jest.spyOn(window, 'addEventListener').mockImplementationOnce(
|
|
24
|
+
(event, handler, options) => {
|
|
25
|
+
handler({
|
|
26
|
+
data: {
|
|
27
|
+
type: 'xyz',
|
|
28
|
+
},
|
|
29
|
+
ports: [3000],
|
|
30
|
+
source: null,
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
);
|
|
34
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(
|
|
35
|
+
async () => ({
|
|
36
|
+
json: () => ({
|
|
37
|
+
...mockSessionInfo,
|
|
38
|
+
releaseVersion: version,
|
|
39
|
+
}),
|
|
40
|
+
status: 200,
|
|
40
41
|
}),
|
|
41
|
-
|
|
42
|
-
}));
|
|
42
|
+
);
|
|
43
43
|
jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue(version);
|
|
44
44
|
}
|
|
45
45
|
beforeEach(() => {
|
|
@@ -76,7 +76,9 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
76
76
|
|
|
77
77
|
test('releaseVersion is above 8.4.0.sw', async () => {
|
|
78
78
|
setupVersion('8.8.0.sw');
|
|
79
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
79
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
80
|
+
() => 'http://tshost',
|
|
81
|
+
);
|
|
80
82
|
const mockAlert = jest.spyOn(window, 'alert');
|
|
81
83
|
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
82
84
|
await searchEmbed.render();
|
|
@@ -85,7 +87,9 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
85
87
|
|
|
86
88
|
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is ts7.dec.cl', async () => {
|
|
87
89
|
setupVersion('ts7.dec.cl');
|
|
88
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
90
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
91
|
+
() => 'http://tshost',
|
|
92
|
+
);
|
|
89
93
|
jest.spyOn(baseInstance, 'getEmbedConfig').mockReturnValue({
|
|
90
94
|
suppressSearchEmbedBetaWarning: true,
|
|
91
95
|
});
|
|
@@ -97,7 +101,9 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
97
101
|
|
|
98
102
|
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is 8.4.0.sw', async () => {
|
|
99
103
|
setupVersion('8.4.0.sw');
|
|
100
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
104
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
105
|
+
() => 'http://tshost',
|
|
106
|
+
);
|
|
101
107
|
jest.spyOn(baseInstance, 'getEmbedConfig').mockReturnValue({
|
|
102
108
|
suppressSearchEmbedBetaWarning: true,
|
|
103
109
|
});
|