@thoughtspot/visual-embed-sdk 1.28.2 → 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 +106 -9
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +87 -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 +106 -9
- 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 +117 -28
- package/dist/tsembed-react.js +117 -28
- package/dist/tsembed.es.js +117 -28
- package/dist/tsembed.js +117 -28
- package/dist/visual-embed-sdk-react-full.d.ts +185 -12
- package/dist/visual-embed-sdk-react.d.ts +185 -12
- package/dist/visual-embed-sdk.d.ts +185 -12
- 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 +106 -9
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +87 -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 +186 -13
- 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 +106 -8
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
|
|
@@ -913,11 +931,7 @@ export interface ViewConfig {
|
|
|
913
931
|
*
|
|
914
932
|
* **Note**: This option does not apply to the classic homepage.
|
|
915
933
|
* To access the updated modular homepage, set
|
|
916
|
-
<<<<<<< HEAD
|
|
917
|
-
* `modularHomeExperience` to `true` (available as Early Access feature in 9.12.0.cl).
|
|
918
|
-
=======
|
|
919
934
|
* `modularHomeExperience` to `true` (available as Early Access feature in 9.12.5.cl).
|
|
920
|
-
>>>>>>> 64e22666... typo fixes
|
|
921
935
|
*
|
|
922
936
|
* @version SDK: 1.28.0 | Thoughtspot: 9.12.5.cl
|
|
923
937
|
* @example
|
|
@@ -3086,6 +3100,13 @@ export enum Param {
|
|
|
3086
3100
|
ClientLogLevel = 'clientLogLevel',
|
|
3087
3101
|
OverrideNativeConsole = 'overrideConsoleLogs',
|
|
3088
3102
|
enableAskSage = 'enableAskSage',
|
|
3103
|
+
CollapseSearchBarInitially= 'collapseSearchBarInitially',
|
|
3104
|
+
EnableCustomColumnGroups = 'enableCustomColumnGroups',
|
|
3105
|
+
DateFormatLocale = 'dateFormatLocale',
|
|
3106
|
+
NumberFormatLocale = 'numberFormatLocale',
|
|
3107
|
+
CurrencyFormat = 'currencyFormat',
|
|
3108
|
+
Enable2ColumnLayout = 'enable2ColumnLayout',
|
|
3109
|
+
IsFullAppEmbed = 'isFullAppEmbed',
|
|
3089
3110
|
}
|
|
3090
3111
|
|
|
3091
3112
|
/**
|
|
@@ -3223,6 +3244,18 @@ export enum Action {
|
|
|
3223
3244
|
* ```
|
|
3224
3245
|
*/
|
|
3225
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',
|
|
3226
3259
|
/**
|
|
3227
3260
|
* Filter configuration options on a Liveboard and Search page.
|
|
3228
3261
|
* Allows configuring filter options when adding filters to a
|
|
@@ -3265,6 +3298,28 @@ export enum Action {
|
|
|
3265
3298
|
* ```
|
|
3266
3299
|
*/
|
|
3267
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',
|
|
3268
3323
|
/**
|
|
3269
3324
|
* @hidden
|
|
3270
3325
|
*/
|
|
@@ -3697,6 +3752,28 @@ export enum Action {
|
|
|
3697
3752
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
3698
3753
|
*/
|
|
3699
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',
|
|
3700
3777
|
/**
|
|
3701
3778
|
* The **Remove** action that appears when cross filters are applied
|
|
3702
3779
|
* on a Liveboard.
|
|
@@ -3939,6 +4016,27 @@ export enum Action {
|
|
|
3939
4016
|
*/
|
|
3940
4017
|
LiveboardUsers = 'liveboardUsers',
|
|
3941
4018
|
|
|
4019
|
+
/**
|
|
4020
|
+
* Action ID for the Parent TML action
|
|
4021
|
+
* The parent action **TML** must be included to access TML-related options
|
|
4022
|
+
* within the cascading menu (specific to the answer page)
|
|
4023
|
+
*
|
|
4024
|
+
* @example
|
|
4025
|
+
* ```js
|
|
4026
|
+
* // to include specific TML actions
|
|
4027
|
+
* visibleActions: [Action.TML, Action.ExportTML, Action.EditTML]
|
|
4028
|
+
*
|
|
4029
|
+
* ```
|
|
4030
|
+
* @example
|
|
4031
|
+
* ```js
|
|
4032
|
+
* hiddenAction: [Action.TML] // hide all TML actions
|
|
4033
|
+
* disabledActions: [Action.TML] // to disable all TML actions
|
|
4034
|
+
* ```
|
|
4035
|
+
*
|
|
4036
|
+
* @version SDK : 1.28.2 | Thoughtspot: 9.10.5.cl
|
|
4037
|
+
*/
|
|
4038
|
+
TML = 'tml',
|
|
4039
|
+
|
|
3942
4040
|
/**
|
|
3943
4041
|
* Action ID for to hide Verified Liveboard Banner
|
|
3944
4042
|
*
|
|
@@ -3984,15 +4082,15 @@ export enum Action {
|
|
|
3984
4082
|
RemoveFromWatchlist = 'removeFromWatchlist',
|
|
3985
4083
|
|
|
3986
4084
|
/**
|
|
3987
|
-
* The **
|
|
4085
|
+
* The **Organise Favourites** action on Homepage Favourite Module.
|
|
3988
4086
|
*
|
|
3989
4087
|
* @example
|
|
3990
4088
|
* ```js
|
|
3991
|
-
* disabledActions: [Action.
|
|
4089
|
+
* disabledActions: [Action.OrganiseFavourites]
|
|
3992
4090
|
* ```
|
|
3993
|
-
* @version SDK : 1.
|
|
4091
|
+
* @version SDK : 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
3994
4092
|
*/
|
|
3995
|
-
|
|
4093
|
+
OrganiseFavourites = 'organiseFavourites',
|
|
3996
4094
|
|
|
3997
4095
|
/**
|
|
3998
4096
|
* Action ID for AI Highlights button
|