@thoughtspot/visual-embed-sdk 1.35.6 → 1.35.7

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 (122) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/search-bar.d.ts +24 -1
  3. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  4. package/cjs/src/embed/search-bar.js +13 -2
  5. package/cjs/src/embed/search-bar.js.map +1 -1
  6. package/cjs/src/embed/search.d.ts +26 -1
  7. package/cjs/src/embed/search.d.ts.map +1 -1
  8. package/cjs/src/embed/search.js +16 -2
  9. package/cjs/src/embed/search.js.map +1 -1
  10. package/cjs/src/embed/search.spec.js +49 -0
  11. package/cjs/src/embed/search.spec.js.map +1 -1
  12. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  13. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  14. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +104 -0
  15. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  16. package/cjs/src/embed/ts-embed.d.ts +4 -1
  17. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  18. package/cjs/src/embed/ts-embed.js +49 -32
  19. package/cjs/src/embed/ts-embed.js.map +1 -1
  20. package/cjs/src/embed/ts-embed.spec.js +164 -131
  21. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  22. package/cjs/src/hostEventsTypeMapping.d.ts +2 -0
  23. package/cjs/src/hostEventsTypeMapping.d.ts.map +1 -0
  24. package/cjs/src/hostEventsTypeMapping.js +4 -0
  25. package/cjs/src/hostEventsTypeMapping.js.map +1 -0
  26. package/cjs/src/types.d.ts +11 -0
  27. package/cjs/src/types.d.ts.map +1 -1
  28. package/cjs/src/utils/embedApi/contracts.d.ts +101 -0
  29. package/cjs/src/utils/embedApi/contracts.d.ts.map +1 -0
  30. package/cjs/src/utils/embedApi/contracts.js +17 -0
  31. package/cjs/src/utils/embedApi/contracts.js.map +1 -0
  32. package/cjs/src/utils/embedApi/embedApiClient.d.ts +12 -0
  33. package/cjs/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  34. package/cjs/src/utils/embedApi/embedApiClient.js +46 -0
  35. package/cjs/src/utils/embedApi/embedApiClient.js.map +1 -0
  36. package/cjs/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  37. package/cjs/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  38. package/cjs/src/utils/embedApi/processEmbedApi.js +18 -0
  39. package/cjs/src/utils/embedApi/processEmbedApi.js.map +1 -0
  40. package/dist/{index-Bp8mFlZ-.js → index-BBBimG1x.js} +1 -1
  41. package/dist/index-CENLvayL.js +7370 -0
  42. package/dist/index-CbltIawo.js +7370 -0
  43. package/dist/index-CoQfqaHj.js +7370 -0
  44. package/dist/index-CzwzS0P4.js +7370 -0
  45. package/dist/index-DFwi_pV_.js +7370 -0
  46. package/dist/index-DOIjN0N_.js +7370 -0
  47. package/dist/index-DYBx8SuE.js +7370 -0
  48. package/dist/index-DaLHJaLd.js +7370 -0
  49. package/dist/index-DnJX-gN2.js +7370 -0
  50. package/dist/index-nWevLycs.js +7370 -0
  51. package/dist/src/embed/search-bar.d.ts +24 -1
  52. package/dist/src/embed/search-bar.d.ts.map +1 -1
  53. package/dist/src/embed/search.d.ts +26 -1
  54. package/dist/src/embed/search.d.ts.map +1 -1
  55. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  56. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  57. package/dist/src/embed/ts-embed.d.ts +4 -1
  58. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  59. package/dist/src/hostEventsTypeMapping.d.ts +2 -0
  60. package/dist/src/hostEventsTypeMapping.d.ts.map +1 -0
  61. package/dist/src/types.d.ts +11 -0
  62. package/dist/src/types.d.ts.map +1 -1
  63. package/dist/src/utils/embedApi/contracts.d.ts +101 -0
  64. package/dist/src/utils/embedApi/contracts.d.ts.map +1 -0
  65. package/dist/src/utils/embedApi/embedApiClient.d.ts +12 -0
  66. package/dist/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  67. package/dist/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  68. package/dist/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  69. package/dist/tsembed-react.es.js +81 -39
  70. package/dist/tsembed-react.js +80 -38
  71. package/dist/tsembed.es.js +81 -39
  72. package/dist/tsembed.js +80 -38
  73. package/dist/visual-embed-sdk-react-full.d.ts +62 -0
  74. package/dist/visual-embed-sdk-react.d.ts +62 -0
  75. package/dist/visual-embed-sdk.d.ts +62 -0
  76. package/lib/package.json +1 -1
  77. package/lib/src/embed/search-bar.d.ts +24 -1
  78. package/lib/src/embed/search-bar.d.ts.map +1 -1
  79. package/lib/src/embed/search-bar.js +13 -2
  80. package/lib/src/embed/search-bar.js.map +1 -1
  81. package/lib/src/embed/search.d.ts +26 -1
  82. package/lib/src/embed/search.d.ts.map +1 -1
  83. package/lib/src/embed/search.js +16 -2
  84. package/lib/src/embed/search.js.map +1 -1
  85. package/lib/src/embed/search.spec.js +51 -2
  86. package/lib/src/embed/search.spec.js.map +1 -1
  87. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  88. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  89. package/lib/src/embed/searchEmbed-basic-auth.spec.js +101 -0
  90. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  91. package/lib/src/embed/ts-embed.d.ts +4 -1
  92. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  93. package/lib/src/embed/ts-embed.js +49 -32
  94. package/lib/src/embed/ts-embed.js.map +1 -1
  95. package/lib/src/embed/ts-embed.spec.js +164 -131
  96. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  97. package/lib/src/hostEventsTypeMapping.d.ts +2 -0
  98. package/lib/src/hostEventsTypeMapping.d.ts.map +1 -0
  99. package/lib/src/hostEventsTypeMapping.js +2 -0
  100. package/lib/src/hostEventsTypeMapping.js.map +1 -0
  101. package/lib/src/types.d.ts +11 -0
  102. package/lib/src/types.d.ts.map +1 -1
  103. package/lib/src/utils/embedApi/contracts.d.ts +101 -0
  104. package/lib/src/utils/embedApi/contracts.d.ts.map +1 -0
  105. package/lib/src/utils/embedApi/contracts.js +14 -0
  106. package/lib/src/utils/embedApi/contracts.js.map +1 -0
  107. package/lib/src/utils/embedApi/embedApiClient.d.ts +12 -0
  108. package/lib/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  109. package/lib/src/utils/embedApi/embedApiClient.js +42 -0
  110. package/lib/src/utils/embedApi/embedApiClient.js.map +1 -0
  111. package/lib/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  112. package/lib/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  113. package/lib/src/utils/embedApi/processEmbedApi.js +14 -0
  114. package/lib/src/utils/embedApi/processEmbedApi.js.map +1 -0
  115. package/lib/src/visual-embed-sdk.d.ts +65 -3
  116. package/package.json +1 -1
  117. package/src/embed/search-bar.tsx +36 -2
  118. package/src/embed/search.spec.ts +66 -1
  119. package/src/embed/search.ts +38 -1
  120. package/src/embed/ts-embed.spec.ts +177 -137
  121. package/src/embed/ts-embed.ts +52 -32
  122. package/src/types.ts +12 -0
