@thoughtspot/visual-embed-sdk 1.44.3 → 1.44.4-HE-beta.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 (192) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +1 -1
  3. package/cjs/src/embed/app.d.ts +44 -32
  4. package/cjs/src/embed/app.d.ts.map +1 -1
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/conversation.d.ts +7 -0
  7. package/cjs/src/embed/conversation.d.ts.map +1 -1
  8. package/cjs/src/embed/conversation.js +9 -0
  9. package/cjs/src/embed/conversation.js.map +1 -1
  10. package/cjs/src/embed/hostEventClient/contracts.d.ts +20 -3
  11. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  12. package/cjs/src/embed/hostEventClient/contracts.js +6 -1
  13. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  14. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  15. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  16. package/cjs/src/embed/hostEventClient/host-event-client.js +18 -18
  17. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  18. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  19. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +10 -4
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js +12 -2
  23. package/cjs/src/embed/liveboard.js.map +1 -1
  24. package/cjs/src/embed/liveboard.spec.js +1 -1
  25. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  26. package/cjs/src/embed/sage.d.ts +7 -0
  27. package/cjs/src/embed/sage.d.ts.map +1 -1
  28. package/cjs/src/embed/sage.js +9 -0
  29. package/cjs/src/embed/sage.js.map +1 -1
  30. package/cjs/src/embed/search-bar.d.ts +7 -0
  31. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  32. package/cjs/src/embed/search-bar.js +9 -0
  33. package/cjs/src/embed/search-bar.js.map +1 -1
  34. package/cjs/src/embed/search.d.ts +7 -0
  35. package/cjs/src/embed/search.d.ts.map +1 -1
  36. package/cjs/src/embed/search.js +9 -0
  37. package/cjs/src/embed/search.js.map +1 -1
  38. package/cjs/src/embed/ts-embed.d.ts +9 -3
  39. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  40. package/cjs/src/embed/ts-embed.js +41 -8
  41. package/cjs/src/embed/ts-embed.js.map +1 -1
  42. package/cjs/src/embed/ts-embed.spec.js +156 -24
  43. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  44. package/cjs/src/errors.d.ts +1 -0
  45. package/cjs/src/errors.d.ts.map +1 -1
  46. package/cjs/src/errors.js +1 -0
  47. package/cjs/src/errors.js.map +1 -1
  48. package/cjs/src/index.d.ts +2 -2
  49. package/cjs/src/index.d.ts.map +1 -1
  50. package/cjs/src/index.js +5 -1
  51. package/cjs/src/index.js.map +1 -1
  52. package/cjs/src/types.d.ts +142 -45
  53. package/cjs/src/types.d.ts.map +1 -1
  54. package/cjs/src/types.js +91 -16
  55. package/cjs/src/types.js.map +1 -1
  56. package/cjs/src/utils/logger.spec.d.ts +20 -5
  57. package/cjs/src/utils/logger.spec.d.ts.map +1 -1
  58. package/cjs/src/utils/processTrigger.d.ts +3 -2
  59. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  60. package/cjs/src/utils/processTrigger.js +4 -2
  61. package/cjs/src/utils/processTrigger.js.map +1 -1
  62. package/cjs/src/utils.d.ts +5 -1
  63. package/cjs/src/utils.d.ts.map +1 -1
  64. package/cjs/src/utils.js +10 -2
  65. package/cjs/src/utils.js.map +1 -1
  66. package/dist/index-BFdRRz03.js +7371 -0
  67. package/dist/index-BUfrYJ3w.js +7371 -0
  68. package/dist/index-CI6s4VMY.js +7371 -0
  69. package/dist/{index-D0n5LIka.js → index-CWQnMX2L.js} +1 -1
  70. package/dist/index-CaW-1mu5.js +7371 -0
  71. package/dist/index-CcSgNJVi.js +7371 -0
  72. package/dist/index-Djtv-y7A.js +7371 -0
  73. package/dist/index-UY-4yjBN.js +7371 -0
  74. package/dist/src/embed/app.d.ts +44 -32
  75. package/dist/src/embed/app.d.ts.map +1 -1
  76. package/dist/src/embed/conversation.d.ts +7 -0
  77. package/dist/src/embed/conversation.d.ts.map +1 -1
  78. package/dist/src/embed/hostEventClient/contracts.d.ts +20 -3
  79. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  80. package/dist/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  81. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  82. package/dist/src/embed/liveboard.d.ts +10 -4
  83. package/dist/src/embed/liveboard.d.ts.map +1 -1
  84. package/dist/src/embed/sage.d.ts +7 -0
  85. package/dist/src/embed/sage.d.ts.map +1 -1
  86. package/dist/src/embed/search-bar.d.ts +7 -0
  87. package/dist/src/embed/search-bar.d.ts.map +1 -1
  88. package/dist/src/embed/search.d.ts +7 -0
  89. package/dist/src/embed/search.d.ts.map +1 -1
  90. package/dist/src/embed/ts-embed.d.ts +9 -3
  91. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  92. package/dist/src/errors.d.ts +1 -0
  93. package/dist/src/errors.d.ts.map +1 -1
  94. package/dist/src/index.d.ts +2 -2
  95. package/dist/src/index.d.ts.map +1 -1
  96. package/dist/src/types.d.ts +142 -45
  97. package/dist/src/types.d.ts.map +1 -1
  98. package/dist/src/utils/logger.spec.d.ts +20 -5
  99. package/dist/src/utils/logger.spec.d.ts.map +1 -1
  100. package/dist/src/utils/processTrigger.d.ts +3 -2
  101. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  102. package/dist/src/utils.d.ts +5 -1
  103. package/dist/src/utils.d.ts.map +1 -1
  104. package/dist/tsembed-react.es.js +218 -50
  105. package/dist/tsembed-react.js +217 -49
  106. package/dist/tsembed.es.js +219 -51
  107. package/dist/tsembed.js +244 -76
  108. package/dist/visual-embed-sdk-react-full.d.ts +245 -82
  109. package/dist/visual-embed-sdk-react.d.ts +251 -90
  110. package/dist/visual-embed-sdk.d.ts +298 -92
  111. package/lib/package.json +1 -1
  112. package/lib/src/embed/app.d.ts +44 -32
  113. package/lib/src/embed/app.d.ts.map +1 -1
  114. package/lib/src/embed/app.js.map +1 -1
  115. package/lib/src/embed/conversation.d.ts +7 -0
  116. package/lib/src/embed/conversation.d.ts.map +1 -1
  117. package/lib/src/embed/conversation.js +9 -0
  118. package/lib/src/embed/conversation.js.map +1 -1
  119. package/lib/src/embed/hostEventClient/contracts.d.ts +20 -3
  120. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  121. package/lib/src/embed/hostEventClient/contracts.js +5 -0
  122. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  123. package/lib/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  124. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  125. package/lib/src/embed/hostEventClient/host-event-client.js +18 -18
  126. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  127. package/lib/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  128. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  129. package/lib/src/embed/liveboard.d.ts +10 -4
  130. package/lib/src/embed/liveboard.d.ts.map +1 -1
  131. package/lib/src/embed/liveboard.js +12 -2
  132. package/lib/src/embed/liveboard.js.map +1 -1
  133. package/lib/src/embed/liveboard.spec.js +1 -1
  134. package/lib/src/embed/liveboard.spec.js.map +1 -1
  135. package/lib/src/embed/sage.d.ts +7 -0
  136. package/lib/src/embed/sage.d.ts.map +1 -1
  137. package/lib/src/embed/sage.js +9 -0
  138. package/lib/src/embed/sage.js.map +1 -1
  139. package/lib/src/embed/search-bar.d.ts +7 -0
  140. package/lib/src/embed/search-bar.d.ts.map +1 -1
  141. package/lib/src/embed/search-bar.js +9 -0
  142. package/lib/src/embed/search-bar.js.map +1 -1
  143. package/lib/src/embed/search.d.ts +7 -0
  144. package/lib/src/embed/search.d.ts.map +1 -1
  145. package/lib/src/embed/search.js +9 -0
  146. package/lib/src/embed/search.js.map +1 -1
  147. package/lib/src/embed/ts-embed.d.ts +9 -3
  148. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  149. package/lib/src/embed/ts-embed.js +41 -8
  150. package/lib/src/embed/ts-embed.js.map +1 -1
  151. package/lib/src/embed/ts-embed.spec.js +156 -24
  152. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  153. package/lib/src/errors.d.ts +1 -0
  154. package/lib/src/errors.d.ts.map +1 -1
  155. package/lib/src/errors.js +1 -0
  156. package/lib/src/errors.js.map +1 -1
  157. package/lib/src/index.d.ts +2 -2
  158. package/lib/src/index.d.ts.map +1 -1
  159. package/lib/src/index.js +2 -2
  160. package/lib/src/index.js.map +1 -1
  161. package/lib/src/types.d.ts +142 -45
  162. package/lib/src/types.d.ts.map +1 -1
  163. package/lib/src/types.js +90 -15
  164. package/lib/src/types.js.map +1 -1
  165. package/lib/src/utils/logger.spec.d.ts +20 -5
  166. package/lib/src/utils/logger.spec.d.ts.map +1 -1
  167. package/lib/src/utils/processTrigger.d.ts +3 -2
  168. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  169. package/lib/src/utils/processTrigger.js +4 -2
  170. package/lib/src/utils/processTrigger.js.map +1 -1
  171. package/lib/src/utils.d.ts +5 -1
  172. package/lib/src/utils.d.ts.map +1 -1
  173. package/lib/src/utils.js +8 -1
  174. package/lib/src/utils.js.map +1 -1
  175. package/package.json +1 -1
  176. package/src/embed/app.ts +45 -32
  177. package/src/embed/conversation.ts +11 -0
  178. package/src/embed/hostEventClient/contracts.ts +23 -4
  179. package/src/embed/hostEventClient/host-event-client.spec.ts +7 -1
  180. package/src/embed/hostEventClient/host-event-client.ts +22 -11
  181. package/src/embed/liveboard.spec.ts +1 -1
  182. package/src/embed/liveboard.ts +18 -5
  183. package/src/embed/sage.ts +11 -0
  184. package/src/embed/search-bar.tsx +11 -0
  185. package/src/embed/search.ts +11 -0
  186. package/src/embed/ts-embed.spec.ts +205 -18
  187. package/src/embed/ts-embed.ts +45 -9
  188. package/src/errors.ts +1 -0
  189. package/src/index.ts +6 -0
  190. package/src/types.ts +146 -43
  191. package/src/utils/processTrigger.ts +6 -3
  192. package/src/utils.ts +10 -1
