@thoughtspot/visual-embed-sdk 1.28.0-preRender → 1.28.1-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/cjs/package.json +3 -4
- package/cjs/src/auth.d.ts +16 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +5 -1
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.d.ts.map +1 -1
- package/cjs/src/auth.spec.js +9 -0
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/authToken.d.ts +6 -0
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +6 -0
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/embed/app.d.ts +155 -6
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +3 -3
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +20 -1
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +2 -3
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/embed.spec.js +0 -15
- package/cjs/src/embed/embed.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +121 -6
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +2 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +21 -2
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/pinboard.spec.js +21 -1
- package/cjs/src/embed/pinboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +1 -1
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +2 -2
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +37 -6
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js +2 -2
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +90 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +2 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +26 -1
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
- package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
- 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 +12 -7
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +46 -17
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -1
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +5 -1
- package/cjs/src/index.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/test/test-utils.d.ts +1 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +10 -1
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/tokenizedFetch.d.ts +9 -0
- package/cjs/src/tokenizedFetch.d.ts.map +1 -1
- package/cjs/src/tokenizedFetch.js +9 -0
- package/cjs/src/tokenizedFetch.js.map +1 -1
- package/cjs/src/types.d.ts +289 -43
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +103 -20
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/authService.d.ts.map +1 -1
- package/cjs/src/utils/authService/authService.js +9 -3
- package/cjs/src/utils/authService/authService.js.map +1 -1
- package/cjs/src/utils/authService/authService.spec.js +22 -0
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/dist/src/auth.d.ts +16 -1
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/auth.spec.d.ts.map +1 -1
- package/dist/src/authToken.d.ts +6 -0
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +155 -6
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +121 -6
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +1 -1
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +37 -6
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +90 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +1 -0
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/tokenizedFetch.d.ts +9 -0
- package/dist/src/tokenizedFetch.d.ts.map +1 -1
- package/dist/src/types.d.ts +289 -43
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/authService.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +155 -43
- package/dist/tsembed-react.js +141 -42
- package/dist/tsembed.es.js +157 -47
- package/dist/tsembed.js +144 -45
- package/dist/visual-embed-sdk-react-full.d.ts +731 -66
- package/dist/visual-embed-sdk-react.d.ts +731 -66
- package/dist/visual-embed-sdk.d.ts +731 -66
- package/lib/package.json +3 -4
- package/lib/src/auth.d.ts +16 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +5 -1
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts.map +1 -1
- package/lib/src/auth.spec.js +9 -0
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/authToken.d.ts +6 -0
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +6 -0
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/embed/app.d.ts +155 -6
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +3 -3
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +20 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +2 -3
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/embed.spec.js +2 -17
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +121 -6
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +2 -2
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +21 -2
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +21 -1
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +1 -1
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +2 -2
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +37 -6
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +2 -2
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +90 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +2 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +26 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
- package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
- 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 +12 -7
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +40 -11
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +3 -1
- package/lib/src/index.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/test/test-utils.d.ts +1 -0
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +8 -0
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/tokenizedFetch.d.ts +9 -0
- package/lib/src/tokenizedFetch.d.ts.map +1 -1
- package/lib/src/tokenizedFetch.js +9 -0
- package/lib/src/tokenizedFetch.js.map +1 -1
- package/lib/src/types.d.ts +289 -43
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +103 -20
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.d.ts.map +1 -1
- package/lib/src/utils/authService/authService.js +9 -3
- package/lib/src/utils/authService/authService.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +22 -0
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +738 -66
- package/package.json +3 -4
- package/src/auth.spec.ts +10 -0
- package/src/auth.ts +21 -2
- package/src/authToken.ts +6 -0
- package/src/embed/app.spec.ts +25 -1
- package/src/embed/app.ts +163 -11
- package/src/embed/base.ts +3 -5
- package/src/embed/embed.spec.ts +0 -18
- package/src/embed/liveboard.spec.ts +25 -2
- package/src/embed/liveboard.ts +128 -9
- package/src/embed/pinboard.spec.ts +25 -1
- package/src/embed/sage.ts +2 -2
- package/src/embed/search-bar.tsx +38 -7
- package/src/embed/search.spec.ts +30 -1
- package/src/embed/search.ts +97 -4
- package/src/embed/ts-embed-trigger.spec.ts +39 -0
- package/src/embed/ts-embed.spec.ts +48 -16
- package/src/embed/ts-embed.ts +19 -12
- package/src/index.ts +4 -0
- package/src/react/index.spec.tsx +1 -0
- package/src/test/test-utils.ts +9 -0
- package/src/tokenizedFetch.ts +9 -0
- package/src/types.ts +298 -50
- package/src/utils/authService/authService.spec.ts +27 -0
- package/src/utils/authService/authService.ts +14 -13
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
LiveboardEmbed,
|
|
12
12
|
} from '../index';
|
|
13
13
|
import {
|
|
14
|
-
Action, HomeLeftNavItem, RuntimeFilter, RuntimeFilterOp, HomepageModule,
|
|
14
|
+
Action, HomeLeftNavItem, RuntimeFilter, RuntimeFilterOp, HomepageModule, HostEvent,
|
|
15
15
|
} from '../types';
|
|
16
16
|
import {
|
|
17
17
|
executeAfterWait,
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
waitFor,
|
|
25
25
|
expectUrlMatchesWithParams,
|
|
26
26
|
mockMessageChannel,
|
|
27
|
+
createRootEleForEmbed,
|
|
27
28
|
} from '../test/test-utils';
|
|
28
29
|
import * as config from '../config';
|
|
29
30
|
import * as tsEmbedInstance from './ts-embed';
|
|
@@ -47,15 +48,6 @@ const tabId2 = 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0';
|
|
|
47
48
|
const thoughtSpotHost = 'tshost';
|
|
48
49
|
const defaultParamsPost = '';
|
|
49
50
|
|
|
50
|
-
const createRootEleForEmbed = () => {
|
|
51
|
-
const rootEle = document.createElement('div');
|
|
52
|
-
rootEle.id = 'myRoot';
|
|
53
|
-
const tsEmbedDiv = document.createElement('div');
|
|
54
|
-
tsEmbedDiv.id = 'tsEmbedDiv';
|
|
55
|
-
rootEle.appendChild(tsEmbedDiv);
|
|
56
|
-
document.body.appendChild(rootEle);
|
|
57
|
-
};
|
|
58
|
-
|
|
59
51
|
beforeAll(() => {
|
|
60
52
|
spyOn(window, 'alert');
|
|
61
53
|
});
|
|
@@ -317,6 +309,45 @@ describe('Unit test case for ts embed', () => {
|
|
|
317
309
|
});
|
|
318
310
|
});
|
|
319
311
|
|
|
312
|
+
test('Runtime filters from view Config should be not part of app_init payload when excludeRuntimeFiltersfromURL is undefined', async () => {
|
|
313
|
+
const mockEmbedEventPayload = {
|
|
314
|
+
type: EmbedEvent.APP_INIT,
|
|
315
|
+
data: {},
|
|
316
|
+
};
|
|
317
|
+
const mockRuntimeFilters: RuntimeFilter[] = [
|
|
318
|
+
{
|
|
319
|
+
columnName: 'color',
|
|
320
|
+
operator: RuntimeFilterOp.EQ,
|
|
321
|
+
values: ['blue'],
|
|
322
|
+
},
|
|
323
|
+
];
|
|
324
|
+
|
|
325
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
326
|
+
...defaultViewConfig,
|
|
327
|
+
runtimeFilters: mockRuntimeFilters,
|
|
328
|
+
});
|
|
329
|
+
searchEmbed.render();
|
|
330
|
+
const mockPort: any = {
|
|
331
|
+
postMessage: jest.fn(),
|
|
332
|
+
};
|
|
333
|
+
await executeAfterWait(() => {
|
|
334
|
+
const iframe = getIFrameEl();
|
|
335
|
+
postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
|
|
336
|
+
});
|
|
337
|
+
expect(mockPort.postMessage).toHaveBeenCalledWith({
|
|
338
|
+
type: EmbedEvent.APP_INIT,
|
|
339
|
+
data: {
|
|
340
|
+
customisations,
|
|
341
|
+
authToken: '',
|
|
342
|
+
runtimeFilterParams: null,
|
|
343
|
+
hiddenHomeLeftNavItems: [],
|
|
344
|
+
hiddenHomepageModules: [],
|
|
345
|
+
hostConfig: undefined,
|
|
346
|
+
reorderedHomepageModules: [],
|
|
347
|
+
},
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
|
|
320
351
|
test('Runtime filters from view Config should not be part of app_init payload when excludeRuntimeFiltersfromURL is false', async () => {
|
|
321
352
|
const mockEmbedEventPayload = {
|
|
322
353
|
type: EmbedEvent.APP_INIT,
|
|
@@ -364,7 +395,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
364
395
|
};
|
|
365
396
|
const mockedHiddenHomeLeftNavItems: HomeLeftNavItem[] = [
|
|
366
397
|
HomeLeftNavItem.Home,
|
|
367
|
-
HomeLeftNavItem.
|
|
398
|
+
HomeLeftNavItem.MonitorSubscription,
|
|
368
399
|
];
|
|
369
400
|
|
|
370
401
|
const searchEmbed = new AppEmbed(getRootEl(), {
|
|
@@ -386,7 +417,8 @@ describe('Unit test case for ts embed', () => {
|
|
|
386
417
|
authToken: '',
|
|
387
418
|
hostConfig: undefined,
|
|
388
419
|
runtimeFilterParams: null,
|
|
389
|
-
hiddenHomeLeftNavItems:
|
|
420
|
+
hiddenHomeLeftNavItems:
|
|
421
|
+
[HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
|
|
390
422
|
hiddenHomepageModules: [],
|
|
391
423
|
reorderedHomepageModules: [],
|
|
392
424
|
},
|
|
@@ -1176,7 +1208,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1176
1208
|
expectUrlMatchesWithParams(
|
|
1177
1209
|
getIFrameSrc(),
|
|
1178
1210
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1179
|
-
|
|
1211
|
+
+ `&foo=bar&baz=1&bool=true${defaultParamsPost}#/home`,
|
|
1180
1212
|
);
|
|
1181
1213
|
});
|
|
1182
1214
|
|
|
@@ -1192,7 +1224,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1192
1224
|
expectUrlMatchesWithParams(
|
|
1193
1225
|
getIFrameSrc(),
|
|
1194
1226
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1195
|
-
|
|
1227
|
+
+ `&showAlerts=true${defaultParamsPost}#/home`,
|
|
1196
1228
|
);
|
|
1197
1229
|
});
|
|
1198
1230
|
it('Sets the locale param', async () => {
|
|
@@ -1207,7 +1239,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1207
1239
|
expectUrlMatchesWithParams(
|
|
1208
1240
|
getIFrameSrc(),
|
|
1209
1241
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1210
|
-
|
|
1242
|
+
+ `&locale=ja-JP${defaultParamsPost}#/home`,
|
|
1211
1243
|
);
|
|
1212
1244
|
});
|
|
1213
1245
|
it('Sets the iconSprite url', async () => {
|
|
@@ -1224,7 +1256,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1224
1256
|
expectUrlMatchesWithParams(
|
|
1225
1257
|
getIFrameSrc(),
|
|
1226
1258
|
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}`
|
|
1227
|
-
|
|
1259
|
+
+ `&iconSprite=iconSprite.com${defaultParamsPost}#/home`,
|
|
1228
1260
|
);
|
|
1229
1261
|
});
|
|
1230
1262
|
|
package/src/embed/ts-embed.ts
CHANGED
|
@@ -170,7 +170,7 @@ export class TsEmbed {
|
|
|
170
170
|
this.thoughtSpotV2Base = getV2BasePath(this.embedConfig);
|
|
171
171
|
this.eventHandlerMap = new Map();
|
|
172
172
|
this.isError = false;
|
|
173
|
-
this.viewConfig = viewConfig;
|
|
173
|
+
this.viewConfig = { excludeRuntimeFiltersfromURL: false, ...viewConfig };
|
|
174
174
|
this.shouldEncodeUrlQueryParams = this.embedConfig.shouldEncodeUrlQueryParams;
|
|
175
175
|
this.registerAppInit();
|
|
176
176
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_EMBED_CREATE, {
|
|
@@ -518,10 +518,7 @@ export class TsEmbed {
|
|
|
518
518
|
const queryParams = this.shouldEncodeUrlQueryParams
|
|
519
519
|
? `?base64UrlEncodedFlags=${getEncodedQueryParamsString(queryString)}`
|
|
520
520
|
: `?${queryString}`;
|
|
521
|
-
|
|
522
|
-
if (!isUndefined(this.embedConfig.enableReactShell)) {
|
|
523
|
-
host = this.embedConfig.enableReactShell as boolean ? '/v2' : '/v1';
|
|
524
|
-
}
|
|
521
|
+
const host = this.thoughtSpotHost;
|
|
525
522
|
const path = `${host}/${queryParams}#`;
|
|
526
523
|
return path;
|
|
527
524
|
}
|
|
@@ -968,6 +965,16 @@ export class TsEmbed {
|
|
|
968
965
|
*/
|
|
969
966
|
public trigger(messageType: HostEvent, data: any = {}): Promise<any> {
|
|
970
967
|
uploadMixpanelEvent(`${MIXPANEL_EVENT.VISUAL_SDK_TRIGGER}-${messageType}`);
|
|
968
|
+
|
|
969
|
+
if (!this.isRendered) {
|
|
970
|
+
this.handleError('Please call render before triggering events');
|
|
971
|
+
return null;
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
if (!messageType) {
|
|
975
|
+
this.handleError('Host event type is undefined');
|
|
976
|
+
return null;
|
|
977
|
+
}
|
|
971
978
|
return processTrigger(this.iFrame, messageType, this.thoughtSpotHost, data);
|
|
972
979
|
}
|
|
973
980
|
|
|
@@ -978,7 +985,7 @@ export class TsEmbed {
|
|
|
978
985
|
*
|
|
979
986
|
* @param args
|
|
980
987
|
*/
|
|
981
|
-
public render(): TsEmbed {
|
|
988
|
+
public async render(): Promise<TsEmbed> {
|
|
982
989
|
this.isRendered = true;
|
|
983
990
|
|
|
984
991
|
return this;
|
|
@@ -1090,11 +1097,11 @@ export class TsEmbed {
|
|
|
1090
1097
|
) {
|
|
1091
1098
|
logger.warn(
|
|
1092
1099
|
`${viewConfig.embedComponentType || 'Component'} was pre-rendered with `
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1100
|
+
+ `"${key}" as "${JSON.stringify(preRenderedObject.viewConfig[key])}" `
|
|
1101
|
+
+ `but a different value "${JSON.stringify(viewConfig[key])}" `
|
|
1102
|
+
+ 'was passed to the Embed component. '
|
|
1103
|
+
+ 'The new value provided is ignored, the value provided during '
|
|
1104
|
+
+ 'preRender is used.',
|
|
1098
1105
|
);
|
|
1099
1106
|
}
|
|
1100
1107
|
});
|
|
@@ -1236,7 +1243,7 @@ export class V1Embed extends TsEmbed {
|
|
|
1236
1243
|
|
|
1237
1244
|
constructor(domSelector: DOMSelector, viewConfig: ViewConfig) {
|
|
1238
1245
|
super(domSelector, viewConfig);
|
|
1239
|
-
this.viewConfig = viewConfig;
|
|
1246
|
+
this.viewConfig = { excludeRuntimeFiltersfromURL: false, ...viewConfig };
|
|
1240
1247
|
}
|
|
1241
1248
|
|
|
1242
1249
|
/**
|
package/src/index.ts
CHANGED
|
@@ -54,6 +54,7 @@ import { SageEmbed, SageViewConfig } from './embed/sage';
|
|
|
54
54
|
import { AnswerService, SessionInterface, UnderlyingDataPoint } from './utils/graphql/answerService/answerService';
|
|
55
55
|
import { getEmbedConfig } from './embed/embedConfig';
|
|
56
56
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from './mixpanel-service';
|
|
57
|
+
import { tokenizedFetch } from './tokenizedFetch';
|
|
57
58
|
|
|
58
59
|
export {
|
|
59
60
|
init,
|
|
@@ -65,6 +66,7 @@ export {
|
|
|
65
66
|
exportTMLInput,
|
|
66
67
|
getEmbedConfig as getInitConfig,
|
|
67
68
|
getSessionInfo,
|
|
69
|
+
tokenizedFetch,
|
|
68
70
|
SearchEmbed,
|
|
69
71
|
SearchBarEmbed,
|
|
70
72
|
PinboardEmbed,
|
|
@@ -113,3 +115,5 @@ export {
|
|
|
113
115
|
VizPoint,
|
|
114
116
|
CustomActionPayload,
|
|
115
117
|
};
|
|
118
|
+
|
|
119
|
+
export { resetCachedAuthToken } from './authToken';
|
package/src/react/index.spec.tsx
CHANGED
package/src/test/test-utils.ts
CHANGED
|
@@ -116,3 +116,12 @@ export const expectUrlMatch = (source: string, target: string) => {
|
|
|
116
116
|
const targetUrl = new URL(target);
|
|
117
117
|
expect(sourceUrl.hash).toBe(targetUrl.hash);
|
|
118
118
|
};
|
|
119
|
+
|
|
120
|
+
export const createRootEleForEmbed = () => {
|
|
121
|
+
const rootEle = document.createElement('div');
|
|
122
|
+
rootEle.id = 'myRoot';
|
|
123
|
+
const tsEmbedDiv = document.createElement('div');
|
|
124
|
+
tsEmbedDiv.id = 'tsEmbedDiv';
|
|
125
|
+
rootEle.appendChild(tsEmbedDiv);
|
|
126
|
+
document.body.appendChild(rootEle);
|
|
127
|
+
};
|
package/src/tokenizedFetch.ts
CHANGED
|
@@ -3,6 +3,15 @@ import { getEmbedConfig } from './embed/embedConfig';
|
|
|
3
3
|
|
|
4
4
|
import { AuthType } from './types';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Fetch wrapper that adds the authentication token to the request.
|
|
8
|
+
* Use this to call the ThoughtSpot APIs when using the visual embed sdk.
|
|
9
|
+
*
|
|
10
|
+
* @param input
|
|
11
|
+
* @param init
|
|
12
|
+
* @version SDK: 1.28.0
|
|
13
|
+
* @group Global methods
|
|
14
|
+
*/
|
|
6
15
|
export const tokenizedFetch: typeof fetch = async (input, init): Promise<Response> => {
|
|
7
16
|
const embedConfig = getEmbedConfig();
|
|
8
17
|
if (embedConfig.authType !== AuthType.TrustedAuthTokenCookieless) {
|