@@ -153,11 +153,9 @@ describe('Unit test case for ts embed', () => {
153
153
  mockProcessTrigger.mockResolvedValue({ session: 'test' });
154
154
  await executeAfterWait(async () => {
155
155
  const payload = { newVizName: 'test' };
156
- expect(
157
- await searchEmbed.triggerUIPassThrough(
158
- UIPassthroughEvent.PinAnswerToLiveboard,
159
- payload,
160
- ),
156
+ await searchEmbed.triggerUIPassThrough(
157
+ UIPassthroughEvent.PinAnswerToLiveboard,
158
+ payload,
161
159
  );
162
160
  expect(mockProcessTrigger).toHaveBeenCalledWith(
163
161
  getIFrameEl(),
@@ -171,6 +169,26 @@ describe('Unit test case for ts embed', () => {
171
169
  });
172
170
  });
173
171
 
172
+ test('Host event with empty param', async () => {
173
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
174
+ liveboardId: '123',
175
+ ...defaultViewConfig,
176
+ });
177
+ liveboardEmbed.render();
178
+ mockProcessTrigger.mockResolvedValue({ session: 'test' });
179
+ await executeAfterWait(async () => {
180
+ await liveboardEmbed.trigger(
181
+ HostEvent.Save,
182
+ );
183
+ expect(mockProcessTrigger).toHaveBeenCalledWith(
184
+ getIFrameEl(),
185
+ HostEvent.Save,
186
+ 'http://tshost',
187
+ {},
188
+ );
189
+ });
190
+ });
191
+
174
192
  test('should set proper height, width and min-height to iframe', async () => {
175
193
  // we dont have origin specific policies so just checking if
176
194
  // policies are ending with ;
@@ -250,19 +268,21 @@ describe('Unit test case for ts embed', () => {
250
268
  const iframe = getIFrameEl();
251
269
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
252
270
  });
253
- expect(mockPort.postMessage).toHaveBeenCalledWith({
254
- type: EmbedEvent.APP_INIT,
255
- data: {
256
- customisations,
257
- authToken: '',
258
- runtimeFilterParams: null,
259
- runtimeParameterParams: null,
260
- hiddenHomeLeftNavItems: [],
261
- hiddenHomepageModules: [],
262
- hostConfig: undefined,
263
- reorderedHomepageModules: [],
264
- customVariablesForThirdPartyTools,
265
- },
271
+ await executeAfterWait(() => {
272
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
273
+ type: EmbedEvent.APP_INIT,
274
+ data: {
275
+ customisations,
276
+ authToken: '',
277
+ runtimeFilterParams: null,
278
+ runtimeParameterParams: null,
279
+ hiddenHomeLeftNavItems: [],
280
+ hiddenHomepageModules: [],
281
+ hostConfig: undefined,
282
+ reorderedHomepageModules: [],
283
+ customVariablesForThirdPartyTools,
284
+ },
285
+ });
266
286
  });
267
287
  });
268
288
 
@@ -283,19 +303,21 @@ describe('Unit test case for ts embed', () => {
283
303
  const iframe = getIFrameEl();
284
304
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
285
305
  });
286
- expect(mockPort.postMessage).toHaveBeenCalledWith({
287
- type: EmbedEvent.APP_INIT,
288
- data: {
289
- customisations: customisationsView,
290
- authToken: '',
291
- runtimeFilterParams: null,
292
- runtimeParameterParams: null,
293
- hiddenHomeLeftNavItems: [],
294
- hiddenHomepageModules: [],
295
- hostConfig: undefined,
296
- reorderedHomepageModules: [],
297
- customVariablesForThirdPartyTools,
298
- },
306
+ await executeAfterWait(() => {
307
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
308
+ type: EmbedEvent.APP_INIT,
309
+ data: {
310
+ customisations: customisationsView,
311
+ authToken: '',
312
+ runtimeFilterParams: null,
313
+ runtimeParameterParams: null,
314
+ hiddenHomeLeftNavItems: [],
315
+ hiddenHomepageModules: [],
316
+ hostConfig: undefined,
317
+ reorderedHomepageModules: [],
318
+ customVariablesForThirdPartyTools,
319
+ },
320
+ });
299
321
  });
300
322
  });
