@thoughtspot/visual-embed-sdk 1.28.3 → 1.28.5-alpha-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/cjs/package.json +2 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +2 -2
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/authToken.d.ts +1 -1
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +9 -2
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/embed/app.d.ts +50 -6
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +9 -3
- 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/base.d.ts +1 -1
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +6 -6
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/base.spec.js +1 -1
- package/cjs/src/embed/base.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +24 -2
- 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 +33 -5
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +6 -4
- 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 +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +15 -6
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +27 -18
- 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 -13
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +114 -15
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +68 -7
- 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/auth.d.ts.map +1 -1
- package/dist/src/authToken.d.ts +1 -1
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +50 -6
- 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/liveboard.d.ts +24 -2
- 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 +33 -5
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/types.d.ts +114 -15
- 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 +1764 -1691
- package/dist/tsembed-react.js +7024 -6951
- package/dist/tsembed.es.js +7275 -7202
- package/dist/tsembed.js +15449 -15376
- package/dist/visual-embed-sdk-react-full.d.ts +223 -30
- package/dist/visual-embed-sdk-react.d.ts +223 -30
- package/dist/visual-embed-sdk.d.ts +223 -30
- package/lib/package.json +2 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +3 -3
- package/lib/src/auth.js.map +1 -1
- package/lib/src/authToken.d.ts +1 -1
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +9 -2
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/embed/app.d.ts +50 -6
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +9 -3
- 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/base.d.ts +1 -1
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +5 -5
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js +2 -2
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +24 -2
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +9 -4
- 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 +33 -5
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +7 -5
- 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 +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +18 -9
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +27 -18
- 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 -13
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +114 -15
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +68 -7
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +1 -1
- package/lib/src/utils/authService/authService.spec.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 +228 -35
- package/package.json +2 -1
- package/src/auth.ts +6 -6
- package/src/authToken.ts +9 -2
- package/src/embed/app.spec.ts +15 -0
- package/src/embed/app.ts +67 -8
- package/src/embed/base.spec.ts +3 -3
- package/src/embed/base.ts +14 -14
- package/src/embed/liveboard.spec.ts +82 -9
- package/src/embed/liveboard.ts +42 -5
- 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 +45 -10
- package/src/embed/ts-embed.spec.ts +48 -34
- package/src/embed/ts-embed.ts +52 -39
- package/src/errors.ts +1 -1
- package/src/react/index.spec.tsx +1 -30
- package/src/types.ts +114 -15
- package/src/utils/authService/authService.spec.ts +4 -4
package/src/embed/sage.spec.ts
CHANGED
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
const defaultConfig: SageViewConfig = {
|
|
13
13
|
disableWorksheetChange: false,
|
|
14
14
|
hideWorksheetSelector: false,
|
|
15
|
-
hideSearchBarTitle: false,
|
|
16
15
|
hideSageAnswerHeader: false,
|
|
17
16
|
hideAutocompleteSuggestions: false,
|
|
18
17
|
hideSampleQuestions: false,
|
|
@@ -36,22 +35,22 @@ describe('Sage embed tests', () => {
|
|
|
36
35
|
|
|
37
36
|
test('should render sage', async () => {
|
|
38
37
|
const sageEmbed = new SageEmbed(getRootEl(), defaultConfig);
|
|
39
|
-
sageEmbed.render();
|
|
38
|
+
await sageEmbed.render();
|
|
40
39
|
await executeAfterWait(() => {
|
|
41
40
|
expectUrlMatch(
|
|
42
41
|
getIFrameSrc(),
|
|
43
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
42
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
44
43
|
);
|
|
45
44
|
});
|
|
46
45
|
});
|
|
47
46
|
|
|
48
47
|
test('should render sage with product tour flag set', async () => {
|
|
49
48
|
const sageEmbed = new SageEmbed(getRootEl(), { ...defaultConfig, isProductTour: true });
|
|
50
|
-
sageEmbed.render();
|
|
49
|
+
await sageEmbed.render();
|
|
51
50
|
await executeAfterWait(() => {
|
|
52
51
|
expectUrlMatch(
|
|
53
52
|
getIFrameSrc(),
|
|
54
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&
|
|
53
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
55
54
|
);
|
|
56
55
|
});
|
|
57
56
|
});
|
|
@@ -61,11 +60,11 @@ describe('Sage embed tests', () => {
|
|
|
61
60
|
...defaultConfig,
|
|
62
61
|
disableWorksheetChange: true,
|
|
63
62
|
});
|
|
64
|
-
sageEmbed.render();
|
|
63
|
+
await sageEmbed.render();
|
|
65
64
|
await executeAfterWait(() => {
|
|
66
65
|
expectUrlMatch(
|
|
67
66
|
getIFrameSrc(),
|
|
68
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
67
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
69
68
|
);
|
|
70
69
|
});
|
|
71
70
|
});
|
|
@@ -75,25 +74,11 @@ describe('Sage embed tests', () => {
|
|
|
75
74
|
...defaultConfig,
|
|
76
75
|
hideWorksheetSelector: true,
|
|
77
76
|
});
|
|
78
|
-
sageEmbed.render();
|
|
77
|
+
await sageEmbed.render();
|
|
79
78
|
await executeAfterWait(() => {
|
|
80
79
|
expectUrlMatch(
|
|
81
80
|
getIFrameSrc(),
|
|
82
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&
|
|
83
|
-
);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
test('should render sage with hideSearchBarTitle flag', async () => {
|
|
88
|
-
const sageEmbed = new SageEmbed(getRootEl(), {
|
|
89
|
-
...defaultConfig,
|
|
90
|
-
hideSearchBarTitle: true,
|
|
91
|
-
});
|
|
92
|
-
sageEmbed.render();
|
|
93
|
-
await executeAfterWait(() => {
|
|
94
|
-
expectUrlMatch(
|
|
95
|
-
getIFrameSrc(),
|
|
96
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=true&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
|
|
81
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
97
82
|
);
|
|
98
83
|
});
|
|
99
84
|
});
|
|
@@ -103,11 +88,11 @@ describe('Sage embed tests', () => {
|
|
|
103
88
|
...defaultConfig,
|
|
104
89
|
hideSageAnswerHeader: true,
|
|
105
90
|
});
|
|
106
|
-
sageEmbed.render();
|
|
91
|
+
await sageEmbed.render();
|
|
107
92
|
await executeAfterWait(() => {
|
|
108
93
|
expectUrlMatch(
|
|
109
94
|
getIFrameSrc(),
|
|
110
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
95
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=true&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
111
96
|
);
|
|
112
97
|
});
|
|
113
98
|
});
|
|
@@ -117,11 +102,11 @@ describe('Sage embed tests', () => {
|
|
|
117
102
|
...defaultConfig,
|
|
118
103
|
hideAutocompleteSuggestions: true,
|
|
119
104
|
});
|
|
120
|
-
sageEmbed.render();
|
|
105
|
+
await sageEmbed.render();
|
|
121
106
|
await executeAfterWait(() => {
|
|
122
107
|
expectUrlMatch(
|
|
123
108
|
getIFrameSrc(),
|
|
124
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&
|
|
109
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
125
110
|
);
|
|
126
111
|
});
|
|
127
112
|
});
|
|
@@ -130,11 +115,11 @@ describe('Sage embed tests', () => {
|
|
|
130
115
|
const sageEmbed = new SageEmbed(getRootEl(), {
|
|
131
116
|
showObjectSuggestions: true,
|
|
132
117
|
});
|
|
133
|
-
sageEmbed.render();
|
|
118
|
+
await sageEmbed.render();
|
|
134
119
|
await executeAfterWait(() => {
|
|
135
120
|
expectUrlMatch(
|
|
136
121
|
getIFrameSrc(),
|
|
137
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
122
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
|
|
138
123
|
);
|
|
139
124
|
});
|
|
140
125
|
});
|
|
@@ -144,11 +129,11 @@ describe('Sage embed tests', () => {
|
|
|
144
129
|
...defaultConfig,
|
|
145
130
|
dataSource: 'worksheet-id',
|
|
146
131
|
});
|
|
147
|
-
sageEmbed.render();
|
|
132
|
+
await sageEmbed.render();
|
|
148
133
|
await executeAfterWait(() => {
|
|
149
134
|
expectUrlMatch(
|
|
150
135
|
getIFrameSrc(),
|
|
151
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
136
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id`,
|
|
152
137
|
);
|
|
153
138
|
});
|
|
154
139
|
});
|
|
@@ -161,11 +146,11 @@ describe('Sage embed tests', () => {
|
|
|
161
146
|
searchQuery: 'test query', // also tests for query with spaces
|
|
162
147
|
},
|
|
163
148
|
});
|
|
164
|
-
sageEmbed.render();
|
|
149
|
+
await sageEmbed.render();
|
|
165
150
|
await executeAfterWait(() => {
|
|
166
151
|
expectUrlMatch(
|
|
167
152
|
getIFrameSrc(),
|
|
168
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&
|
|
153
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`,
|
|
169
154
|
);
|
|
170
155
|
});
|
|
171
156
|
});
|
|
@@ -178,11 +163,11 @@ describe('Sage embed tests', () => {
|
|
|
178
163
|
executeSearch: true,
|
|
179
164
|
},
|
|
180
165
|
});
|
|
181
|
-
sageEmbed.render();
|
|
166
|
+
await sageEmbed.render();
|
|
182
167
|
await executeAfterWait(() => {
|
|
183
168
|
expectUrlMatch(
|
|
184
169
|
getIFrameSrc(),
|
|
185
|
-
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B
|
|
170
|
+
`http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?executeSearch=true&query=test-query`,
|
|
186
171
|
);
|
|
187
172
|
});
|
|
188
173
|
});
|
package/src/embed/sage.ts
CHANGED
|
@@ -7,9 +7,7 @@
|
|
|
7
7
|
* @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import {
|
|
11
|
-
Action, DOMSelector, Param, ViewConfig,
|
|
12
|
-
} from '../types';
|
|
10
|
+
import { DOMSelector, Param, ViewConfig } from '../types';
|
|
13
11
|
import { getQueryParamString } from '../utils';
|
|
14
12
|
import { V1Embed } from './ts-embed';
|
|
15
13
|
|
|
@@ -54,7 +52,7 @@ export interface SageViewConfig
|
|
|
54
52
|
showObjectResults?: boolean;
|
|
55
53
|
/**
|
|
56
54
|
* flag used by the TS product tour page to show the blue search bar
|
|
57
|
-
* even after the search is completed. This is different from
|
|
55
|
+
* even after the search is completed. This is different from Thoughtspot Embedded Sage Embed
|
|
58
56
|
* experience where it mimics closer to the non-embed case.
|
|
59
57
|
* The Sample questions container is collapsed when this value is set after
|
|
60
58
|
* does a search.
|
|
@@ -65,8 +63,9 @@ export interface SageViewConfig
|
|
|
65
63
|
isProductTour?: boolean;
|
|
66
64
|
/**
|
|
67
65
|
* Show or hide the search bar title.
|
|
66
|
+
* @version SDK: 1.29.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
|
|
68
67
|
*
|
|
69
|
-
* @
|
|
68
|
+
* @deprecated Thoughtspot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
|
|
70
69
|
*/
|
|
71
70
|
hideSearchBarTitle?: boolean;
|
|
72
71
|
/**
|
|
@@ -136,16 +135,6 @@ export interface SageViewConfig
|
|
|
136
135
|
*/
|
|
137
136
|
searchOptions?: SearchOptions;
|
|
138
137
|
}
|
|
139
|
-
export const HiddenActionItemByDefaultForSageEmbed = [
|
|
140
|
-
Action.Save,
|
|
141
|
-
Action.Pin,
|
|
142
|
-
Action.EditACopy,
|
|
143
|
-
Action.SaveAsView,
|
|
144
|
-
Action.UpdateTML,
|
|
145
|
-
Action.EditTML,
|
|
146
|
-
Action.AnswerDelete,
|
|
147
|
-
Action.Share,
|
|
148
|
-
];
|
|
149
138
|
/**
|
|
150
139
|
* Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
|
|
151
140
|
*
|
|
@@ -178,7 +167,6 @@ export class SageEmbed extends V1Embed {
|
|
|
178
167
|
showObjectSuggestions,
|
|
179
168
|
hideSampleQuestions,
|
|
180
169
|
isProductTour,
|
|
181
|
-
hideSearchBarTitle,
|
|
182
170
|
hideSageAnswerHeader,
|
|
183
171
|
hideAutocompleteSuggestions,
|
|
184
172
|
} = this.viewConfig;
|
|
@@ -195,12 +183,7 @@ export class SageEmbed extends V1Embed {
|
|
|
195
183
|
}
|
|
196
184
|
params[Param.HideSampleQuestions] = !!hideSampleQuestions;
|
|
197
185
|
params[Param.IsProductTour] = !!isProductTour;
|
|
198
|
-
params[Param.HideSearchBarTitle] = !!hideSearchBarTitle;
|
|
199
186
|
params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
|
|
200
|
-
params[Param.HideActions] = [
|
|
201
|
-
...(params[Param.HideActions] ?? []),
|
|
202
|
-
...HiddenActionItemByDefaultForSageEmbed,
|
|
203
|
-
];
|
|
204
187
|
|
|
205
188
|
return getQueryParamString(params, true);
|
|
206
189
|
}
|
package/src/embed/search.spec.ts
CHANGED
|
@@ -356,12 +356,13 @@ describe('Search embed tests', () => {
|
|
|
356
356
|
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
357
357
|
...defaultViewConfig,
|
|
358
358
|
answerId,
|
|
359
|
+
collapseSearchBarInitially: true,
|
|
359
360
|
});
|
|
360
361
|
searchEmbed.render();
|
|
361
362
|
await executeAfterWait(() => {
|
|
362
363
|
expectUrlMatchesWithParams(
|
|
363
364
|
getIFrameSrc(),
|
|
364
|
-
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
365
|
+
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&useLastSelectedSources=false&collapseSearchBarInitially=true${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
365
366
|
);
|
|
366
367
|
});
|
|
367
368
|
});
|
package/src/embed/search.ts
CHANGED
|
@@ -7,20 +7,24 @@
|
|
|
7
7
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { getReleaseVersion } from '../auth';
|
|
11
|
-
import { ERROR_MESSAGE } from '../errors';
|
|
12
10
|
import {
|
|
13
|
-
|
|
11
|
+
DataSourceVisualMode,
|
|
12
|
+
DOMSelector,
|
|
13
|
+
Param,
|
|
14
|
+
Action,
|
|
15
|
+
ViewConfig,
|
|
14
16
|
} from '../types';
|
|
15
17
|
import {
|
|
18
|
+
getQueryParamString,
|
|
16
19
|
checkReleaseVersionInBeta,
|
|
17
20
|
getFilterQuery,
|
|
18
|
-
getQueryParamString,
|
|
19
21
|
getRuntimeParameters,
|
|
20
22
|
} from '../utils';
|
|
23
|
+
import { TsEmbed } from './ts-embed';
|
|
24
|
+
import { ERROR_MESSAGE } from '../errors';
|
|
21
25
|
import { getAuthPromise } from './base';
|
|
26
|
+
import { getReleaseVersion } from '../auth';
|
|
22
27
|
import { getEmbedConfig } from './embedConfig';
|
|
23
|
-
import { TsEmbed } from './ts-embed';
|
|
24
28
|
|
|
25
29
|
/**
|
|
26
30
|
* Configuration for search options.
|
|
@@ -59,6 +63,7 @@ export interface SearchViewConfig
|
|
|
59
63
|
* but can be expanded manually.
|
|
60
64
|
*
|
|
61
65
|
* @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
|
|
66
|
+
*
|
|
62
67
|
* @example
|
|
63
68
|
* ```js
|
|
64
69
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -72,6 +77,7 @@ export interface SearchViewConfig
|
|
|
72
77
|
* Show or hide the data sources panel.
|
|
73
78
|
*
|
|
74
79
|
* @version: SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
|
|
80
|
+
*
|
|
75
81
|
* @example
|
|
76
82
|
* ```js
|
|
77
83
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -87,6 +93,7 @@ export interface SearchViewConfig
|
|
|
87
93
|
* using raw answer data.
|
|
88
94
|
*
|
|
89
95
|
* @version: SDK: 1.2.0 | ThoughtSpot: 9.1.0.sw
|
|
96
|
+
*
|
|
90
97
|
* @example
|
|
91
98
|
* ```js
|
|
92
99
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -96,14 +103,11 @@ export interface SearchViewConfig
|
|
|
96
103
|
* ```
|
|
97
104
|
*/
|
|
98
105
|
hideResults?: boolean;
|
|
99
|
-
/**
|
|
100
|
-
* If set to true, expands all the data sources panel.
|
|
101
|
-
*/
|
|
102
|
-
expandAllDataSource?: boolean;
|
|
103
106
|
/**
|
|
104
107
|
* If set to true, the Search Assist feature is enabled.
|
|
105
108
|
*
|
|
106
109
|
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1-sw
|
|
110
|
+
*
|
|
107
111
|
* @example
|
|
108
112
|
* ```js
|
|
109
113
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -118,6 +122,7 @@ export interface SearchViewConfig
|
|
|
118
122
|
* format for presenting search data.
|
|
119
123
|
*
|
|
120
124
|
* @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
|
|
125
|
+
*
|
|
121
126
|
* @example
|
|
122
127
|
* ```js
|
|
123
128
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -131,6 +136,7 @@ export interface SearchViewConfig
|
|
|
131
136
|
* Only a single data source is supported currently.
|
|
132
137
|
*
|
|
133
138
|
* @deprecated Use `dataSource` instead.
|
|
139
|
+
*
|
|
134
140
|
* @example
|
|
135
141
|
* ```js
|
|
136
142
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -144,6 +150,7 @@ export interface SearchViewConfig
|
|
|
144
150
|
* The array of data source GUIDs to set on load.
|
|
145
151
|
*
|
|
146
152
|
* @version: SDK: 1.19.0
|
|
153
|
+
*
|
|
147
154
|
* @example
|
|
148
155
|
* ```js
|
|
149
156
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -185,6 +192,7 @@ export interface SearchViewConfig
|
|
|
185
192
|
* The GUID of a saved answer to load initially.
|
|
186
193
|
*
|
|
187
194
|
* @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
|
|
195
|
+
*
|
|
188
196
|
* @example
|
|
189
197
|
* ```js
|
|
190
198
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -199,6 +207,7 @@ export interface SearchViewConfig
|
|
|
199
207
|
* The chart/table should still be visible.
|
|
200
208
|
*
|
|
201
209
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.5.0.sw
|
|
210
|
+
*
|
|
202
211
|
* @example
|
|
203
212
|
* ```js
|
|
204
213
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -213,6 +222,7 @@ export interface SearchViewConfig
|
|
|
213
222
|
*
|
|
214
223
|
* @default false
|
|
215
224
|
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
225
|
+
*
|
|
216
226
|
* @example
|
|
217
227
|
* ```js
|
|
218
228
|
* const embed = new SearchEmbed('#tsEmbed', {
|
|
@@ -228,6 +238,28 @@ export interface SearchViewConfig
|
|
|
228
238
|
* @version: SDK: 1.24.0
|
|
229
239
|
*/
|
|
230
240
|
useLastSelectedSources?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* To set the initial state of the search bar in case of saved-answers.
|
|
243
|
+
*
|
|
244
|
+
* @default false
|
|
245
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
246
|
+
*/
|
|
247
|
+
collapseSearchBarInitially?: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* To enable custom column groups in data panel v2
|
|
250
|
+
*
|
|
251
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
252
|
+
* @default false
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```js
|
|
256
|
+
* const embed = new SearchEmbed('#tsEmbed', {
|
|
257
|
+
* ... // other options
|
|
258
|
+
* enableCustomColumnGroups: true,
|
|
259
|
+
* });
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
262
|
+
enableCustomColumnGroups?: boolean;
|
|
231
263
|
}
|
|
232
264
|
|
|
233
265
|
export const HiddenActionItemByDefaultForSearchEmbed = [
|
|
@@ -273,7 +305,6 @@ export class SearchEmbed extends TsEmbed {
|
|
|
273
305
|
protected getEmbedParams(): string {
|
|
274
306
|
const {
|
|
275
307
|
hideResults,
|
|
276
|
-
expandAllDataSource,
|
|
277
308
|
enableSearchAssist,
|
|
278
309
|
forceTable,
|
|
279
310
|
searchOptions,
|
|
@@ -285,6 +316,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
285
316
|
dataPanelV2 = false,
|
|
286
317
|
useLastSelectedSources = false,
|
|
287
318
|
runtimeParameters,
|
|
319
|
+
collapseSearchBarInitially = false,
|
|
320
|
+
enableCustomColumnGroups = false,
|
|
288
321
|
} = this.viewConfig;
|
|
289
322
|
const queryParams = this.getBaseQueryParams();
|
|
290
323
|
|
|
@@ -331,6 +364,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
331
364
|
}
|
|
332
365
|
|
|
333
366
|
queryParams[Param.searchEmbed] = true;
|
|
367
|
+
queryParams[Param.CollapseSearchBarInitially] = collapseSearchBarInitially;
|
|
368
|
+
queryParams[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
|
|
334
369
|
let query = '';
|
|
335
370
|
const queryParamsString = getQueryParamString(queryParams, true);
|
|
336
371
|
if (queryParamsString) {
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
/* eslint-disable dot-notation */
|
|
2
|
-
import * as authInstance from '../auth';
|
|
3
2
|
import { resetCachedAuthToken } from '../authToken';
|
|
4
|
-
import * as config from '../config';
|
|
5
3
|
import {
|
|
6
|
-
AppEmbed,
|
|
7
4
|
AuthType,
|
|
5
|
+
init,
|
|
8
6
|
EmbedEvent,
|
|
9
|
-
LiveboardEmbed,
|
|
10
|
-
LiveboardViewConfig,
|
|
11
|
-
PinboardEmbed,
|
|
12
7
|
SearchEmbed,
|
|
13
|
-
|
|
8
|
+
PinboardEmbed,
|
|
9
|
+
LiveboardViewConfig,
|
|
10
|
+
AppEmbed,
|
|
11
|
+
LiveboardEmbed,
|
|
14
12
|
} from '../index';
|
|
15
|
-
import * as mixpanelInstance from '../mixpanel-service';
|
|
16
|
-
import { MIXPANEL_EVENT } from '../mixpanel-service';
|
|
17
13
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
Action, HomeLeftNavItem, RuntimeFilter, RuntimeFilterOp, HomepageModule, HostEvent,
|
|
15
|
+
} from '../types';
|
|
16
|
+
import {
|
|
20
17
|
executeAfterWait,
|
|
21
|
-
expectUrlMatchesWithParams,
|
|
22
18
|
getDocumentBody,
|
|
23
19
|
getIFrameEl,
|
|
24
20
|
getIFrameSrc,
|
|
25
21
|
getRootEl,
|
|
26
|
-
mockMessageChannel,
|
|
27
22
|
postMessageToParent,
|
|
23
|
+
defaultParamsForPinboardEmbed,
|
|
28
24
|
waitFor,
|
|
25
|
+
expectUrlMatchesWithParams,
|
|
26
|
+
mockMessageChannel,
|
|
27
|
+
createRootEleForEmbed,
|
|
29
28
|
} from '../test/test-utils';
|
|
30
|
-
import
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
import * as config from '../config';
|
|
30
|
+
import * as tsEmbedInstance from './ts-embed';
|
|
31
|
+
import * as mixpanelInstance from '../mixpanel-service';
|
|
32
|
+
import * as authInstance from '../auth';
|
|
33
|
+
import * as baseInstance from './base';
|
|
34
|
+
import { MIXPANEL_EVENT } from '../mixpanel-service';
|
|
33
35
|
import * as authService from '../utils/authService/authService';
|
|
34
36
|
import { logger } from '../utils/logger';
|
|
35
|
-
import * as baseInstance from './base';
|
|
36
|
-
import * as tsEmbedInstance from './ts-embed';
|
|
37
37
|
|
|
38
38
|
const defaultViewConfig = {
|
|
39
39
|
frameParams: {
|
|
@@ -417,10 +417,8 @@ describe('Unit test case for ts embed', () => {
|
|
|
417
417
|
authToken: '',
|
|
418
418
|
hostConfig: undefined,
|
|
419
419
|
runtimeFilterParams: null,
|
|
420
|
-
hiddenHomeLeftNavItems:
|
|
421
|
-
HomeLeftNavItem.Home,
|
|
422
|
-
HomeLeftNavItem.MonitorSubscription,
|
|
423
|
-
],
|
|
420
|
+
hiddenHomeLeftNavItems:
|
|
421
|
+
[HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
|
|
424
422
|
hiddenHomepageModules: [],
|
|
425
423
|
reorderedHomepageModules: [],
|
|
426
424
|
},
|
|
@@ -649,10 +647,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
649
647
|
type: EmbedEvent.APP_INIT,
|
|
650
648
|
data: {},
|
|
651
649
|
};
|
|
652
|
-
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
653
|
-
...defaultViewConfig,
|
|
654
|
-
preRenderId: 'test',
|
|
655
|
-
});
|
|
650
|
+
const searchEmbed = new SearchEmbed(getRootEl(), { ...defaultViewConfig, preRenderId: 'test' });
|
|
656
651
|
searchEmbed.preRender();
|
|
657
652
|
const mockPort: any = {
|
|
658
653
|
postMessage: jest.fn(),
|
|
@@ -709,10 +704,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
709
704
|
type: EmbedEvent.AuthExpire,
|
|
710
705
|
data: {},
|
|
711
706
|
};
|
|
712
|
-
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
713
|
-
...defaultViewConfig,
|
|
714
|
-
preRenderId: 'test',
|
|
715
|
-
});
|
|
707
|
+
const searchEmbed = new SearchEmbed(getRootEl(), { ...defaultViewConfig, preRenderId: 'test' });
|
|
716
708
|
jest.spyOn(baseInstance, 'notifyAuthFailure');
|
|
717
709
|
searchEmbed.preRender();
|
|
718
710
|
const mockPort: any = {
|
|
@@ -1216,7 +1208,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1216
1208
|
expectUrlMatchesWithParams(
|
|
1217
1209
|
getIFrameSrc(),
|
|
1218
1210
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1219
|
-
|
|
1211
|
+
+ `&foo=bar&baz=1&bool=true${defaultParamsPost}#/home`,
|
|
1220
1212
|
);
|
|
1221
1213
|
});
|
|
1222
1214
|
|
|
@@ -1232,7 +1224,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1232
1224
|
expectUrlMatchesWithParams(
|
|
1233
1225
|
getIFrameSrc(),
|
|
1234
1226
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1235
|
-
|
|
1227
|
+
+ `&showAlerts=true${defaultParamsPost}#/home`,
|
|
1236
1228
|
);
|
|
1237
1229
|
});
|
|
1238
1230
|
it('Sets the locale param', async () => {
|
|
@@ -1247,7 +1239,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1247
1239
|
expectUrlMatchesWithParams(
|
|
1248
1240
|
getIFrameSrc(),
|
|
1249
1241
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1250
|
-
|
|
1242
|
+
+ `&locale=ja-JP${defaultParamsPost}#/home`,
|
|
1251
1243
|
);
|
|
1252
1244
|
});
|
|
1253
1245
|
it('Sets the iconSprite url', async () => {
|
|
@@ -1264,7 +1256,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1264
1256
|
expectUrlMatchesWithParams(
|
|
1265
1257
|
getIFrameSrc(),
|
|
1266
1258
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1267
|
-
|
|
1259
|
+
+ `&iconSprite=iconSprite.com${defaultParamsPost}#/home`,
|
|
1268
1260
|
);
|
|
1269
1261
|
});
|
|
1270
1262
|
|
|
@@ -1331,6 +1323,28 @@ describe('Unit test case for ts embed', () => {
|
|
|
1331
1323
|
done();
|
|
1332
1324
|
});
|
|
1333
1325
|
});
|
|
1326
|
+
|
|
1327
|
+
it('Should set the override locale for number/date and currency format', async () => {
|
|
1328
|
+
jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValue(true);
|
|
1329
|
+
init({
|
|
1330
|
+
thoughtSpotHost: 'tshost',
|
|
1331
|
+
authType: AuthType.None,
|
|
1332
|
+
numberFormatLocale: 'en-US',
|
|
1333
|
+
dateFormatLocale: 'en-IN',
|
|
1334
|
+
currencyFormat: 'USD',
|
|
1335
|
+
});
|
|
1336
|
+
const appEmbed = new AppEmbed(getRootEl(), {
|
|
1337
|
+
frameParams: {
|
|
1338
|
+
width: '100%',
|
|
1339
|
+
height: '100%',
|
|
1340
|
+
},
|
|
1341
|
+
});
|
|
1342
|
+
await appEmbed.render();
|
|
1343
|
+
expectUrlMatchesWithParams(
|
|
1344
|
+
getIFrameSrc(),
|
|
1345
|
+
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&numberFormatLocale=en-US&dateFormatLocale=en-IN¤cyFormat=USD${defaultParamsPost}#/home`,
|
|
1346
|
+
);
|
|
1347
|
+
});
|
|
1334
1348
|
});
|
|
1335
1349
|
|
|
1336
1350
|
describe('When destroyed', () => {
|