@thoughtspot/visual-embed-sdk 1.46.0 → 1.46.2
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 -2
- package/cjs/src/auth.d.ts +29 -4
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +30 -5
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/css-variables.d.ts +17 -17
- package/cjs/src/embed/app.d.ts +61 -33
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +11 -4
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +34 -1
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +2 -2
- package/cjs/src/embed/base.js +2 -2
- package/cjs/src/embed/bodyless-conversation.d.ts +5 -5
- package/cjs/src/embed/bodyless-conversation.js +4 -4
- package/cjs/src/embed/conversation.d.ts +43 -30
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +10 -11
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +27 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +42 -36
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +3 -3
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +1 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +5 -5
- package/cjs/src/embed/sage.js +1 -1
- package/cjs/src/embed/search-bar.d.ts +7 -7
- package/cjs/src/embed/search-bar.js +1 -1
- package/cjs/src/embed/search.d.ts +16 -14
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +3 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +4 -4
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +13 -7
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +35 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/react/index.d.ts +15 -15
- package/cjs/src/react/index.js +12 -12
- package/cjs/src/tokenizedFetch.d.ts +1 -1
- package/cjs/src/tokenizedFetch.js +1 -1
- package/cjs/src/types.d.ts +653 -276
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +274 -208
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +6 -4
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.spec.js +55 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/cjs/src/utils.d.ts +9 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +10 -1
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-BQvLEoxp.js → index-DkizS4xM.js} +1 -1
- package/dist/src/auth.d.ts +29 -4
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +17 -17
- package/dist/src/embed/app.d.ts +61 -33
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +2 -2
- package/dist/src/embed/bodyless-conversation.d.ts +5 -5
- package/dist/src/embed/conversation.d.ts +43 -30
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +42 -36
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +5 -5
- package/dist/src/embed/search-bar.d.ts +7 -7
- package/dist/src/embed/search.d.ts +16 -14
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +4 -4
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +15 -15
- package/dist/src/tokenizedFetch.d.ts +1 -1
- package/dist/src/types.d.ts +653 -276
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils.d.ts +9 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +383 -290
- package/dist/tsembed-react.js +382 -289
- package/dist/tsembed.es.js +375 -282
- package/dist/tsembed.js +374 -281
- package/dist/visual-embed-sdk-react-full.d.ts +880 -431
- package/dist/visual-embed-sdk-react.d.ts +873 -427
- package/dist/visual-embed-sdk.d.ts +879 -430
- package/lib/package.json +2 -2
- package/lib/src/auth.d.ts +29 -4
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +30 -5
- package/lib/src/auth.js.map +1 -1
- package/lib/src/css-variables.d.ts +17 -17
- package/lib/src/embed/app.d.ts +61 -33
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +12 -5
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +34 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +2 -2
- package/lib/src/embed/base.js +2 -2
- package/lib/src/embed/bodyless-conversation.d.ts +5 -5
- package/lib/src/embed/bodyless-conversation.js +4 -4
- package/lib/src/embed/conversation.d.ts +43 -30
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +11 -11
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +27 -0
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +42 -36
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +3 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +1 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +5 -5
- package/lib/src/embed/sage.js +1 -1
- package/lib/src/embed/search-bar.d.ts +7 -7
- package/lib/src/embed/search-bar.js +1 -1
- package/lib/src/embed/search.d.ts +16 -14
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +3 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +4 -4
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +13 -7
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +35 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/react/index.d.ts +15 -15
- package/lib/src/react/index.js +12 -12
- package/lib/src/tokenizedFetch.d.ts +1 -1
- package/lib/src/tokenizedFetch.js +1 -1
- package/lib/src/types.d.ts +653 -276
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +274 -208
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +4 -2
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +5 -3
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js +55 -0
- package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/lib/src/utils.d.ts +9 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +8 -0
- package/lib/src/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/auth.ts +30 -5
- package/src/css-variables.ts +17 -17
- package/src/embed/app.spec.ts +46 -1
- package/src/embed/app.ts +73 -36
- package/src/embed/base.ts +2 -2
- package/src/embed/bodyless-conversation.ts +5 -5
- package/src/embed/conversation.spec.ts +37 -0
- package/src/embed/conversation.ts +55 -38
- package/src/embed/liveboard.spec.ts +1 -1
- package/src/embed/liveboard.ts +42 -36
- package/src/embed/sage.ts +5 -5
- package/src/embed/search-bar.tsx +7 -7
- package/src/embed/search.ts +16 -14
- package/src/embed/ts-embed.spec.ts +42 -0
- package/src/embed/ts-embed.ts +12 -7
- package/src/react/index.tsx +15 -15
- package/src/tokenizedFetch.ts +1 -1
- package/src/types.ts +652 -275
- package/src/utils/graphql/answerService/answerService.spec.ts +62 -0
- package/src/utils/graphql/answerService/answerService.ts +6 -3
- package/src/utils.ts +14 -0
|
@@ -327,6 +327,43 @@ describe('ConversationEmbed', () => {
|
|
|
327
327
|
);
|
|
328
328
|
});
|
|
329
329
|
|
|
330
|
+
it('should render the conversation embed with deprecated standalone enablePastConversationsSidebar flag', async () => {
|
|
331
|
+
const viewConfig: SpotterEmbedViewConfig = {
|
|
332
|
+
worksheetId: 'worksheetId',
|
|
333
|
+
searchOptions: {
|
|
334
|
+
searchQuery: 'searchQuery',
|
|
335
|
+
},
|
|
336
|
+
enablePastConversationsSidebar: true,
|
|
337
|
+
};
|
|
338
|
+
|
|
339
|
+
const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
|
|
340
|
+
await conversationEmbed.render();
|
|
341
|
+
expectUrlMatchesWithParams(
|
|
342
|
+
getIFrameSrc(),
|
|
343
|
+
`http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&enablePastConversationsSidebar=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`,
|
|
344
|
+
);
|
|
345
|
+
});
|
|
346
|
+
|
|
347
|
+
it('should prefer spotterSidebarConfig.enablePastConversationsSidebar over deprecated standalone flag', async () => {
|
|
348
|
+
const viewConfig: SpotterEmbedViewConfig = {
|
|
349
|
+
worksheetId: 'worksheetId',
|
|
350
|
+
searchOptions: {
|
|
351
|
+
searchQuery: 'searchQuery',
|
|
352
|
+
},
|
|
353
|
+
enablePastConversationsSidebar: false,
|
|
354
|
+
spotterSidebarConfig: {
|
|
355
|
+
enablePastConversationsSidebar: true,
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
|
|
360
|
+
await conversationEmbed.render();
|
|
361
|
+
expectUrlMatchesWithParams(
|
|
362
|
+
getIFrameSrc(),
|
|
363
|
+
`http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&enablePastConversationsSidebar=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`,
|
|
364
|
+
);
|
|
365
|
+
});
|
|
366
|
+
|
|
330
367
|
it('should render the conversation embed with all boolean flags set', async () => {
|
|
331
368
|
const viewConfig: SpotterEmbedViewConfig = {
|
|
332
369
|
worksheetId: 'worksheetId',
|
|
@@ -2,7 +2,7 @@ import isUndefined from 'lodash/isUndefined';
|
|
|
2
2
|
import { ERROR_MESSAGE } from '../errors';
|
|
3
3
|
import { Param, BaseViewConfig, RuntimeFilter, RuntimeParameter, ErrorDetailsTypes, EmbedErrorCodes } from '../types';
|
|
4
4
|
import { TsEmbed } from './ts-embed';
|
|
5
|
-
import { getQueryParamString, getFilterQuery, getRuntimeParameters, validateHttpUrl, setParamIfDefined } from '../utils';
|
|
5
|
+
import { getQueryParamString, getFilterQuery, getRuntimeParameters, validateHttpUrl, setParamIfDefined, resolveEnablePastConversationsSidebar } from '../utils';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Configuration for search options
|
|
@@ -18,82 +18,82 @@ export interface SearchOptions {
|
|
|
18
18
|
* Configuration for the Spotter sidebar.
|
|
19
19
|
* Can be used in SpotterEmbed and AppEmbed.
|
|
20
20
|
* @group Embed components
|
|
21
|
-
* @version SDK: 1.
|
|
21
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
22
22
|
*/
|
|
23
23
|
export interface SpotterSidebarViewConfig {
|
|
24
24
|
/**
|
|
25
25
|
* Controls the visibility of the past conversations sidebar.
|
|
26
26
|
* @default false
|
|
27
|
-
* @version SDK: 1.
|
|
27
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
28
28
|
*/
|
|
29
29
|
enablePastConversationsSidebar?: boolean;
|
|
30
30
|
/**
|
|
31
31
|
* Custom title text for the sidebar header.
|
|
32
32
|
* Defaults to translated "Spotter" text.
|
|
33
|
-
* @version SDK: 1.
|
|
33
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
34
34
|
*/
|
|
35
35
|
spotterSidebarTitle?: string;
|
|
36
36
|
/**
|
|
37
37
|
* Boolean to set the default expanded state of the sidebar.
|
|
38
38
|
* @default false
|
|
39
|
-
* @version SDK: 1.
|
|
39
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
40
40
|
*/
|
|
41
41
|
spotterSidebarDefaultExpanded?: boolean;
|
|
42
42
|
/**
|
|
43
43
|
* Custom label text for the rename action in the conversation edit menu.
|
|
44
44
|
* Defaults to translated "Rename" text.
|
|
45
|
-
* @version SDK: 1.
|
|
45
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
46
46
|
*/
|
|
47
47
|
spotterChatRenameLabel?: string;
|
|
48
48
|
/**
|
|
49
49
|
* Custom label text for the delete action in the conversation edit menu.
|
|
50
50
|
* Defaults to translated "DELETE" text.
|
|
51
|
-
* @version SDK: 1.
|
|
51
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
52
52
|
*/
|
|
53
53
|
spotterChatDeleteLabel?: string;
|
|
54
54
|
/**
|
|
55
55
|
* Custom title text for the delete conversation confirmation modal.
|
|
56
56
|
* Defaults to translated "Delete chat" text.
|
|
57
|
-
* @version SDK: 1.
|
|
57
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
58
58
|
*/
|
|
59
59
|
spotterDeleteConversationModalTitle?: string;
|
|
60
60
|
/**
|
|
61
61
|
* Custom message text for the past conversation banner alert.
|
|
62
62
|
* Defaults to translated alert message.
|
|
63
|
-
* @version SDK: 1.
|
|
63
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
64
64
|
*/
|
|
65
65
|
spotterPastConversationAlertMessage?: string;
|
|
66
66
|
/**
|
|
67
67
|
* Custom URL for the documentation/best practices link.
|
|
68
68
|
* Defaults to ThoughtSpot docs URL based on release version.
|
|
69
69
|
* Note: URL must include the protocol (e.g., `https://www.example.com`).
|
|
70
|
-
* @version SDK: 1.
|
|
70
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
71
71
|
*/
|
|
72
72
|
spotterDocumentationUrl?: string;
|
|
73
73
|
/**
|
|
74
74
|
* Custom label text for the best practices button in the footer.
|
|
75
75
|
* Defaults to translated "Best Practices" text.
|
|
76
|
-
* @version SDK: 1.
|
|
76
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
77
77
|
*/
|
|
78
78
|
spotterBestPracticesLabel?: string;
|
|
79
79
|
/**
|
|
80
80
|
* Number of conversations to fetch per batch when loading conversation history.
|
|
81
81
|
* @default 30
|
|
82
|
-
* @version SDK: 1.
|
|
82
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
83
83
|
*/
|
|
84
84
|
spotterConversationsBatchSize?: number;
|
|
85
85
|
/**
|
|
86
86
|
* Custom title text for the "New Chat" button in the sidebar.
|
|
87
87
|
* Defaults to translated "New Chat" text.
|
|
88
|
-
* @version SDK: 1.
|
|
88
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
89
89
|
*/
|
|
90
90
|
spotterNewChatButtonTitle?: string;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
94
|
* Configuration for customizing Spotter chat UI branding.
|
|
95
|
-
* @group Embed components
|
|
96
95
|
* @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
|
|
96
|
+
* @group Embed components
|
|
97
97
|
*/
|
|
98
98
|
export interface SpotterChatViewConfig {
|
|
99
99
|
/**
|
|
@@ -133,6 +133,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
133
133
|
* but still display the selected data source.
|
|
134
134
|
*
|
|
135
135
|
* Supported embed types: `SpotterEmbed`
|
|
136
|
+
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
136
137
|
* @example
|
|
137
138
|
* ```js
|
|
138
139
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -140,13 +141,13 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
140
141
|
* disableSourceSelection : true,
|
|
141
142
|
* })
|
|
142
143
|
* ```
|
|
143
|
-
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
144
144
|
*/
|
|
145
145
|
disableSourceSelection?: boolean;
|
|
146
146
|
/**
|
|
147
147
|
* hideSourceSelection : Hide data source selection
|
|
148
148
|
*
|
|
149
149
|
* Supported embed types: `SpotterEmbed`
|
|
150
|
+
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
150
151
|
* @example
|
|
151
152
|
* ```js
|
|
152
153
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -154,15 +155,14 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
154
155
|
* hideSourceSelection : true,
|
|
155
156
|
* })
|
|
156
157
|
* ```
|
|
157
|
-
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
158
158
|
*/
|
|
159
159
|
hideSourceSelection?: boolean;
|
|
160
160
|
/**
|
|
161
161
|
* Flag to control Data panel experience
|
|
162
162
|
*
|
|
163
163
|
* Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
|
|
164
|
+
* @deprecated from SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
|
|
164
165
|
* @default true
|
|
165
|
-
* @deprecated from SDK 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
|
|
166
166
|
* @example
|
|
167
167
|
* ```js
|
|
168
168
|
* // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
|
|
@@ -179,6 +179,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
179
179
|
* default is false.
|
|
180
180
|
*
|
|
181
181
|
* Supported embed types: `SpotterEmbed`
|
|
182
|
+
* @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
|
|
182
183
|
* @example
|
|
183
184
|
* ```js
|
|
184
185
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -186,7 +187,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
186
187
|
* showSpotterLimitations : true,
|
|
187
188
|
* })
|
|
188
189
|
* ```
|
|
189
|
-
* @version SDK: 1.36.0 | ThoughtSpot: 10.5.0.cl
|
|
190
190
|
*/
|
|
191
191
|
showSpotterLimitations?: boolean;
|
|
192
192
|
/**
|
|
@@ -194,6 +194,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
194
194
|
* the initial screen of the conversation.
|
|
195
195
|
*
|
|
196
196
|
* Supported embed types: `SpotterEmbed`
|
|
197
|
+
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
197
198
|
* @example
|
|
198
199
|
* ```js
|
|
199
200
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -201,7 +202,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
201
202
|
* hideSampleQuestions : true,
|
|
202
203
|
* })
|
|
203
204
|
* ```
|
|
204
|
-
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
205
205
|
*/
|
|
206
206
|
hideSampleQuestions?: boolean;
|
|
207
207
|
/**
|
|
@@ -209,6 +209,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
209
209
|
* visualization, or Liveboard.
|
|
210
210
|
*
|
|
211
211
|
* Supported embed types: `SpotterEmbed`
|
|
212
|
+
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
212
213
|
* @example
|
|
213
214
|
* ```js
|
|
214
215
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -222,7 +223,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
222
223
|
* ],
|
|
223
224
|
* })
|
|
224
225
|
* ```
|
|
225
|
-
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
226
226
|
*/
|
|
227
227
|
runtimeFilters?: RuntimeFilter[];
|
|
228
228
|
/**
|
|
@@ -233,14 +233,15 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
233
233
|
* (default behavior before SDK 1.45.0).
|
|
234
234
|
*
|
|
235
235
|
* Supported embed types: `SpotterEmbed`
|
|
236
|
-
* @default true
|
|
237
236
|
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
237
|
+
* @default true
|
|
238
238
|
*/
|
|
239
239
|
excludeRuntimeFiltersfromURL?: boolean;
|
|
240
240
|
/**
|
|
241
241
|
* The list of runtime parameters to apply to the conversation.
|
|
242
242
|
*
|
|
243
243
|
* Supported embed types: `SpotterEmbed`
|
|
244
|
+
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
244
245
|
* @example
|
|
245
246
|
* ```js
|
|
246
247
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -253,7 +254,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
253
254
|
* ],
|
|
254
255
|
* })
|
|
255
256
|
* ```
|
|
256
|
-
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
257
257
|
*/
|
|
258
258
|
runtimeParameters?: RuntimeParameter[];
|
|
259
259
|
/**
|
|
@@ -264,14 +264,15 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
264
264
|
* the iframe URL instead (default behavior before SDK 1.45.0).
|
|
265
265
|
*
|
|
266
266
|
* Supported embed types: `SpotterEmbed`
|
|
267
|
-
* @default true
|
|
268
267
|
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
|
|
268
|
+
* @default true
|
|
269
269
|
*/
|
|
270
270
|
excludeRuntimeParametersfromURL?: boolean;
|
|
271
271
|
/**
|
|
272
272
|
* updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
|
|
273
273
|
*
|
|
274
274
|
* Supported embed types: `SpotterEmbed`
|
|
275
|
+
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
275
276
|
* @default false
|
|
276
277
|
* @example
|
|
277
278
|
* ```js
|
|
@@ -280,17 +281,30 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
280
281
|
* updatedSpotterChatPrompt : true,
|
|
281
282
|
* })
|
|
282
283
|
* ```
|
|
283
|
-
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
284
284
|
*/
|
|
285
285
|
updatedSpotterChatPrompt?: boolean;
|
|
286
|
+
/**
|
|
287
|
+
* Controls the visibility of the past conversations sidebar.
|
|
288
|
+
*
|
|
289
|
+
* Supported embed types: `SpotterEmbed`
|
|
290
|
+
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
291
|
+
* @deprecated from SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
292
|
+
* Use `spotterSidebarConfig.enablePastConversationsSidebar`.
|
|
293
|
+
* @default false
|
|
294
|
+
*/
|
|
295
|
+
enablePastConversationsSidebar?: boolean;
|
|
286
296
|
/**
|
|
287
297
|
* Configuration for the Spotter sidebar UI customization.
|
|
288
298
|
*
|
|
289
299
|
* Supported embed types: `SpotterEmbed`, `AppEmbed`
|
|
300
|
+
* @version SDK: 1.47.0 | ThoughtSpot: 26.4.0.cl
|
|
290
301
|
* @example
|
|
291
302
|
* ```js
|
|
292
303
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
293
|
-
*
|
|
304
|
+
* worksheetId: 'worksheet-id',
|
|
305
|
+
* // Deprecated standalone flag (backward compatibility)
|
|
306
|
+
* enablePastConversationsSidebar: false,
|
|
307
|
+
* // Recommended config; this value takes precedence
|
|
294
308
|
* spotterSidebarConfig: {
|
|
295
309
|
* enablePastConversationsSidebar: true,
|
|
296
310
|
* spotterSidebarTitle: 'My Conversations',
|
|
@@ -298,7 +312,6 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
298
312
|
* },
|
|
299
313
|
* })
|
|
300
314
|
* ```
|
|
301
|
-
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
302
315
|
*/
|
|
303
316
|
spotterSidebarConfig?: SpotterSidebarViewConfig;
|
|
304
317
|
/**
|
|
@@ -306,6 +319,7 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
306
319
|
* branding in tool response cards.
|
|
307
320
|
*
|
|
308
321
|
* Supported embed types: `SpotterEmbed`
|
|
322
|
+
* @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
|
|
309
323
|
* @example
|
|
310
324
|
* ```js
|
|
311
325
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
@@ -316,15 +330,14 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
|
|
|
316
330
|
* },
|
|
317
331
|
* })
|
|
318
332
|
* ```
|
|
319
|
-
* @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
|
|
320
333
|
*/
|
|
321
334
|
spotterChatConfig?: SpotterChatViewConfig;
|
|
322
335
|
}
|
|
323
336
|
|
|
324
337
|
/**
|
|
325
338
|
* The configuration for the embedded spotterEmbed options.
|
|
326
|
-
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
327
339
|
* Use {@link SpotterEmbedViewConfig} instead
|
|
340
|
+
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
328
341
|
* @group Embed components
|
|
329
342
|
*/
|
|
330
343
|
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
@@ -332,6 +345,7 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {}
|
|
|
332
345
|
|
|
333
346
|
/**
|
|
334
347
|
* Embed ThoughtSpot AI Conversation.
|
|
348
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
335
349
|
* @group Embed components
|
|
336
350
|
* @example
|
|
337
351
|
* ```js
|
|
@@ -343,7 +357,6 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {}
|
|
|
343
357
|
* });
|
|
344
358
|
* conversation.render();
|
|
345
359
|
* ```
|
|
346
|
-
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
347
360
|
*/
|
|
348
361
|
export class SpotterEmbed extends TsEmbed {
|
|
349
362
|
constructor(container: HTMLElement, protected viewConfig: SpotterEmbedViewConfig) {
|
|
@@ -376,7 +389,7 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
376
389
|
|
|
377
390
|
// Extract sidebar config properties
|
|
378
391
|
const {
|
|
379
|
-
enablePastConversationsSidebar,
|
|
392
|
+
enablePastConversationsSidebar: sidebarEnablePastConversationsSidebar,
|
|
380
393
|
spotterSidebarTitle,
|
|
381
394
|
spotterSidebarDefaultExpanded,
|
|
382
395
|
spotterChatRenameLabel,
|
|
@@ -388,6 +401,10 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
388
401
|
spotterConversationsBatchSize,
|
|
389
402
|
spotterNewChatButtonTitle,
|
|
390
403
|
} = spotterSidebarConfig || {};
|
|
404
|
+
const resolvedEnablePastConversationsSidebar = resolveEnablePastConversationsSidebar({
|
|
405
|
+
spotterSidebarConfigValue: sidebarEnablePastConversationsSidebar,
|
|
406
|
+
standaloneValue: this.viewConfig.enablePastConversationsSidebar,
|
|
407
|
+
});
|
|
391
408
|
|
|
392
409
|
if (!worksheetId) {
|
|
393
410
|
this.handleError({
|
|
@@ -407,6 +424,12 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
407
424
|
setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
|
|
408
425
|
setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
|
|
409
426
|
setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
|
|
427
|
+
setParamIfDefined(
|
|
428
|
+
queryParams,
|
|
429
|
+
Param.EnablePastConversationsSidebar,
|
|
430
|
+
resolvedEnablePastConversationsSidebar,
|
|
431
|
+
true,
|
|
432
|
+
);
|
|
410
433
|
setParamIfDefined(queryParams, Param.SpotterSidebarDefaultExpanded, spotterSidebarDefaultExpanded, true);
|
|
411
434
|
|
|
412
435
|
// String params
|
|
@@ -456,16 +479,10 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
456
479
|
excludeRuntimeFiltersfromURL,
|
|
457
480
|
runtimeParameters,
|
|
458
481
|
excludeRuntimeParametersfromURL,
|
|
459
|
-
spotterSidebarConfig,
|
|
460
482
|
} = this.viewConfig;
|
|
461
483
|
const path = 'insights/conv-assist';
|
|
462
484
|
const queryParams = this.getEmbedParamsObject();
|
|
463
485
|
|
|
464
|
-
const enablePastConversationsSidebar = spotterSidebarConfig?.enablePastConversationsSidebar;
|
|
465
|
-
if (!isUndefined(enablePastConversationsSidebar)) {
|
|
466
|
-
queryParams[Param.EnablePastConversationsSidebar] = !!enablePastConversationsSidebar;
|
|
467
|
-
}
|
|
468
|
-
|
|
469
486
|
let query = '';
|
|
470
487
|
const queryParamsString = getQueryParamString(queryParams, true);
|
|
471
488
|
if (queryParamsString) {
|
|
@@ -500,8 +517,9 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
500
517
|
|
|
501
518
|
/**
|
|
502
519
|
* Embed ThoughtSpot AI Conversation.
|
|
503
|
-
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
504
520
|
* Use {@link SpotterEmbed} instead
|
|
521
|
+
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
522
|
+
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
505
523
|
* @group Embed components
|
|
506
524
|
* @example
|
|
507
525
|
* ```js
|
|
@@ -513,7 +531,6 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
513
531
|
* });
|
|
514
532
|
* conversation.render();
|
|
515
533
|
* ```
|
|
516
|
-
* @version SDK: 1.37.0 | ThoughtSpot: 10.9.0.cl
|
|
517
534
|
*/
|
|
518
535
|
export class ConversationEmbed extends SpotterEmbed {
|
|
519
536
|
constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
|
|
@@ -169,7 +169,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
171
|
|
|
172
|
-
test('should set isLiveboardStylingAndGroupingEnabled to true in url', async () => {
|
|
172
|
+
test('should set isLiveboardStylingAndGroupingEnabled to true in url (deprecated, use isLiveboardMasterpiecesEnabled)', async () => {
|
|
173
173
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
174
174
|
isLiveboardStylingAndGroupingEnabled: true,
|
|
175
175
|
...defaultViewConfig,
|