301
323
 
@@ -321,19 +343,21 @@ describe('Unit test case for ts embed', () => {
321
343
  const iframe = getIFrameEl();
322
344
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
323
345
  });
324
- expect(mockPort.postMessage).toHaveBeenCalledWith({
325
- type: EmbedEvent.APP_INIT,
326
- data: {
327
- customisations,
328
- authToken: '',
329
- hostConfig: undefined,
330
- runtimeFilterParams: null,
331
- runtimeParameterParams: null,
332
- hiddenHomeLeftNavItems: [],
333
- hiddenHomepageModules: [HomepageModule.MyLibrary, HomepageModule.Learning],
334
- reorderedHomepageModules: [],
335
- customVariablesForThirdPartyTools,
336
- },
346
+ await executeAfterWait(() => {
347
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
348
+ type: EmbedEvent.APP_INIT,
349
+ data: {
350
+ customisations,
351
+ authToken: '',
352
+ hostConfig: undefined,
353
+ runtimeFilterParams: null,
354
+ runtimeParameterParams: null,
355
+ hiddenHomeLeftNavItems: [],
356
+ hiddenHomepageModules: [HomepageModule.MyLibrary, HomepageModule.Learning],
357
+ reorderedHomepageModules: [],
358
+ customVariablesForThirdPartyTools,
359
+ },
360
+ });
337
361
  });
