@thoughtspot/visual-embed-sdk 1.28.3 → 1.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/package.json +2 -1
- package/cjs/src/embed/app.d.ts +38 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +7 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +10 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +16 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +8 -3
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +61 -4
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +4 -4
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +2 -18
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/sage.spec.js +20 -31
- package/cjs/src/embed/sage.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +22 -0
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +3 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +2 -1
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +9 -0
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +18 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.js +1 -1
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/react/index.spec.js +1 -1
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +86 -5
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +67 -4
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js +32 -0
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -0
- package/cjs/src/utils/sessionInfoService.d.ts +66 -0
- package/cjs/src/utils/sessionInfoService.d.ts.map +1 -0
- package/cjs/src/utils/sessionInfoService.js +92 -0
- package/cjs/src/utils/sessionInfoService.js.map +1 -0
- package/dist/src/embed/app.d.ts +38 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +16 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +4 -4
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +22 -0
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/types.d.ts +86 -5
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/dist/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/dist/src/utils/sessionInfoService.d.ts +66 -0
- package/dist/src/utils/sessionInfoService.d.ts.map +1 -0
- package/dist/tsembed-react.es.js +97 -28
- package/dist/tsembed-react.js +97 -28
- package/dist/tsembed.es.js +97 -28
- package/dist/tsembed.js +97 -28
- package/dist/visual-embed-sdk-react-full.d.ts +165 -8
- package/dist/visual-embed-sdk-react.d.ts +165 -8
- package/dist/visual-embed-sdk.d.ts +165 -8
- package/lib/package.json +2 -1
- package/lib/src/embed/app.d.ts +38 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +7 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +10 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +16 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +8 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +61 -4
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +4 -4
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +2 -18
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/sage.spec.js +20 -31
- package/lib/src/embed/sage.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +22 -0
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +3 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +2 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +9 -0
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +18 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.js +1 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/react/index.spec.js +1 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +86 -5
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +67 -4
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.d.ts +2 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.d.ts.map +1 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.js +29 -0
- package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -0
- package/lib/src/utils/sessionInfoService.d.ts +66 -0
- package/lib/src/utils/sessionInfoService.d.ts.map +1 -0
- package/lib/src/utils/sessionInfoService.js +85 -0
- package/lib/src/utils/sessionInfoService.js.map +1 -0
- package/lib/src/visual-embed-sdk.d.ts +166 -9
- package/package.json +2 -1
- package/src/embed/app.spec.ts +15 -0
- package/src/embed/app.ts +48 -0
- package/src/embed/liveboard.spec.ts +82 -9
- package/src/embed/liveboard.ts +26 -2
- package/src/embed/sage.spec.ts +20 -35
- package/src/embed/sage.ts +4 -21
- package/src/embed/search.spec.ts +2 -1
- package/src/embed/search.ts +26 -0
- package/src/embed/ts-embed.spec.ts +22 -0
- package/src/embed/ts-embed.ts +9 -0
- package/src/errors.ts +1 -1
- package/src/react/index.spec.tsx +1 -1
- package/src/types.ts +85 -4
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
|
@@ -228,6 +228,28 @@ export interface SearchViewConfig
|
|
|
228
228
|
* @version: SDK: 1.24.0
|
|
229
229
|
*/
|
|
230
230
|
useLastSelectedSources?: boolean;
|
|
231
|
+
/**
|
|
232
|
+
* To set the initial state of the search bar in case of saved-answers.
|
|
233
|
+
*
|
|
234
|
+
* @default false
|
|
235
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
236
|
+
*/
|
|
237
|
+
collapseSearchBarInitially?: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* To enable custom column groups in data panel v2
|
|
240
|
+
*
|
|
241
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
242
|
+
* @default false
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```js
|
|
246
|
+
* const embed = new SearchEmbed('#tsEmbed', {
|
|
247
|
+
* ... // other options
|
|
248
|
+
* enableCustomColumnGroups: true,
|
|
249
|
+
* });
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
enableCustomColumnGroups?: boolean;
|
|
231
253
|
}
|
|
232
254
|
|
|
233
255
|
export const HiddenActionItemByDefaultForSearchEmbed = [
|
|
@@ -285,6 +307,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
285
307
|
dataPanelV2 = false,
|
|
286
308
|
useLastSelectedSources = false,
|
|
287
309
|
runtimeParameters,
|
|
310
|
+
collapseSearchBarInitially = false,
|
|
311
|
+
enableCustomColumnGroups = false,
|
|
288
312
|
} = this.viewConfig;
|
|
289
313
|
const queryParams = this.getBaseQueryParams();
|
|
290
314
|
|
|
@@ -331,6 +355,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
331
355
|
}
|
|
332
356
|
|
|
333
357
|
queryParams[Param.searchEmbed] = true;
|
|
358
|
+
queryParams[Param.CollapseSearchBarInitially] = collapseSearchBarInitially;
|
|
359
|
+
queryParams[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
|
|
334
360
|
let query = '';
|
|
335
361
|
const queryParamsString = getQueryParamString(queryParams, true);
|
|
336
362
|
if (queryParamsString) {
|
|
@@ -1331,6 +1331,28 @@ describe('Unit test case for ts embed', () => {
|
|
|
1331
1331
|
done();
|
|
1332
1332
|
});
|
|
1333
1333
|
});
|
|
1334
|
+
|
|
1335
|
+
it('Should set the override locale for number/date and currency format', async () => {
|
|
1336
|
+
jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValue(true);
|
|
1337
|
+
init({
|
|
1338
|
+
thoughtSpotHost: 'tshost',
|
|
1339
|
+
authType: AuthType.None,
|
|
1340
|
+
numberFormatLocale: 'en-US',
|
|
1341
|
+
dateFormatLocale: 'en-IN',
|
|
1342
|
+
currencyFormat: 'USD',
|
|
1343
|
+
});
|
|
1344
|
+
const appEmbed = new AppEmbed(getRootEl(), {
|
|
1345
|
+
frameParams: {
|
|
1346
|
+
width: '100%',
|
|
1347
|
+
height: '100%',
|
|
1348
|
+
},
|
|
1349
|
+
});
|
|
1350
|
+
await appEmbed.render();
|
|
1351
|
+
expectUrlMatchesWithParams(
|
|
1352
|
+
getIFrameSrc(),
|
|
1353
|
+
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&numberFormatLocale=en-US&dateFormatLocale=en-IN¤cyFormat=USD${defaultParamsPost}#/home`,
|
|
1354
|
+
);
|
|
1355
|
+
});
|
|
1334
1356
|
});
|
|
1335
1357
|
|
|
1336
1358
|
describe('When destroyed', () => {
|
package/src/embed/ts-embed.ts
CHANGED
|
@@ -414,6 +414,15 @@ export class TsEmbed {
|
|
|
414
414
|
if (this.embedConfig.pendoTrackingKey) {
|
|
415
415
|
queryParams[Param.PendoTrackingKey] = this.embedConfig.pendoTrackingKey;
|
|
416
416
|
}
|
|
417
|
+
if (this.embedConfig.numberFormatLocale) {
|
|
418
|
+
queryParams[Param.NumberFormatLocale] = this.embedConfig.numberFormatLocale;
|
|
419
|
+
}
|
|
420
|
+
if (this.embedConfig.dateFormatLocale) {
|
|
421
|
+
queryParams[Param.DateFormatLocale] = this.embedConfig.dateFormatLocale;
|
|
422
|
+
}
|
|
423
|
+
if (this.embedConfig.currencyFormat) {
|
|
424
|
+
queryParams[Param.CurrencyFormat] = this.embedConfig.currencyFormat;
|
|
425
|
+
}
|
|
417
426
|
|
|
418
427
|
const {
|
|
419
428
|
disabledActions,
|
package/src/errors.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const ERROR_MESSAGE = {
|
|
2
2
|
INVALID_THOUGHTSPOT_HOST: 'Error parsing ThoughtSpot host. Please provide a valid URL.',
|
|
3
|
-
LIVEBOARD_VIZ_ID_VALIDATION: 'Please
|
|
3
|
+
LIVEBOARD_VIZ_ID_VALIDATION: 'Please select a liveboard to embed.',
|
|
4
4
|
TRIGGER_TIMED_OUT: 'Trigger timedout in getting response',
|
|
5
5
|
SEARCHEMBED_BETA_WRANING_MESSAGE: 'Search Embed is in Beta in this release.',
|
|
6
6
|
SAGE_EMBED_BETA_WARNING_MESSAGE: 'Sage Embed is in Beta in this release.',
|
package/src/react/index.spec.tsx
CHANGED
|
@@ -49,7 +49,7 @@ describe('React Components', () => {
|
|
|
49
49
|
),
|
|
50
50
|
).toBe(true);
|
|
51
51
|
expect(getIFrameSrc(container)).toBe(
|
|
52
|
-
`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&blockNonEmbedFullAppAccess=true&hideAction=[%22${Action.ReportError}%22,%22editACopy%22,%22saveAsView%22,%22updateTSL%22,%22editTSL%22,%22onDeleteAnswer%22]&overrideConsoleLogs=true&clientLogLevel=ERROR&enableDataPanelV2=false&dataSourceMode=hide&useLastSelectedSources=false&isSearchEmbed=true#/embed/answer`,
|
|
52
|
+
`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&blockNonEmbedFullAppAccess=true&hideAction=[%22${Action.ReportError}%22,%22editACopy%22,%22saveAsView%22,%22updateTSL%22,%22editTSL%22,%22onDeleteAnswer%22]&overrideConsoleLogs=true&clientLogLevel=ERROR&enableDataPanelV2=false&dataSourceMode=hide&useLastSelectedSources=false&isSearchEmbed=true&collapseSearchBarInitially=false&enableCustomColumnGroups=false#/embed/answer`,
|
|
53
53
|
);
|
|
54
54
|
});
|
|
55
55
|
|
package/src/types.ts
CHANGED
|
@@ -594,6 +594,24 @@ export interface EmbedConfig {
|
|
|
594
594
|
* @version SDK: 1.27.9
|
|
595
595
|
*/
|
|
596
596
|
disableSDKTracking?: boolean;
|
|
597
|
+
/**
|
|
598
|
+
* Overrides default/user preffered locale for date formatting
|
|
599
|
+
*
|
|
600
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
601
|
+
*/
|
|
602
|
+
dateFormatLocale?: string;
|
|
603
|
+
/**
|
|
604
|
+
* Overrides default/user preffered locale for number formatting
|
|
605
|
+
*
|
|
606
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
607
|
+
*/
|
|
608
|
+
numberFormatLocale?: string;
|
|
609
|
+
/**
|
|
610
|
+
* Format to be used for currency when currency format is set to infer from browser
|
|
611
|
+
*
|
|
612
|
+
* @version SDK: 1.28.4 | Thoughtspot: 10.0.0.cl, 9.5.0.sw
|
|
613
|
+
*/
|
|
614
|
+
currencyFormat?: string;
|
|
597
615
|
}
|
|
598
616
|
|
|
599
617
|
// eslint-disable-next-line @typescript-eslint/no-empty-interface
|
|
@@ -3082,6 +3100,13 @@ export enum Param {
|
|
|
3082
3100
|
ClientLogLevel = 'clientLogLevel',
|
|
3083
3101
|
OverrideNativeConsole = 'overrideConsoleLogs',
|
|
3084
3102
|
enableAskSage = 'enableAskSage',
|
|
3103
|
+
CollapseSearchBarInitially= 'collapseSearchBarInitially',
|
|
3104
|
+
EnableCustomColumnGroups = 'enableCustomColumnGroups',
|
|
3105
|
+
DateFormatLocale = 'dateFormatLocale',
|
|
3106
|
+
NumberFormatLocale = 'numberFormatLocale',
|
|
3107
|
+
CurrencyFormat = 'currencyFormat',
|
|
3108
|
+
Enable2ColumnLayout = 'enable2ColumnLayout',
|
|
3109
|
+
IsFullAppEmbed = 'isFullAppEmbed',
|
|
3085
3110
|
}
|
|
3086
3111
|
|
|
3087
3112
|
/**
|
|
@@ -3219,6 +3244,18 @@ export enum Action {
|
|
|
3219
3244
|
* ```
|
|
3220
3245
|
*/
|
|
3221
3246
|
AddFilter = 'addFilter',
|
|
3247
|
+
/**
|
|
3248
|
+
* The **Add Data Panel Objects** action on the data panel v2.
|
|
3249
|
+
* Allows to show action menu to add different objects (like
|
|
3250
|
+
* formulas, parameters) in data panel v2.
|
|
3251
|
+
*
|
|
3252
|
+
* @example
|
|
3253
|
+
* ```js
|
|
3254
|
+
* disabledActions: [Action.AddDataPanelObjects]
|
|
3255
|
+
* ```
|
|
3256
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
3257
|
+
*/
|
|
3258
|
+
AddDataPanelObjects = 'addDataPanelObjects',
|
|
3222
3259
|
/**
|
|
3223
3260
|
* Filter configuration options on a Liveboard and Search page.
|
|
3224
3261
|
* Allows configuring filter options when adding filters to a
|
|
@@ -3261,6 +3298,28 @@ export enum Action {
|
|
|
3261
3298
|
* ```
|
|
3262
3299
|
*/
|
|
3263
3300
|
AddParameter = 'addParameter',
|
|
3301
|
+
/**
|
|
3302
|
+
* The **Add Column Set** action on a Answer.
|
|
3303
|
+
* Allows adding column sets to a Answer.
|
|
3304
|
+
*
|
|
3305
|
+
* @example
|
|
3306
|
+
* ```js
|
|
3307
|
+
* disabledActions: [Action.AddColumnSet]
|
|
3308
|
+
* ```
|
|
3309
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
3310
|
+
*/
|
|
3311
|
+
AddColumnSet = 'addSimpleCohort',
|
|
3312
|
+
/**
|
|
3313
|
+
* The **Add Query Set** action on a Answer.
|
|
3314
|
+
* Allows adding query sets to a Answer.
|
|
3315
|
+
*
|
|
3316
|
+
* @example
|
|
3317
|
+
* ```js
|
|
3318
|
+
* disabledActions: [Action.AddQuerySet]
|
|
3319
|
+
* ```
|
|
3320
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
3321
|
+
*/
|
|
3322
|
+
AddQuerySet = 'addAdvancedCohort',
|
|
3264
3323
|
/**
|
|
3265
3324
|
* @hidden
|
|
3266
3325
|
*/
|
|
@@ -3693,6 +3752,28 @@ export enum Action {
|
|
|
3693
3752
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
3694
3753
|
*/
|
|
3695
3754
|
CrossFilter = 'context-menu-item-cross-filter',
|
|
3755
|
+
/**
|
|
3756
|
+
* The **Sync to Slack** action on Liveboard visualizations.
|
|
3757
|
+
* Allows sending data to third-party apps Slack
|
|
3758
|
+
*
|
|
3759
|
+
* @example
|
|
3760
|
+
* ```js
|
|
3761
|
+
* disabledActions: [Action.SyncToSlack]
|
|
3762
|
+
* ```
|
|
3763
|
+
* @version @version SDK : 1.32.0 | Thoughtspot: 10.1.0.cl
|
|
3764
|
+
*/
|
|
3765
|
+
SyncToSlack = 'syncToSlack',
|
|
3766
|
+
/**
|
|
3767
|
+
* The **Sync to Teams** action on Liveboard visualizations.
|
|
3768
|
+
* Allows sending data to third-party apps Team
|
|
3769
|
+
*
|
|
3770
|
+
* @example
|
|
3771
|
+
* ```js
|
|
3772
|
+
* disabledActions: [Action.SyncToTeams]
|
|
3773
|
+
* ```
|
|
3774
|
+
* @version @version SDK : 1.32.0 | Thoughtspot: 10.1.0.cl
|
|
3775
|
+
*/
|
|
3776
|
+
SyncToTeams = 'syncToTeams',
|
|
3696
3777
|
/**
|
|
3697
3778
|
* The **Remove** action that appears when cross filters are applied
|
|
3698
3779
|
* on a Liveboard.
|
|
@@ -4001,15 +4082,15 @@ export enum Action {
|
|
|
4001
4082
|
RemoveFromWatchlist = 'removeFromWatchlist',
|
|
4002
4083
|
|
|
4003
4084
|
/**
|
|
4004
|
-
* The **
|
|
4085
|
+
* The **Organise Favourites** action on Homepage Favourite Module.
|
|
4005
4086
|
*
|
|
4006
4087
|
* @example
|
|
4007
4088
|
* ```js
|
|
4008
|
-
* disabledActions: [Action.
|
|
4089
|
+
* disabledActions: [Action.OrganiseFavourites]
|
|
4009
4090
|
* ```
|
|
4010
|
-
* @version SDK : 1.
|
|
4091
|
+
* @version SDK : 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
4011
4092
|
*/
|
|
4012
|
-
|
|
4093
|
+
OrganiseFavourites = 'organiseFavourites',
|
|
4013
4094
|
|
|
4014
4095
|
/**
|
|
4015
4096
|
* Action ID for AI Highlights button
|