@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.
Files changed (218) hide show
  1. package/cjs/package.json +3 -4
  2. package/cjs/src/auth.d.ts +16 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +5 -1
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts.map +1 -1
  7. package/cjs/src/auth.spec.js +9 -0
  8. package/cjs/src/auth.spec.js.map +1 -1
  9. package/cjs/src/authToken.d.ts +6 -0
  10. package/cjs/src/authToken.d.ts.map +1 -1
  11. package/cjs/src/authToken.js +6 -0
  12. package/cjs/src/authToken.js.map +1 -1
  13. package/cjs/src/embed/app.d.ts +155 -6
  14. package/cjs/src/embed/app.d.ts.map +1 -1
  15. package/cjs/src/embed/app.js +3 -3
  16. package/cjs/src/embed/app.js.map +1 -1
  17. package/cjs/src/embed/app.spec.js +20 -1
  18. package/cjs/src/embed/app.spec.js.map +1 -1
  19. package/cjs/src/embed/base.d.ts.map +1 -1
  20. package/cjs/src/embed/base.js +2 -3
  21. package/cjs/src/embed/base.js.map +1 -1
  22. package/cjs/src/embed/embed.spec.js +0 -15
  23. package/cjs/src/embed/embed.spec.js.map +1 -1
  24. package/cjs/src/embed/liveboard.d.ts +121 -6
  25. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  26. package/cjs/src/embed/liveboard.js +2 -2
  27. package/cjs/src/embed/liveboard.js.map +1 -1
  28. package/cjs/src/embed/liveboard.spec.js +21 -2
  29. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  30. package/cjs/src/embed/pinboard.spec.js +21 -1
  31. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  32. package/cjs/src/embed/sage.d.ts +1 -1
  33. package/cjs/src/embed/sage.d.ts.map +1 -1
  34. package/cjs/src/embed/sage.js +2 -2
  35. package/cjs/src/embed/sage.js.map +1 -1
  36. package/cjs/src/embed/search-bar.d.ts +37 -6
  37. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  38. package/cjs/src/embed/search-bar.js +2 -2
  39. package/cjs/src/embed/search-bar.js.map +1 -1
  40. package/cjs/src/embed/search.d.ts +90 -1
  41. package/cjs/src/embed/search.d.ts.map +1 -1
  42. package/cjs/src/embed/search.js +2 -2
  43. package/cjs/src/embed/search.js.map +1 -1
  44. package/cjs/src/embed/search.spec.js +26 -1
  45. package/cjs/src/embed/search.spec.js.map +1 -1
  46. package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  47. package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  48. package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
  49. package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
  50. package/cjs/src/embed/ts-embed.d.ts +1 -1
  51. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  52. package/cjs/src/embed/ts-embed.js +12 -7
  53. package/cjs/src/embed/ts-embed.js.map +1 -1
  54. package/cjs/src/embed/ts-embed.spec.js +46 -17
  55. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  56. package/cjs/src/index.d.ts +3 -1
  57. package/cjs/src/index.d.ts.map +1 -1
  58. package/cjs/src/index.js +5 -1
  59. package/cjs/src/index.js.map +1 -1
  60. package/cjs/src/react/index.spec.js +1 -1
  61. package/cjs/src/react/index.spec.js.map +1 -1
  62. package/cjs/src/test/test-utils.d.ts +1 -0
  63. package/cjs/src/test/test-utils.d.ts.map +1 -1
  64. package/cjs/src/test/test-utils.js +10 -1
  65. package/cjs/src/test/test-utils.js.map +1 -1
  66. package/cjs/src/tokenizedFetch.d.ts +9 -0
  67. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  68. package/cjs/src/tokenizedFetch.js +9 -0
  69. package/cjs/src/tokenizedFetch.js.map +1 -1
  70. package/cjs/src/types.d.ts +289 -43
  71. package/cjs/src/types.d.ts.map +1 -1
  72. package/cjs/src/types.js +103 -20
  73. package/cjs/src/types.js.map +1 -1
  74. package/cjs/src/utils/authService/authService.d.ts.map +1 -1
  75. package/cjs/src/utils/authService/authService.js +9 -3
  76. package/cjs/src/utils/authService/authService.js.map +1 -1
  77. package/cjs/src/utils/authService/authService.spec.js +22 -0
  78. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  79. package/dist/src/auth.d.ts +16 -1
  80. package/dist/src/auth.d.ts.map +1 -1
  81. package/dist/src/auth.spec.d.ts.map +1 -1
  82. package/dist/src/authToken.d.ts +6 -0
  83. package/dist/src/authToken.d.ts.map +1 -1
  84. package/dist/src/embed/app.d.ts +155 -6
  85. package/dist/src/embed/app.d.ts.map +1 -1
  86. package/dist/src/embed/base.d.ts.map +1 -1
  87. package/dist/src/embed/liveboard.d.ts +121 -6
  88. package/dist/src/embed/liveboard.d.ts.map +1 -1
  89. package/dist/src/embed/sage.d.ts +1 -1
  90. package/dist/src/embed/sage.d.ts.map +1 -1
  91. package/dist/src/embed/search-bar.d.ts +37 -6
  92. package/dist/src/embed/search-bar.d.ts.map +1 -1
  93. package/dist/src/embed/search.d.ts +90 -1
  94. package/dist/src/embed/search.d.ts.map +1 -1
  95. package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  96. package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  97. package/dist/src/embed/ts-embed.d.ts +1 -1
  98. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  99. package/dist/src/index.d.ts +3 -1
  100. package/dist/src/index.d.ts.map +1 -1
  101. package/dist/src/test/test-utils.d.ts +1 -0
  102. package/dist/src/test/test-utils.d.ts.map +1 -1
  103. package/dist/src/tokenizedFetch.d.ts +9 -0
  104. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  105. package/dist/src/types.d.ts +289 -43
  106. package/dist/src/types.d.ts.map +1 -1
  107. package/dist/src/utils/authService/authService.d.ts.map +1 -1
  108. package/dist/tsembed-react.es.js +155 -43
  109. package/dist/tsembed-react.js +141 -42
  110. package/dist/tsembed.es.js +157 -47
  111. package/dist/tsembed.js +144 -45
  112. package/dist/visual-embed-sdk-react-full.d.ts +731 -66
  113. package/dist/visual-embed-sdk-react.d.ts +731 -66
  114. package/dist/visual-embed-sdk.d.ts +731 -66
  115. package/lib/package.json +3 -4
  116. package/lib/src/auth.d.ts +16 -1
  117. package/lib/src/auth.d.ts.map +1 -1
  118. package/lib/src/auth.js +5 -1
  119. package/lib/src/auth.js.map +1 -1
  120. package/lib/src/auth.spec.d.ts.map +1 -1
  121. package/lib/src/auth.spec.js +9 -0
  122. package/lib/src/auth.spec.js.map +1 -1
  123. package/lib/src/authToken.d.ts +6 -0
  124. package/lib/src/authToken.d.ts.map +1 -1
  125. package/lib/src/authToken.js +6 -0
  126. package/lib/src/authToken.js.map +1 -1
  127. package/lib/src/embed/app.d.ts +155 -6
  128. package/lib/src/embed/app.d.ts.map +1 -1
  129. package/lib/src/embed/app.js +3 -3
  130. package/lib/src/embed/app.js.map +1 -1
  131. package/lib/src/embed/app.spec.js +20 -1
  132. package/lib/src/embed/app.spec.js.map +1 -1
  133. package/lib/src/embed/base.d.ts.map +1 -1
  134. package/lib/src/embed/base.js +2 -3
  135. package/lib/src/embed/base.js.map +1 -1
  136. package/lib/src/embed/embed.spec.js +2 -17
  137. package/lib/src/embed/embed.spec.js.map +1 -1
  138. package/lib/src/embed/liveboard.d.ts +121 -6
  139. package/lib/src/embed/liveboard.d.ts.map +1 -1
  140. package/lib/src/embed/liveboard.js +2 -2
  141. package/lib/src/embed/liveboard.js.map +1 -1
  142. package/lib/src/embed/liveboard.spec.js +21 -2
  143. package/lib/src/embed/liveboard.spec.js.map +1 -1
  144. package/lib/src/embed/pinboard.spec.js +21 -1
  145. package/lib/src/embed/pinboard.spec.js.map +1 -1
  146. package/lib/src/embed/sage.d.ts +1 -1
  147. package/lib/src/embed/sage.d.ts.map +1 -1
  148. package/lib/src/embed/sage.js +2 -2
  149. package/lib/src/embed/sage.js.map +1 -1
  150. package/lib/src/embed/search-bar.d.ts +37 -6
  151. package/lib/src/embed/search-bar.d.ts.map +1 -1
  152. package/lib/src/embed/search-bar.js +2 -2
  153. package/lib/src/embed/search-bar.js.map +1 -1
  154. package/lib/src/embed/search.d.ts +90 -1
  155. package/lib/src/embed/search.d.ts.map +1 -1
  156. package/lib/src/embed/search.js +2 -2
  157. package/lib/src/embed/search.js.map +1 -1
  158. package/lib/src/embed/search.spec.js +26 -1
  159. package/lib/src/embed/search.spec.js.map +1 -1
  160. package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  161. package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  162. package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
  163. package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
  164. package/lib/src/embed/ts-embed.d.ts +1 -1
  165. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  166. package/lib/src/embed/ts-embed.js +12 -7
  167. package/lib/src/embed/ts-embed.js.map +1 -1
  168. package/lib/src/embed/ts-embed.spec.js +40 -11
  169. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  170. package/lib/src/index.d.ts +3 -1
  171. package/lib/src/index.d.ts.map +1 -1
  172. package/lib/src/index.js +3 -1
  173. package/lib/src/index.js.map +1 -1
  174. package/lib/src/react/index.spec.js +1 -1
  175. package/lib/src/react/index.spec.js.map +1 -1
  176. package/lib/src/test/test-utils.d.ts +1 -0
  177. package/lib/src/test/test-utils.d.ts.map +1 -1
  178. package/lib/src/test/test-utils.js +8 -0
  179. package/lib/src/test/test-utils.js.map +1 -1
  180. package/lib/src/tokenizedFetch.d.ts +9 -0
  181. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  182. package/lib/src/tokenizedFetch.js +9 -0
  183. package/lib/src/tokenizedFetch.js.map +1 -1
  184. package/lib/src/types.d.ts +289 -43
  185. package/lib/src/types.d.ts.map +1 -1
  186. package/lib/src/types.js +103 -20
  187. package/lib/src/types.js.map +1 -1
  188. package/lib/src/utils/authService/authService.d.ts.map +1 -1
  189. package/lib/src/utils/authService/authService.js +9 -3
  190. package/lib/src/utils/authService/authService.js.map +1 -1
  191. package/lib/src/utils/authService/authService.spec.js +22 -0
  192. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  193. package/lib/src/visual-embed-sdk.d.ts +738 -66
  194. package/package.json +3 -4
  195. package/src/auth.spec.ts +10 -0
  196. package/src/auth.ts +21 -2
  197. package/src/authToken.ts +6 -0
  198. package/src/embed/app.spec.ts +25 -1
  199. package/src/embed/app.ts +163 -11
  200. package/src/embed/base.ts +3 -5
  201. package/src/embed/embed.spec.ts +0 -18
  202. package/src/embed/liveboard.spec.ts +25 -2
  203. package/src/embed/liveboard.ts +128 -9
  204. package/src/embed/pinboard.spec.ts +25 -1
  205. package/src/embed/sage.ts +2 -2
  206. package/src/embed/search-bar.tsx +38 -7
  207. package/src/embed/search.spec.ts +30 -1
  208. package/src/embed/search.ts +97 -4
  209. package/src/embed/ts-embed-trigger.spec.ts +39 -0
  210. package/src/embed/ts-embed.spec.ts +48 -16
  211. package/src/embed/ts-embed.ts +19 -12
  212. package/src/index.ts +4 -0
  213. package/src/react/index.spec.tsx +1 -0
  214. package/src/test/test-utils.ts +9 -0
  215. package/src/tokenizedFetch.ts +9 -0
  216. package/src/types.ts +298 -50
  217. package/src/utils/authService/authService.spec.ts +27 -0
  218. 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.Documentation,
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: [HomeLeftNavItem.Home, HomeLeftNavItem.Documentation],
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
- + `&foo=bar&baz=1&bool=true${defaultParamsPost}#/home`,
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
- + `&showAlerts=true${defaultParamsPost}#/home`,
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
- + `&locale=ja-JP${defaultParamsPost}#/home`,
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
- + `&iconSprite=iconSprite.com${defaultParamsPost}#/home`,
1259
+ + `&iconSprite=iconSprite.com${defaultParamsPost}#/home`,
1228
1260
  );
1229
1261
  });
1230
1262
 
@@ -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
- let host = this.thoughtSpotHost;
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
- + `"${key}" as "${JSON.stringify(preRenderedObject.viewConfig[key])}" `
1094
- + `but a different value "${JSON.stringify(viewConfig[key])}" `
1095
- + 'was passed to the Embed component. '
1096
- + 'The new value provided is ignored, the value provided during '
1097
- + 'preRender is used.',
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';
@@ -135,6 +135,7 @@ describe('React Components', () => {
135
135
  values: [100],
136
136
  },
137
137
  ]}
138
+ excludeRuntimeFiltersfromURL={false}
138
139
  />,
139
140
  );
140
141
 
@@ -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
+ };
@@ -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) {