338
362
  });
339
363
 
@@ -356,20 +380,21 @@ describe('Unit test case for ts embed', () => {
356
380
  const iframe = getIFrameEl();
357
381
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
358
382
  });
359
-
360
- expect(mockPort.postMessage).toHaveBeenCalledWith({
361
- type: EmbedEvent.APP_INIT,
362
- data: {
363
- customisations,
364
- authToken: '',
365
- hostConfig: undefined,
366
- runtimeFilterParams: null,
367
- runtimeParameterParams: null,
368
- hiddenHomeLeftNavItems: [],
369
- hiddenHomepageModules: [],
370
- reorderedHomepageModules: [],
371
- customVariablesForThirdPartyTools,
372
- },
383
+ await executeAfterWait(() => {
384
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
385
+ type: EmbedEvent.APP_INIT,
386
+ data: {
387
+ customisations,
388
+ authToken: '',
389
+ hostConfig: undefined,
390
+ runtimeFilterParams: null,
391
+ runtimeParameterParams: null,
392
+ hiddenHomeLeftNavItems: [],
393
+ hiddenHomepageModules: [],
394
+ reorderedHomepageModules: [],
395
+ customVariablesForThirdPartyTools,
396
+ },
397
+ });
373
398
  });
374
399
  });
375
400
 
@@ -395,19 +420,22 @@ describe('Unit test case for ts embed', () => {
395
420
  const iframe = getIFrameEl();
396
421
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
397
422
  });
398
- expect(mockPort.postMessage).toHaveBeenCalledWith({
399
- type: EmbedEvent.APP_INIT,
400
- data: {
401
- customisations,
402
- authToken: '',
403
- hostConfig: undefined,
404
- runtimeFilterParams: null,
405
- runtimeParameterParams: null,
406
- hiddenHomeLeftNavItems: [],
407
- hiddenHomepageModules: [],
408
- reorderedHomepageModules: [HomepageModule.MyLibrary, HomepageModule.Watchlist],
409
- customVariablesForThirdPartyTools,
410
- },
423
+ await executeAfterWait(() => {
424
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
425
+ type: EmbedEvent.APP_INIT,
426
+ data: {
427
+ customisations,
428
+ authToken: '',
429
+ hostConfig: undefined,
430
+ runtimeFilterParams: null,
431
+ runtimeParameterParams: null,
432
+ hiddenHomeLeftNavItems: [],
433
+ hiddenHomepageModules: [],
434
+ reorderedHomepageModules:
435
+ [HomepageModule.MyLibrary, HomepageModule.Watchlist],
436
+ customVariablesForThirdPartyTools,
437
+ },
438
+ });
411
439
  });
412
440
  });
413
441
 
@@ -436,19 +464,21 @@ describe('Unit test case for ts embed', () => {
436
464
  const iframe = getIFrameEl();
437
465
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
438
466
  });