@@ -140,7 +140,7 @@ describe('Unit test case for ts embed', () => {
140
140
  expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.UIPassthrough, 'http://tshost', {
141
141
  parameters: payload,
142
142
  type: contracts_1.UIPassthroughEvent.PinAnswerToLiveboard,
143
- });
143
+ }, undefined);
144
144
  });
145
145
  });
146
146
  test('Host event with empty param', async () => {
@@ -152,7 +152,7 @@ describe('Unit test case for ts embed', () => {
152
152
  mockProcessTrigger.mockResolvedValue({ session: 'test' });
153
153
  await (0, test_utils_1.executeAfterWait)(async () => {
154
154
  await liveboardEmbed.trigger(types_1.HostEvent.Save);
155
- expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', {});
155
+ expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', {}, undefined);
156
156
  });
157
157
  });
158
158
  test('Host event with falsy param', async () => {
@@ -164,7 +164,7 @@ describe('Unit test case for ts embed', () => {
164
164
  mockProcessTrigger.mockResolvedValue({ session: 'test' });
165
165
  await (0, test_utils_1.executeAfterWait)(async () => {
166
166
  await liveboardEmbed.trigger(types_1.HostEvent.Save, false);
167
- expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', false);
167
+ expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', false, undefined);
168
168
  });
169
169
  });
170
170
  test('should set proper height, width and min-height to iframe', async () => {
@@ -1119,7 +1119,7 @@ describe('Unit test case for ts embed', () => {
1119
1119
  const { mockPreauthInfoFetch, iFrame, } = await setup(true);
1120
1120
  expect(mockPreauthInfoFetch).toHaveBeenCalledTimes(1);
1121
1121
  await (0, test_utils_1.executeAfterWait)(() => {
1122
- expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
1122
+ expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
1123
1123
  });
1124
1124
  });
1125
1125
  test('should not call InfoSuccess Event if overrideOrgId is true', async () => {
@@ -1222,28 +1222,28 @@ describe('Unit test case for ts embed', () => {
1222
1222
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', undefined);
1223
1223
  await (0, test_utils_1.executeAfterWait)(() => {
1224
1224
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1225
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
1225
+ expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
1226
1226
  });
1227
1227
  });
1228
1228
  test('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = false', async () => {
1229
1229
  const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false);
1230
1230
  await (0, test_utils_1.executeAfterWait)(() => {
1231
1231
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1232
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
1232
+ expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
1233
1233
  });
1234
1234
  });
1235
1235
  test('should enable preauth cache for SearchEmbed regardless of showPrimaryNavbar', async () => {
1236
1236
  const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', true);
1237
1237
  await (0, test_utils_1.executeAfterWait)(() => {
1238
1238
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1239
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
1239
+ expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
1240
1240
  });
1241
1241
  });
1242
1242
  test('should enable preauth cache for SearchEmbed (verifies fix for embed type regression)', async () => {
1243
1243
  const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', false);
1244
1244
  await (0, test_utils_1.executeAfterWait)(() => {
1245
1245
  expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
1246
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
1246
+ expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
1247
1247
  });
1248
1248
  });
1249
1249
  test('should disable preauth cache for FullAppEmbed with overrideOrgId (combined condition)', async () => {
@@ -2063,6 +2063,36 @@ describe('Unit test case for ts embed', () => {
2063
2063
  libEmbed.hidePreRender();
2064
2064
  expect(libEmbed.preRender).toHaveBeenCalledTimes(0);
2065
2065
  });
2066
+ it('should set overflow:hidden when hidePreRender and remove when showPreRender', async () => {
2067
+ (0, test_utils_1.createRootEleForEmbed)();
2068
+ window.ResizeObserver = window.ResizeObserver
2069
+ || jest.fn().mockImplementation(() => ({
2070
+ disconnect: jest.fn(),
2071
+ observe: jest.fn(),
2072
+ unobserve: jest.fn(),
2073
+ }));
2074
+ const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
2075
+ preRenderId: 'overflow-test',
2076
+ liveboardId: 'myLiveboardId',
2077
+ });
2078
+ await libEmbed.preRender();
2079
+ await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
2080
+ const preRenderIds = libEmbed.getPreRenderIds();
2081
+ const preRenderWrapper = document.getElementById(preRenderIds.wrapper);
2082
+ // After preRender (calls hidePreRender by default)
2083
+ // should have overflow:hidden
2084
+ expect(preRenderWrapper.style.overflow).toBe('hidden');
2085
+ expect(preRenderWrapper.style.opacity).toBe('0');
2086
+ // After showPreRender, overflow should be removed
2087
+ // to inherit from CSS
2088
+ libEmbed.showPreRender();
2089
+ expect(preRenderWrapper.style.overflow).toBe('');
2090
+ expect(preRenderWrapper.style.opacity).toBe('');
2091
+ // After hidePreRender again, overflow should be hidden
2092
+ libEmbed.hidePreRender();
2093
+ expect(preRenderWrapper.style.overflow).toBe('hidden');
2094
+ expect(preRenderWrapper.style.opacity).toBe('0');
2095
+ });
2066
2096
  it('it should connect with another object', async () => {
2067
2097
  (0, test_utils_1.createRootEleForEmbed)();
2068
2098
  (0, test_utils_1.mockMessageChannel)();
@@ -3297,7 +3327,7 @@ describe('Destroy error handling', () => {
3297
3327
  appEmbed.destroy();
3298
3328
  }).not.toThrow();
3299
3329
  expect(logSpy).toHaveBeenCalledWith('Error destroying TS Embed', expect.any(Error));
3300
- logSpy.mockRestore();
3330
+ logSpy.mockReset();
3301
3331
  });
3302
3332
  });
3303
3333
  describe('Fullscreen change handler behavior', () => {
@@ -3331,7 +3361,7 @@ describe('Fullscreen change handler behavior', () => {
3331
3361
  const event = new Event('fullscreenchange');
3332
3362
  document.dispatchEvent(event);
3333
3363
  await (0, test_utils_1.executeAfterWait)(() => {
3334
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.ExitPresentMode, expect.any(String), expect.any(Object));
3364
+ expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.ExitPresentMode, expect.any(String), expect.any(Object), undefined);
3335
3365
  });
3336
3366
  });
3337
3367
  test('should not trigger ExitPresentMode when entering fullscreen', async () => {
@@ -3360,17 +3390,7 @@ describe('Fullscreen change handler behavior', () => {
3360
3390
  });
3361
3391
  });
3362
3392
  describe('ShowPreRender with UpdateEmbedParams', () => {
3363
- beforeAll(() => {
3364
- (0, index_1.init)({
3365
- thoughtSpotHost: 'tshost',
3366
- authType: index_1.AuthType.None,
3367
- });
3368
- });
3369
- afterEach(() => {
3370
- const rootEle = document.getElementById('myRoot');
3371
- rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
3372
- });
3373
- test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
3393
+ const setupPreRenderTest = async (preRenderId, initialConfig) => {
3374
3394
  (0, test_utils_1.createRootEleForEmbed)();
3375
3395
  (0, test_utils_1.mockMessageChannel)();
3376
3396
  window.ResizeObserver = window.ResizeObserver
@@ -3380,24 +3400,136 @@ describe('ShowPreRender with UpdateEmbedParams', () => {
3380
3400
  unobserve: jest.fn(),
3381
3401
  }));
3382
3402
  const embed1 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
3383
- preRenderId: 'update-params-test',
3384
- liveboardId: 'original-lb',
3403
+ preRenderId,
3404
+ ...initialConfig,
3385
3405
  });
3386
3406
  await embed1.preRender();
3387
3407
  await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
3388
3408
  embed1.isEmbedContainerLoaded = true;
3389
3409
  mockProcessTrigger.mockClear();
3390
3410
  mockProcessTrigger.mockResolvedValue({});
3411
+ return embed1;
3412
+ };
3413
+ beforeAll(() => {
3414
+ (0, index_1.init)({
3415
+ thoughtSpotHost: 'tshost',
3416
+ authType: index_1.AuthType.None,
3417
+ });
3418
+ });
3419
+ afterEach(() => {
3420
+ const rootEle = document.getElementById('myRoot');
3421
+ rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
3422
+ });
3423
+ test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
3424
+ await setupPreRenderTest('update-params-test', { liveboardId: 'original-lb' });
3391
3425
  const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
3392
3426
  preRenderId: 'update-params-test',
3393
3427
  liveboardId: 'updated-lb',
3394
3428
  });
3395
3429
  embed2.showPreRender();
3396
3430
  await (0, test_utils_1.executeAfterWait)(() => {
3397
- expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
3431
+ expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
3398
3432
  liveboardId: 'updated-lb',
3433
+ }), undefined);
3434
+ });
3435
+ });
3436
+ test('should trigger UpdateEmbedParams with runtime filters and visible vizs', async () => {
3437
+ await setupPreRenderTest('url-param-test', { liveboardId: 'original-lb' });
3438
+ const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
3439
+ preRenderId: 'url-param-test',
3440
+ liveboardId: 'original-lb',
3441
+ visibleVizs: ['viz-1'],
3442
+ runtimeFilters: [
3443
+ {
3444
+ columnName: 'Color',
3445
+ operator: types_1.RuntimeFilterOp.IN,
3446
+ values: ['red', 'blue'],
3447
+ },
3448
+ {
3449
+ columnName: 'Region',
3450
+ operator: types_1.RuntimeFilterOp.EQ,
3451
+ values: ['North'],
3452
+ },
3453
+ ],
3454
+ });
3455
+ embed2.showPreRender();
3456
+ await (0, test_utils_1.executeAfterWait)(() => {
3457
+ expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
3458
+ liveboardId: 'original-lb',
3459
+ visibleVizs: ['viz-1'],
3460
+ runtimeFilters: [
3461
+ {
3462
+ columnName: 'Color',
3463
+ operator: types_1.RuntimeFilterOp.IN,
3464
+ values: ['red', 'blue'],
3465
+ },
3466
+ {
3467
+ columnName: 'Region',
3468
+ operator: types_1.RuntimeFilterOp.EQ,
3469
+ values: ['North'],
3470
+ },
3471
+ ],
3472
+ }), undefined);
3473
+ });
3474
+ });
3475
+ test('should trigger UpdateEmbedParams with updated config', async () => {
3476
+ await setupPreRenderTest('preserve-config-test', {
3477
+ liveboardId: 'original-lb',
3478
+ runtimeFilters: [
3479
+ {
3480
+ columnName: 'Color',
3481
+ operator: types_1.RuntimeFilterOp.IN,
3482
+ values: ['red', 'blue'],
3483
+ },
3484
+ ],
3485
+ });
3486
+ const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
3487
+ preRenderId: 'preserve-config-test',
3488
+ liveboardId: 'original-lb',
3489
+ visibleVizs: ['viz-1', 'viz-2'],
3490
+ runtimeFilters: [
3491
+ {
3492
+ columnName: 'Region',
3493
+ operator: types_1.RuntimeFilterOp.EQ,
3494
+ values: ['North'],
3495
+ },
3496
+ ],
3497
+ });
3498
+ embed2.showPreRender();
3499
+ await (0, test_utils_1.executeAfterWait)(() => {
3500
+ expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
3501
+ liveboardId: 'original-lb',
3502
+ visibleVizs: ['viz-1', 'viz-2'],
3503
+ runtimeFilters: [
3504
+ {
3505
+ columnName: 'Region',
3506
+ operator: types_1.RuntimeFilterOp.EQ,
3507
+ values: ['North'],
3508
+ },
3509
+ ],
3510
+ }), undefined);
3511
+ });
3512
+ });
3513
+ test('should handle error when getUpdateEmbedParamsObject fails during showPreRender', async () => {
3514
+ await setupPreRenderTest('error-test', { liveboardId: 'original-lb' });
3515
+ const handleErrorSpy = jest.spyOn(index_1.LiveboardEmbed.prototype, 'handleError');
3516
+ const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
3517
+ preRenderId: 'error-test',
3518
+ liveboardId: 'updated-lb',
3519
+ });
3520
+ const mockError = new Error('Failed to get params');
3521
+ jest.spyOn(embed2, 'getUpdateEmbedParamsObject').mockRejectedValue(mockError);
3522
+ embed2.showPreRender();
3523
+ await (0, test_utils_1.executeAfterWait)(() => {
3524
+ expect(handleErrorSpy).toHaveBeenCalledWith(expect.objectContaining({
3525
+ errorType: types_1.ErrorDetailsTypes.API,
3526
+ message: 'Failed to get params',
3527
+ code: types_1.EmbedErrorCodes.UPDATE_PARAMS_FAILED,
3528
+ error: 'Failed to get params',
3399
3529
  }));
3530
+ expect(mockProcessTrigger).not.toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.any(Object));
3400
3531
  });
3532
+ handleErrorSpy.mockRestore();
3401
3533
  });
3402
3534
  });
3403
3535
  //# sourceMappingURL=ts-embed.spec.js.map