439
- expect(mockPort.postMessage).toHaveBeenCalledWith({
440
- type: EmbedEvent.APP_INIT,
441
- data: {
442
- customisations,
443
- authToken: '',
444
- runtimeFilterParams: null,
445
- runtimeParameterParams: 'param1=color&paramVal1=blue',
446
- hiddenHomeLeftNavItems: [],
447
- hiddenHomepageModules: [],
448
- hostConfig: undefined,
449
- reorderedHomepageModules: [],
450
- customVariablesForThirdPartyTools,
451
- },
467
+ await executeAfterWait(() => {
468
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
469
+ type: EmbedEvent.APP_INIT,
470
+ data: {
471
+ customisations,
472
+ authToken: '',
473
+ runtimeFilterParams: null,
474
+ runtimeParameterParams: 'param1=color&paramVal1=blue',
475
+ hiddenHomeLeftNavItems: [],
476
+ hiddenHomepageModules: [],
477
+ hostConfig: undefined,
478
+ reorderedHomepageModules: [],
479
+ customVariablesForThirdPartyTools,
480
+ },
481
+ });
452
482
  });
453
483
  });
454
484
 
@@ -478,19 +508,21 @@ describe('Unit test case for ts embed', () => {
478
508
  const iframe = getIFrameEl();
479
509
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
480
510
  });
481
- expect(mockPort.postMessage).toHaveBeenCalledWith({
482
- type: EmbedEvent.APP_INIT,
483
- data: {
484
- customisations,
485
- authToken: '',
486
- runtimeFilterParams: 'col1=color&op1=EQ&val1=blue',
487
- runtimeParameterParams: null,
488
- hiddenHomeLeftNavItems: [],
489
- hiddenHomepageModules: [],
490
- hostConfig: undefined,
491
- reorderedHomepageModules: [],
492
- customVariablesForThirdPartyTools,
493
- },
511
+ await executeAfterWait(() => {
512
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
513
+ type: EmbedEvent.APP_INIT,
514
+ data: {
515
+ customisations,
516
+ authToken: '',
517
+ runtimeFilterParams: 'col1=color&op1=EQ&val1=blue',
518
+ runtimeParameterParams: null,
519
+ hiddenHomeLeftNavItems: [],
520
+ hiddenHomepageModules: [],
521
+ hostConfig: undefined,
522
+ reorderedHomepageModules: [],
523
+ customVariablesForThirdPartyTools,
524
+ },
525
+ });
494
526
  });
495
527
  });
496
528
 
@@ -519,19 +551,21 @@ describe('Unit test case for ts embed', () => {
519
551
  const iframe = getIFrameEl();
520
552
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
521
553
  });
522
- expect(mockPort.postMessage).toHaveBeenCalledWith({
523
- type: EmbedEvent.APP_INIT,
524
- data: {
525
- customisations,
526
- authToken: '',
527
- runtimeFilterParams: null,
528
- runtimeParameterParams: null,
529
- hiddenHomeLeftNavItems: [],
530
- hiddenHomepageModules: [],
531
- hostConfig: undefined,
532
- reorderedHomepageModules: [],
533
- customVariablesForThirdPartyTools,
534
- },
554
+ await executeAfterWait(() => {
555
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
556
+ type: EmbedEvent.APP_INIT,
557
+ data: {
558
+ customisations,
559
+ authToken: '',
560
+ runtimeFilterParams: null,
561
+ runtimeParameterParams: null,
562
+ hiddenHomeLeftNavItems: [],
563
+ hiddenHomepageModules: [],
564
+ hostConfig: undefined,
565
+ reorderedHomepageModules: [],
566
+ customVariablesForThirdPartyTools,
567
+ },
568
+ });
535
569
  });
536
570
  });
537
571
 
@@ -561,19 +595,21 @@ describe('Unit test case for ts embed', () => {
561
595
  const iframe = getIFrameEl();
562
596
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
563
597
  });
564
- expect(mockPort.postMessage).toHaveBeenCalledWith({
565
- type: EmbedEvent.APP_INIT,
566
- data: {
567
- customisations,
568
- authToken: '',
569
- runtimeFilterParams: null,
570
- runtimeParameterParams: null,
571
- hiddenHomeLeftNavItems: [],
572
- hiddenHomepageModules: [],
573
- hostConfig: undefined,
574
- reorderedHomepageModules: [],
575
- customVariablesForThirdPartyTools,
576
- },
598
+ await executeAfterWait(() => {
599
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
600
+ type: EmbedEvent.APP_INIT,
601
+ data: {
602
+ customisations,
603
+ authToken: '',
604
+ runtimeFilterParams: null,
605
+ runtimeParameterParams: null,
606
+ hiddenHomeLeftNavItems: [],
607
+ hiddenHomepageModules: [],
608
+ hostConfig: undefined,
609
+ reorderedHomepageModules: [],
610
+ customVariablesForThirdPartyTools,
611
+ },
612
+ });
577
613
  });
578
614
  });
579
615
 
@@ -599,20 +635,23 @@ describe('Unit test case for ts embed', () => {
599
635
  const iframe = getIFrameEl();
600
636
  postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
601
637
  });
602
- expect(mockPort.postMessage).toHaveBeenCalledWith({
603
- type: EmbedEvent.APP_INIT,
604
- data: {
605
- customisations,
606
- authToken: '',
607
- hostConfig: undefined,
608
- runtimeFilterParams: null,
609
- runtimeParameterParams: null,
610
- hiddenHomeLeftNavItems:
611
- [HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
612
- hiddenHomepageModules: [],
613
- reorderedHomepageModules: [],
614
- customVariablesForThirdPartyTools,
615
- },
638
+
639
+ await executeAfterWait(() => {
640
+ expect(mockPort.postMessage).toHaveBeenCalledWith({
641
+ type: EmbedEvent.APP_INIT,
642
+ data: {
643
+ customisations,
644
+ authToken: '',
645
+ hostConfig: undefined,
646
+ runtimeFilterParams: null,
647
+ runtimeParameterParams: null,
648
+ hiddenHomeLeftNavItems:
649
+ [HomeLeftNavItem.Home, HomeLeftNavItem.MonitorSubscription],
650
+ hiddenHomepageModules: [],
651
+ reorderedHomepageModules: [],
652
+ customVariablesForThirdPartyTools,
653
+ },
654
+ });
616
655
  });
617
656
  });
618
657
 
@@ -796,6 +835,7 @@ describe('Unit test case for ts embed', () => {
796
835
  authType: AuthType.TrustedAuthTokenCookieless,
797
836
  getAuthToken: () => Promise.reject(),
798
837
  });
838
+ jest.spyOn(logger, 'error').mockResolvedValue(true);
799
839
  });
800
840
 
801
841
  afterEach(() => {
@@ -60,6 +60,7 @@ import {
60
60
  FrameParams,
61
61
  ContextMenuTriggerOptions,
62
62
  RuntimeFilter,
63
+ DefaultAppInitData,
63
64
  } from '../types';
64
65
  import { uploadMixpanelEvent, MIXPANEL_EVENT } from '../mixpanel-service';
65
66
  import { processEventData, processAuthFailure } from '../utils/processData';
@@ -319,43 +320,62 @@ export class TsEmbed {
319
320
  });
320
321
  }
321
322
 
323
+ protected async getAuthTokenForCookielessInit() {
324
+ let authToken = '';
325
+ if (this.embedConfig.authType !== AuthType.TrustedAuthTokenCookieless) return authToken;
326
+
327
+ try {
328
+ authToken = await getAuthenticationToken(this.embedConfig);
329
+ } catch (e) {
330
+ processAuthFailure(e, this.isPreRendered ? this.preRenderWrapper : this.el);
331
+ throw e;
332
+ }
333
+
334
+ return authToken;
335
+ }
336
+
337
+ protected async getDefaultAppInitData(): Promise<DefaultAppInitData> {
338
+ const authToken = await this.getAuthTokenForCookielessInit();
339
+ return {
340
+ customisations: getCustomisations(this.embedConfig, this.viewConfig),
341
+ authToken,
342
+ runtimeFilterParams: this.viewConfig.excludeRuntimeFiltersfromURL
343
+ ? getRuntimeFilters(this.viewConfig.runtimeFilters)
344
+ : null,
345
+ runtimeParameterParams: this.viewConfig.excludeRuntimeParametersfromURL
346
+ ? getRuntimeParameters(this.viewConfig.runtimeParameters || [])
347
+ : null,
348
+ hiddenHomepageModules: this.viewConfig.hiddenHomepageModules || [],
349
+ reorderedHomepageModules: this.viewConfig.reorderedHomepageModules || [],
350
+ hostConfig: this.embedConfig.hostConfig,
351
+ hiddenHomeLeftNavItems: this.viewConfig?.hiddenHomeLeftNavItems
352
+ ? this.viewConfig?.hiddenHomeLeftNavItems
353
+ : [],
354
+ customVariablesForThirdPartyTools:
355
+ this.embedConfig.customVariablesForThirdPartyTools || {},
356
+ };
357
+ }
358
+
359
+ protected async getAppInitData() {
360
+ return this.getDefaultAppInitData();
361
+ }
362
+
322
363
  /**
323
364
  * Send Custom style as part of payload of APP_INIT
324
365
  * @param _
325
366
  * @param responder
326
367
  */
327
368
  private appInitCb = async (_: any, responder: any) => {
328
- let authToken = '';
329
- if (this.embedConfig.authType === AuthType.TrustedAuthTokenCookieless) {
330
- try {
331
- authToken = await getAuthenticationToken(this.embedConfig);
332
- } catch (e) {
333
- processAuthFailure(e, this.isPreRendered ? this.preRenderWrapper : this.el);
334
- return;
335
- }
369
+ try {
370
+ const appInitData = await this.getAppInitData();
371
+ this.isAppInitialized = true;
372
+ responder({
373
+ type: EmbedEvent.APP_INIT,
374
+ data: appInitData,
375
+ });
376
+ } catch (e) {
377
+ logger.error(`AppInit failed, Error : ${e?.message}`);
336
378
  }
337
- this.isAppInitialized = true;
338
- responder({
339
- type: EmbedEvent.APP_INIT,
340
- data: {
341
- customisations: getCustomisations(this.embedConfig, this.viewConfig),
342
- authToken,
343
- runtimeFilterParams: this.viewConfig.excludeRuntimeFiltersfromURL
344
- ? getRuntimeFilters(this.viewConfig.runtimeFilters)
345
- : null,
346
- runtimeParameterParams: this.viewConfig.excludeRuntimeParametersfromURL
347
- ? getRuntimeParameters(this.viewConfig.runtimeParameters || [])
348
- : null,
349
- hiddenHomepageModules: this.viewConfig.hiddenHomepageModules || [],
350
- reorderedHomepageModules: this.viewConfig.reorderedHomepageModules || [],
351
- hostConfig: this.embedConfig.hostConfig,
352
- hiddenHomeLeftNavItems: this.viewConfig?.hiddenHomeLeftNavItems
353
- ? this.viewConfig?.hiddenHomeLeftNavItems
354
- : [],
355
- customVariablesForThirdPartyTools:
356
- this.embedConfig.customVariablesForThirdPartyTools || {},
357
- },
358
- });
359
379
  };
360
380
 
361
381
  /**
@@ -1026,8 +1046,8 @@ export class TsEmbed {
1026
1046
  this.handleError('Host event type is undefined');
1027
1047
  return null;
1028
1048
  }
1029
-
1030
- return this.hostEventClient.triggerHostEvent(messageType, data);
1049
+ // send an empty object, this is needed for liveboard default handlers
1050
+ return this.hostEventClient.triggerHostEvent(messageType, data || {});
1031
1051
  }
1032
1052
 
1033
1053
  /**
package/src/types.ts CHANGED
@@ -4624,3 +4624,15 @@ export enum LogLevel {
4624
4624
  */
4625
4625
  TRACE = 'TRACE',
4626
4626
  }
4627
+
4628
+ export interface DefaultAppInitData {
4629
+ customisations: CustomisationsInterface;
4630
+ authToken: string;
4631
+ runtimeFilterParams: string | null;
4632
+ runtimeParameterParams: string | null;
4633
+ hiddenHomepageModules: HomepageModule[];
4634
+ reorderedHomepageModules: string[];
4635
+ hostConfig: Record<string, any>;
4636
+ hiddenHomeLeftNavItems: string[];
4637
+ customVariablesForThirdPartyTools: Record<string, any>;
4638
+ }