@thoughtspot/visual-embed-sdk 1.52.0 → 1.52.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 (279) hide show
  1. package/cjs/package.json +9 -1
  2. package/cjs/src/contracts/contracts.spec.d.ts +2 -0
  3. package/cjs/src/contracts/contracts.spec.d.ts.map +1 -0
  4. package/cjs/src/contracts/contracts.spec.js +345 -0
  5. package/cjs/src/contracts/contracts.spec.js.map +1 -0
  6. package/cjs/src/contracts/embed-event-payloads.d.ts +73 -0
  7. package/cjs/src/contracts/embed-event-payloads.d.ts.map +1 -0
  8. package/cjs/src/contracts/embed-event-payloads.js +3 -0
  9. package/cjs/src/contracts/embed-event-payloads.js.map +1 -0
  10. package/cjs/src/contracts/host-event-contracts.d.ts +378 -0
  11. package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -0
  12. package/cjs/src/contracts/host-event-contracts.js +3 -0
  13. package/cjs/src/contracts/host-event-contracts.js.map +1 -0
  14. package/cjs/src/contracts/index.d.ts +22 -0
  15. package/cjs/src/contracts/index.d.ts.map +1 -0
  16. package/cjs/src/contracts/index.js +33 -0
  17. package/cjs/src/contracts/index.js.map +1 -0
  18. package/cjs/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  19. package/cjs/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  20. package/cjs/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  21. package/cjs/src/contracts/ui-passthrough-contracts.js.map +1 -0
  22. package/cjs/src/embed/app.d.ts +17 -140
  23. package/cjs/src/embed/app.d.ts.map +1 -1
  24. package/cjs/src/embed/app.js +20 -120
  25. package/cjs/src/embed/app.js.map +1 -1
  26. package/cjs/src/embed/app.spec.js +70 -26
  27. package/cjs/src/embed/app.spec.js.map +1 -1
  28. package/cjs/src/embed/events.spec.js +12 -2
  29. package/cjs/src/embed/events.spec.js.map +1 -1
  30. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  31. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  32. package/cjs/src/embed/hostEventClient/host-event-client.js +23 -18
  33. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  34. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +36 -36
  35. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  36. package/cjs/src/embed/hostEventClient/utils.d.ts +1 -1
  37. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  38. package/cjs/src/embed/hostEventClient/utils.js +3 -3
  39. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  40. package/cjs/src/embed/liveboard.d.ts +9 -161
  41. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  42. package/cjs/src/embed/liveboard.js +66 -134
  43. package/cjs/src/embed/liveboard.js.map +1 -1
  44. package/cjs/src/embed/liveboard.spec.js +211 -28
  45. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  46. package/cjs/src/embed/search.d.ts +14 -0
  47. package/cjs/src/embed/search.d.ts.map +1 -1
  48. package/cjs/src/embed/search.js +4 -1
  49. package/cjs/src/embed/search.js.map +1 -1
  50. package/cjs/src/embed/search.spec.js +65 -0
  51. package/cjs/src/embed/search.spec.js.map +1 -1
  52. package/cjs/src/embed/ts-embed.d.ts +17 -22
  53. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  54. package/cjs/src/embed/ts-embed.js +82 -56
  55. package/cjs/src/embed/ts-embed.js.map +1 -1
  56. package/cjs/src/embed/ts-embed.spec.js +325 -17
  57. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  58. package/cjs/src/full-height.d.ts +137 -0
  59. package/cjs/src/full-height.d.ts.map +1 -0
  60. package/cjs/src/full-height.js +272 -0
  61. package/cjs/src/full-height.js.map +1 -0
  62. package/cjs/src/full-height.spec.d.ts +2 -0
  63. package/cjs/src/full-height.spec.d.ts.map +1 -0
  64. package/cjs/src/full-height.spec.js +835 -0
  65. package/cjs/src/full-height.spec.js.map +1 -0
  66. package/cjs/src/index.d.ts +4 -3
  67. package/cjs/src/index.d.ts.map +1 -1
  68. package/cjs/src/index.js +3 -3
  69. package/cjs/src/index.js.map +1 -1
  70. package/cjs/src/react/all-types-export.d.ts +1 -1
  71. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  72. package/cjs/src/react/all-types-export.js.map +1 -1
  73. package/cjs/src/react/all-types-export.parity.spec.js +55 -3
  74. package/cjs/src/react/all-types-export.parity.spec.js.map +1 -1
  75. package/cjs/src/types.d.ts +540 -3
  76. package/cjs/src/types.d.ts.map +1 -1
  77. package/cjs/src/types.js +326 -1
  78. package/cjs/src/types.js.map +1 -1
  79. package/cjs/src/utils/processTrigger.d.ts +3 -1
  80. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  81. package/cjs/src/utils/processTrigger.js +19 -51
  82. package/cjs/src/utils/processTrigger.js.map +1 -1
  83. package/cjs/src/utils/transport/iframe-transport.d.ts +55 -0
  84. package/cjs/src/utils/transport/iframe-transport.d.ts.map +1 -0
  85. package/cjs/src/utils/transport/iframe-transport.js +108 -0
  86. package/cjs/src/utils/transport/iframe-transport.js.map +1 -0
  87. package/cjs/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  88. package/cjs/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  89. package/cjs/src/utils/transport/iframe-transport.spec.js +140 -0
  90. package/cjs/src/utils/transport/iframe-transport.spec.js.map +1 -0
  91. package/cjs/src/utils.d.ts +18 -0
  92. package/cjs/src/utils.d.ts.map +1 -1
  93. package/cjs/src/utils.js +39 -1
  94. package/cjs/src/utils.js.map +1 -1
  95. package/cjs/src/utils.spec.js +62 -0
  96. package/cjs/src/utils.spec.js.map +1 -1
  97. package/dist/{index-BMppCU63.js → index-C1pmYb5H.js} +1 -1
  98. package/dist/src/contracts/contracts.spec.d.ts +2 -0
  99. package/dist/src/contracts/contracts.spec.d.ts.map +1 -0
  100. package/dist/src/contracts/embed-event-payloads.d.ts +73 -0
  101. package/dist/src/contracts/embed-event-payloads.d.ts.map +1 -0
  102. package/dist/src/contracts/host-event-contracts.d.ts +378 -0
  103. package/dist/src/contracts/host-event-contracts.d.ts.map +1 -0
  104. package/dist/src/contracts/index.d.ts +22 -0
  105. package/dist/src/contracts/index.d.ts.map +1 -0
  106. package/dist/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  107. package/dist/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  108. package/dist/src/embed/app.d.ts +17 -140
  109. package/dist/src/embed/app.d.ts.map +1 -1
  110. package/dist/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  111. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  112. package/dist/src/embed/hostEventClient/utils.d.ts +1 -1
  113. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  114. package/dist/src/embed/liveboard.d.ts +9 -161
  115. package/dist/src/embed/liveboard.d.ts.map +1 -1
  116. package/dist/src/embed/search.d.ts +14 -0
  117. package/dist/src/embed/search.d.ts.map +1 -1
  118. package/dist/src/embed/ts-embed.d.ts +17 -22
  119. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  120. package/dist/src/full-height.d.ts +137 -0
  121. package/dist/src/full-height.d.ts.map +1 -0
  122. package/dist/src/full-height.spec.d.ts +2 -0
  123. package/dist/src/full-height.spec.d.ts.map +1 -0
  124. package/dist/src/index.d.ts +4 -3
  125. package/dist/src/index.d.ts.map +1 -1
  126. package/dist/src/react/all-types-export.d.ts +1 -1
  127. package/dist/src/react/all-types-export.d.ts.map +1 -1
  128. package/dist/src/types.d.ts +540 -3
  129. package/dist/src/types.d.ts.map +1 -1
  130. package/dist/src/utils/processTrigger.d.ts +3 -1
  131. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  132. package/dist/src/utils/transport/iframe-transport.d.ts +55 -0
  133. package/dist/src/utils/transport/iframe-transport.d.ts.map +1 -0
  134. package/dist/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  135. package/dist/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  136. package/dist/src/utils.d.ts +18 -0
  137. package/dist/src/utils.d.ts.map +1 -1
  138. package/dist/tsembed-react.es.js +925 -363
  139. package/dist/tsembed-react.js +924 -362
  140. package/dist/tsembed.es.js +925 -363
  141. package/dist/tsembed.js +924 -362
  142. package/dist/visual-embed-sdk-react-full.d.ts +1357 -656
  143. package/dist/visual-embed-sdk-react.d.ts +1257 -606
  144. package/dist/visual-embed-sdk.d.ts +1320 -642
  145. package/lib/package.json +9 -1
  146. package/lib/src/contracts/contracts.spec.d.ts +2 -0
  147. package/lib/src/contracts/contracts.spec.d.ts.map +1 -0
  148. package/lib/src/contracts/contracts.spec.js +342 -0
  149. package/lib/src/contracts/contracts.spec.js.map +1 -0
  150. package/lib/src/contracts/embed-event-payloads.d.ts +73 -0
  151. package/lib/src/contracts/embed-event-payloads.d.ts.map +1 -0
  152. package/lib/src/contracts/embed-event-payloads.js +2 -0
  153. package/lib/src/contracts/embed-event-payloads.js.map +1 -0
  154. package/lib/src/contracts/host-event-contracts.d.ts +378 -0
  155. package/lib/src/contracts/host-event-contracts.d.ts.map +1 -0
  156. package/lib/src/contracts/host-event-contracts.js +2 -0
  157. package/lib/src/contracts/host-event-contracts.js.map +1 -0
  158. package/lib/src/contracts/index.d.ts +22 -0
  159. package/lib/src/contracts/index.d.ts.map +1 -0
  160. package/lib/src/contracts/index.js +22 -0
  161. package/lib/src/contracts/index.js.map +1 -0
  162. package/lib/src/contracts/ui-passthrough-contracts.d.ts +277 -0
  163. package/lib/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
  164. package/lib/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
  165. package/lib/src/contracts/ui-passthrough-contracts.js.map +1 -0
  166. package/lib/src/embed/app.d.ts +17 -140
  167. package/lib/src/embed/app.d.ts.map +1 -1
  168. package/lib/src/embed/app.js +22 -122
  169. package/lib/src/embed/app.js.map +1 -1
  170. package/lib/src/embed/app.spec.js +70 -26
  171. package/lib/src/embed/app.spec.js.map +1 -1
  172. package/lib/src/embed/events.spec.js +12 -2
  173. package/lib/src/embed/events.spec.js.map +1 -1
  174. package/lib/src/embed/hostEventClient/host-event-client.d.ts +3 -2
  175. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  176. package/lib/src/embed/hostEventClient/host-event-client.js +6 -1
  177. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  178. package/lib/src/embed/hostEventClient/host-event-client.spec.js +1 -1
  179. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  180. package/lib/src/embed/hostEventClient/utils.d.ts +1 -1
  181. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  182. package/lib/src/embed/hostEventClient/utils.js +1 -1
  183. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  184. package/lib/src/embed/liveboard.d.ts +9 -161
  185. package/lib/src/embed/liveboard.d.ts.map +1 -1
  186. package/lib/src/embed/liveboard.js +67 -135
  187. package/lib/src/embed/liveboard.js.map +1 -1
  188. package/lib/src/embed/liveboard.spec.js +211 -28
  189. package/lib/src/embed/liveboard.spec.js.map +1 -1
  190. package/lib/src/embed/search.d.ts +14 -0
  191. package/lib/src/embed/search.d.ts.map +1 -1
  192. package/lib/src/embed/search.js +4 -1
  193. package/lib/src/embed/search.js.map +1 -1
  194. package/lib/src/embed/search.spec.js +65 -0
  195. package/lib/src/embed/search.spec.js.map +1 -1
  196. package/lib/src/embed/ts-embed.d.ts +17 -22
  197. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  198. package/lib/src/embed/ts-embed.js +82 -56
  199. package/lib/src/embed/ts-embed.js.map +1 -1
  200. package/lib/src/embed/ts-embed.spec.js +322 -14
  201. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  202. package/lib/src/full-height.d.ts +137 -0
  203. package/lib/src/full-height.d.ts.map +1 -0
  204. package/lib/src/full-height.js +268 -0
  205. package/lib/src/full-height.js.map +1 -0
  206. package/lib/src/full-height.spec.d.ts +2 -0
  207. package/lib/src/full-height.spec.d.ts.map +1 -0
  208. package/lib/src/full-height.spec.js +833 -0
  209. package/lib/src/full-height.spec.js.map +1 -0
  210. package/lib/src/index.d.ts +4 -3
  211. package/lib/src/index.d.ts.map +1 -1
  212. package/lib/src/index.js +1 -1
  213. package/lib/src/index.js.map +1 -1
  214. package/lib/src/react/all-types-export.d.ts +1 -1
  215. package/lib/src/react/all-types-export.d.ts.map +1 -1
  216. package/lib/src/react/all-types-export.js.map +1 -1
  217. package/lib/src/react/all-types-export.parity.spec.js +55 -3
  218. package/lib/src/react/all-types-export.parity.spec.js.map +1 -1
  219. package/lib/src/types.d.ts +540 -3
  220. package/lib/src/types.d.ts.map +1 -1
  221. package/lib/src/types.js +326 -1
  222. package/lib/src/types.js.map +1 -1
  223. package/lib/src/utils/processTrigger.d.ts +3 -1
  224. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  225. package/lib/src/utils/processTrigger.js +19 -51
  226. package/lib/src/utils/processTrigger.js.map +1 -1
  227. package/lib/src/utils/transport/iframe-transport.d.ts +55 -0
  228. package/lib/src/utils/transport/iframe-transport.d.ts.map +1 -0
  229. package/lib/src/utils/transport/iframe-transport.js +101 -0
  230. package/lib/src/utils/transport/iframe-transport.js.map +1 -0
  231. package/lib/src/utils/transport/iframe-transport.spec.d.ts +2 -0
  232. package/lib/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
  233. package/lib/src/utils/transport/iframe-transport.spec.js +138 -0
  234. package/lib/src/utils/transport/iframe-transport.spec.js.map +1 -0
  235. package/lib/src/utils.d.ts +18 -0
  236. package/lib/src/utils.d.ts.map +1 -1
  237. package/lib/src/utils.js +37 -0
  238. package/lib/src/utils.js.map +1 -1
  239. package/lib/src/utils.spec.js +63 -1
  240. package/lib/src/utils.spec.js.map +1 -1
  241. package/lib/src/visual-embed-sdk.d.ts +1320 -642
  242. package/package.json +9 -1
  243. package/src/contracts/contracts.spec.ts +392 -0
  244. package/src/contracts/embed-event-payloads.ts +83 -0
  245. package/src/contracts/host-event-contracts.ts +456 -0
  246. package/src/contracts/index.ts +53 -0
  247. package/src/contracts/ui-passthrough-contracts.ts +301 -0
  248. package/src/embed/app.spec.ts +86 -34
  249. package/src/embed/app.ts +37 -264
  250. package/src/embed/events.spec.ts +14 -2
  251. package/src/embed/hostEventClient/host-event-client.spec.ts +2 -2
  252. package/src/embed/hostEventClient/host-event-client.ts +18 -5
  253. package/src/embed/hostEventClient/utils.ts +2 -1
  254. package/src/embed/liveboard.spec.ts +257 -38
  255. package/src/embed/liveboard.ts +75 -296
  256. package/src/embed/search.spec.ts +80 -0
  257. package/src/embed/search.ts +20 -0
  258. package/src/embed/ts-embed.spec.ts +448 -15
  259. package/src/embed/ts-embed.ts +109 -66
  260. package/src/full-height.spec.ts +1008 -0
  261. package/src/full-height.ts +361 -0
  262. package/src/index.ts +93 -5
  263. package/src/react/all-types-export.parity.spec.ts +63 -3
  264. package/src/react/all-types-export.ts +45 -0
  265. package/src/types.ts +540 -1
  266. package/src/utils/processTrigger.ts +28 -58
  267. package/src/utils/transport/iframe-transport.spec.ts +177 -0
  268. package/src/utils/transport/iframe-transport.ts +122 -0
  269. package/src/utils.spec.ts +71 -0
  270. package/src/utils.ts +38 -0
  271. package/cjs/src/embed/hostEventClient/contracts.d.ts +0 -231
  272. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  273. package/cjs/src/embed/hostEventClient/contracts.js.map +0 -1
  274. package/dist/src/embed/hostEventClient/contracts.d.ts +0 -231
  275. package/dist/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  276. package/lib/src/embed/hostEventClient/contracts.d.ts +0 -231
  277. package/lib/src/embed/hostEventClient/contracts.d.ts.map +0 -1
  278. package/lib/src/embed/hostEventClient/contracts.js.map +0 -1
  279. package/src/embed/hostEventClient/contracts.ts +0 -262
@@ -8,9 +8,9 @@
8
8
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
9
9
  */
10
10
  import { logger } from '../utils/logger';
11
- import { calculateVisibleElementData, getEffectiveClippingAncestors, getQueryParamString, getScrollableAncestors, isUndefined, isValidCssMargin, setParamIfDefined } from '../utils';
12
- import { DEFAULT_LAZY_LOADING_MARGIN } from '../config';
13
- import { Param, HostEvent, EmbedEvent, } from '../types';
11
+ import { getQueryParamString, isUndefined, setParamIfDefined } from '../utils';
12
+ import { Param, HostEvent, } from '../types';
13
+ import { FullHeightController } from '../full-height';
14
14
  import { V1Embed } from './ts-embed';
15
15
  import { buildSpotterSidebarAppInitData, buildSpotterShareConversationAppInitData, buildStarterPromptsAppInitData } from './spotter-utils';
16
16
  import { buildSpotterVizAppInitData } from './spotter-viz-utils';
@@ -150,73 +150,17 @@ export class AppEmbed extends V1Embed {
150
150
  constructor(domSelector, viewConfig) {
151
151
  viewConfig.embedComponentType = 'AppEmbed';
152
152
  super(domSelector, viewConfig);
153
- this.defaultHeight = 500;
154
- this.lazyLoadScrollContainers = [];
155
- this.sendFullHeightLazyLoadData = () => {
156
- const data = calculateVisibleElementData(this.iFrame, this.viewConfig.enableScrollableContainerLazyLoading);
157
- // this should be fired only if the lazyLoadingForFullHeight and fullHeight are true
158
- if (this.viewConfig.lazyLoadingForFullHeight && this.viewConfig.fullHeight) {
159
- this.trigger(HostEvent.VisibleEmbedCoordinates, data);
160
- }
161
- };
162
- /**
163
- * This is a handler for the RequestVisibleEmbedCoordinates event.
164
- * It is used to send the visible coordinates data to the host application.
165
- * @param data The event payload
166
- * @param responder The responder function
167
- */
168
- this.requestVisibleEmbedCoordinatesHandler = (data, responder) => {
169
- logger.info('Sending RequestVisibleEmbedCoordinates', data);
170
- const visibleCoordinatesData = calculateVisibleElementData(this.iFrame, this.viewConfig.enableScrollableContainerLazyLoading);
171
- responder({ type: EmbedEvent.RequestVisibleEmbedCoordinates, data: visibleCoordinatesData });
172
- };
173
- /**
174
- * Set the iframe height as per the computed height received
175
- * from the ThoughtSpot app.
176
- * @param data The event payload
177
- */
178
- this.updateIFrameHeight = (data) => {
179
- this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
180
- this.sendFullHeightLazyLoadData();
181
- };
182
- this.embedIframeCenter = (data, responder) => {
183
- const obj = this.getIframeCenter();
184
- responder({ type: EmbedEvent.EmbedIframeCenter, data: obj });
185
- };
186
- this.setIframeHeightForNonEmbedLiveboard = (data) => {
187
- const { height: frameHeight } = this.viewConfig.frameParams || {};
188
- const liveboardRelatedRoutes = [
189
- '/pinboard/',
190
- '/insights/pinboard/',
191
- '/schedules/',
192
- '/embed/viz/',
193
- '/embed/insights/viz/',
194
- '/liveboard/',
195
- '/insights/liveboard/',
196
- '/tsl-editor/PINBOARD_ANSWER_BOOK/',
197
- '/import-tsl/PINBOARD_ANSWER_BOOK/',
198
- ];
199
- if (liveboardRelatedRoutes.some((path) => data.data.currentPath.startsWith(path))) {
200
- // Ignore the height reset of the frame, if the navigation is
201
- // only within the liveboard page.
202
- return;
203
- }
204
- this.setIFrameHeight(frameHeight || this.defaultHeight);
205
- };
206
153
  if (this.viewConfig.fullHeight === true) {
207
- if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
208
- this.viewConfig.lazyLoadingForFullHeight = true;
209
- }
210
- if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
211
- this.viewConfig.enableScrollableContainerLazyLoading = true;
212
- }
213
- if (this.viewConfig.lazyLoadingMargin === undefined) {
214
- this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
215
- }
216
- this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
217
- this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
218
- this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
219
- this.on(EmbedEvent.RequestVisibleEmbedCoordinates, this.requestVisibleEmbedCoordinatesHandler);
154
+ this.fullHeightController = new FullHeightController(this.viewConfig, {
155
+ getIframe: () => this.iFrame,
156
+ setFrameHeight: (height) => this.setIFrameHeight(height),
157
+ on: (eventType, callback) => {
158
+ this.on(eventType, callback);
159
+ },
160
+ trigger: (hostEvent, data) => {
161
+ this.trigger(hostEvent, data);
162
+ },
163
+ });
220
164
  }
221
165
  }
222
166
  /**
@@ -247,7 +191,8 @@ export class AppEmbed extends V1Embed {
247
191
  return getQueryParamString(params, true);
248
192
  }
249
193
  getEmbedParamsObject() {
250
- const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
194
+ var _a;
195
+ const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, hideAnswerEditPanel, } = this.viewConfig;
251
196
  let params = {};
252
197
  params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
253
198
  params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
@@ -283,6 +228,9 @@ export class AppEmbed extends V1Embed {
283
228
  if (!isUndefined(coverAndFilterOptionInPDF)) {
284
229
  params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
285
230
  }
231
+ if (!isUndefined(hideAnswerEditPanel)) {
232
+ params[Param.ShowAnswerEditPanel] = !hideAnswerEditPanel;
233
+ }
286
234
  params = this.getBaseQueryParams(params);
287
235
  if (!isUndefined(updatedSpotterChatPrompt)) {
288
236
  params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
@@ -329,15 +277,7 @@ export class AppEmbed extends V1Embed {
329
277
  if (hideNotification) {
330
278
  params[Param.HideNotification] = !!hideNotification;
331
279
  }
332
- if (fullHeight === true) {
333
- params[Param.fullHeight] = true;
334
- if (this.viewConfig.lazyLoadingForFullHeight) {
335
- params[Param.IsLazyLoadingForEmbedEnabled] = true;
336
- if (isValidCssMargin(this.viewConfig.lazyLoadingMargin)) {
337
- params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
338
- }
339
- }
340
- }
280
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.addQueryParams(params);
341
281
  if (tag) {
342
282
  params[Param.Tag] = tag;
343
283
  }
@@ -404,7 +344,6 @@ export class AppEmbed extends V1Embed {
404
344
  if (isContinuousLiveboardPDFEnabled !== undefined) {
405
345
  params[Param.IsWYSIWYGLiveboardPDFEnabled] = isContinuousLiveboardPDFEnabled;
406
346
  }
407
- this.defaultHeight = minimumHeight || this.defaultHeight;
408
347
  if (enableLiveboardDataCache !== undefined) {
409
348
  params[Param.EnableLiveboardDataCache] = enableLiveboardDataCache;
410
349
  }
@@ -543,52 +482,13 @@ export class AppEmbed extends V1Embed {
543
482
  * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
544
483
  */
545
484
  destroy() {
485
+ var _a;
546
486
  super.destroy();
547
- this.unregisterLazyLoadEvents();
487
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.destroy();
548
488
  }
549
489
  postRender() {
550
- this.registerLazyLoadEvents();
551
- }
552
- registerLazyLoadEvents() {
553
- if (!this.iFrame) {
554
- return;
555
- }
556
- if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
557
- this.unregisterLazyLoadEvents();
558
- // TODO: Use passive: true, install modernizr to check for passive
559
- window.addEventListener('resize', this.sendFullHeightLazyLoadData);
560
- window.addEventListener('scroll', this.sendFullHeightLazyLoadData, true);
561
- if (!this.viewConfig.enableScrollableContainerLazyLoading) {
562
- return;
563
- }
564
- this.lazyLoadScrollContainers = getScrollableAncestors(this.iFrame);
565
- this.lazyLoadScrollContainers.forEach((scrollContainer) => {
566
- scrollContainer.addEventListener('scroll', this.sendFullHeightLazyLoadData);
567
- });
568
- if (typeof ResizeObserver !== 'undefined') {
569
- const resizeTargets = new Set([
570
- this.iFrame.parentElement,
571
- ...getEffectiveClippingAncestors(this.iFrame),
572
- ].filter(Boolean));
573
- this.lazyLoadResizeObserver = new ResizeObserver(this.sendFullHeightLazyLoadData);
574
- resizeTargets.forEach((resizeTarget) => {
575
- this.lazyLoadResizeObserver.observe(resizeTarget);
576
- });
577
- }
578
- }
579
- }
580
- unregisterLazyLoadEvents() {
581
490
  var _a;
582
- if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
583
- window.removeEventListener('resize', this.sendFullHeightLazyLoadData);
584
- window.removeEventListener('scroll', this.sendFullHeightLazyLoadData, true);
585
- (_a = this.lazyLoadResizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
586
- this.lazyLoadResizeObserver = undefined;
587
- this.lazyLoadScrollContainers.forEach((scrollContainer) => {
588
- scrollContainer.removeEventListener('scroll', this.sendFullHeightLazyLoadData);
589
- });
590
- this.lazyLoadScrollContainers = [];
591
- }
491
+ (_a = this.fullHeightController) === null || _a === void 0 ? void 0 : _a.onRender();
592
492
  }
593
493
  /**
594
494
  * Renders the embedded application pages in the ThoughtSpot app.
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/embed/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/embed/app.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ const testUrlParams = async (viewConfig, expectedUrl) => {
28
28
  expectUrlMatchesWithParams(getIFrameSrc(), expectedUrl);
29
29
  });
30
30
  };
31
- // Helper function to test setIframeHeightForNonEmbedLiveboard behavior
31
+ // Helper function to test the full-height route-change behavior
32
32
  const testSetIframeHeightBehavior = (currentPath, shouldBeCalled) => {
33
33
  const appEmbed = new AppEmbed(getRootEl(), {
34
34
  ...defaultViewConfig,
@@ -38,7 +38,7 @@ const testSetIframeHeightBehavior = (currentPath, shouldBeCalled) => {
38
38
  ? jest.spyOn(appEmbed, 'setIFrameHeight').mockImplementation(jest.fn())
39
39
  : jest.spyOn(appEmbed, 'setIFrameHeight');
40
40
  appEmbed.render();
41
- appEmbed.setIframeHeightForNonEmbedLiveboard({
41
+ appEmbed.fullHeightController.handleRouteChange({
42
42
  data: { currentPath },
43
43
  type: 'Route',
44
44
  });
@@ -1345,6 +1345,7 @@ describe('App embed tests', () => {
1345
1345
  });
1346
1346
  test('should register event handlers to adjust iframe height', async () => {
1347
1347
  let embedHeightCallback = () => { };
1348
+ let embedIframeCenterCallback = () => { };
1348
1349
  const onSpy = jest.spyOn(AppEmbed.prototype, 'on').mockImplementation((event, callback) => {
1349
1350
  if (event === EmbedEvent.RouteChange) {
1350
1351
  callback({ type: EmbedEvent.RouteChange, data: { currentPath: '/answers' } }, jest.fn());
@@ -1353,11 +1354,10 @@ describe('App embed tests', () => {
1353
1354
  embedHeightCallback = callback;
1354
1355
  }
1355
1356
  if (event === EmbedEvent.EmbedIframeCenter) {
1356
- callback({ type: EmbedEvent.EmbedIframeCenter, data: {} }, jest.fn());
1357
+ embedIframeCenterCallback = callback;
1357
1358
  }
1358
1359
  return null;
1359
1360
  });
1360
- jest.spyOn(TsEmbed.prototype, 'getIframeCenter').mockReturnValue({});
1361
1361
  jest.spyOn(TsEmbed.prototype, 'setIFrameHeight').mockReturnValue({});
1362
1362
  const appEmbed = new AppEmbed(getRootEl(), {
1363
1363
  ...defaultViewConfig,
@@ -1370,13 +1370,20 @@ describe('App embed tests', () => {
1370
1370
  // Wait for render to complete
1371
1371
  await appEmbed.render();
1372
1372
  embedHeightCallback({ data: '100%' });
1373
+ // The app only asks for the iframe center once the iframe exists.
1374
+ const centerResponder = jest.fn();
1375
+ embedIframeCenterCallback({ type: EmbedEvent.EmbedIframeCenter, data: {} }, centerResponder);
1373
1376
  // Verify event handlers were registered
1374
1377
  await executeAfterWait(() => {
1375
1378
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedHeight, expect.anything());
1376
1379
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RouteChange, expect.anything());
1377
1380
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedIframeCenter, expect.anything());
1378
1381
  expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RequestVisibleEmbedCoordinates, expect.anything());
1382
+ expect(centerResponder).toHaveBeenCalledWith(expect.objectContaining({ type: EmbedEvent.EmbedIframeCenter }));
1379
1383
  }, 100);
1384
+ // This test replaces AppEmbed.prototype.on; restore it so the mock does
1385
+ // not leak into the tests that follow.
1386
+ jest.restoreAllMocks();
1380
1387
  });
1381
1388
  describe('Navigate to Page API', () => {
1382
1389
  const path = 'pinboard/e0836cad-4fdf-42d4-bd97-567a6b2a6058';
@@ -1559,7 +1566,6 @@ describe('App embed tests', () => {
1559
1566
  const onSpy = jest.spyOn(AppEmbed.prototype, 'on').mockImplementation((event, callback) => {
1560
1567
  return null;
1561
1568
  });
1562
- jest.spyOn(TsEmbed.prototype, 'getIframeCenter').mockReturnValue({});
1563
1569
  jest.spyOn(TsEmbed.prototype, 'setIFrameHeight').mockReturnValue({});
1564
1570
  // Create the AppEmbed instance
1565
1571
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -1587,9 +1593,6 @@ describe('App embed tests', () => {
1587
1593
  ...defaultViewConfig,
1588
1594
  fullHeight: true,
1589
1595
  });
1590
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBe(true);
1591
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBe(true);
1592
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBe('500px 0px');
1593
1596
  await appEmbed.render();
1594
1597
  await executeAfterWait(() => {
1595
1598
  const iframeSrc = getIFrameSrc();
@@ -1602,9 +1605,13 @@ describe('App embed tests', () => {
1602
1605
  const appEmbed = new AppEmbed(getRootEl(), {
1603
1606
  ...defaultViewConfig,
1604
1607
  });
1605
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBeUndefined();
1606
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBeUndefined();
1607
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBeUndefined();
1608
+ await appEmbed.render();
1609
+ await executeAfterWait(() => {
1610
+ const iframeSrc = getIFrameSrc();
1611
+ expect(iframeSrc).not.toContain('isFullHeightPinboard');
1612
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled');
1613
+ expect(iframeSrc).not.toContain('rootMarginForLazyLoad');
1614
+ }, 100);
1608
1615
  });
1609
1616
  test('should not write the defaults back onto the caller view config', async () => {
1610
1617
  const callerViewConfig = {
@@ -1621,9 +1628,13 @@ describe('App embed tests', () => {
1621
1628
  ...defaultViewConfig,
1622
1629
  fullHeight: false,
1623
1630
  });
1624
- expect(appEmbed.viewConfig.lazyLoadingForFullHeight).toBeUndefined();
1625
- expect(appEmbed.viewConfig.enableScrollableContainerLazyLoading).toBeUndefined();
1626
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBeUndefined();
1631
+ await appEmbed.render();
1632
+ await executeAfterWait(() => {
1633
+ const iframeSrc = getIFrameSrc();
1634
+ expect(iframeSrc).not.toContain('isFullHeightPinboard');
1635
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled');
1636
+ expect(iframeSrc).not.toContain('rootMarginForLazyLoad');
1637
+ }, 100);
1627
1638
  });
1628
1639
  test('should default lazyLoadingMargin when lazyLoadingForFullHeight is set explicitly', async () => {
1629
1640
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -1631,10 +1642,9 @@ describe('App embed tests', () => {
1631
1642
  fullHeight: true,
1632
1643
  lazyLoadingForFullHeight: true,
1633
1644
  });
1634
- expect(appEmbed.viewConfig.lazyLoadingMargin).toBe(config.DEFAULT_LAZY_LOADING_MARGIN);
1635
1645
  await appEmbed.render();
1636
1646
  await executeAfterWait(() => {
1637
- expect(getIFrameSrc()).toContain('rootMarginForLazyLoad=500px%200px');
1647
+ expect(getIFrameSrc()).toContain(`rootMarginForLazyLoad=${encodeURIComponent(config.DEFAULT_LAZY_LOADING_MARGIN)}`);
1638
1648
  }, 100);
1639
1649
  });
1640
1650
  test('should let an explicit lazyLoadingMargin win over the default', async () => {
@@ -1801,7 +1811,7 @@ describe('App embed tests', () => {
1801
1811
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1802
1812
  await appEmbed.render();
1803
1813
  // Trigger the lazy load data calculation
1804
- appEmbed.sendFullHeightLazyLoadData();
1814
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1805
1815
  expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1806
1816
  top: 0,
1807
1817
  height: 500,
@@ -1819,7 +1829,7 @@ describe('App embed tests', () => {
1819
1829
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1820
1830
  await appEmbed.render();
1821
1831
  // Trigger the lazy load data calculation
1822
- appEmbed.sendFullHeightLazyLoadData();
1832
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1823
1833
  expect(mockTrigger).not.toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1824
1834
  top: 0,
1825
1835
  height: 500,
@@ -1846,7 +1856,7 @@ describe('App embed tests', () => {
1846
1856
  const mockTrigger = jest.spyOn(appEmbed, 'trigger');
1847
1857
  await appEmbed.render();
1848
1858
  // Trigger the lazy load data calculation
1849
- appEmbed.sendFullHeightLazyLoadData();
1859
+ appEmbed.fullHeightController.sendVisibleCoordinates();
1850
1860
  expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
1851
1861
  top: 50,
1852
1862
  height: 700,
@@ -1931,7 +1941,7 @@ describe('App embed tests', () => {
1931
1941
  // Create a mock responder function
1932
1942
  const mockResponder = jest.fn();
1933
1943
  // Trigger the handler directly
1934
- appEmbed.requestVisibleEmbedCoordinatesHandler({}, mockResponder);
1944
+ appEmbed.fullHeightController.handleRequestVisibleCoordinates({}, mockResponder);
1935
1945
  // Verify the responder was called with the correct data
1936
1946
  expect(mockResponder).toHaveBeenCalledWith({
1937
1947
  type: EmbedEvent.RequestVisibleEmbedCoordinates,
@@ -1980,7 +1990,7 @@ describe('App embed tests', () => {
1980
1990
  data: 600,
1981
1991
  type: EmbedEvent.EmbedHeight,
1982
1992
  };
1983
- appEmbed.updateIFrameHeight(mockEvent);
1993
+ appEmbed.fullHeightController.handleEmbedHeight(mockEvent);
1984
1994
  // Check if the iframe style was updated
1985
1995
  expect(mockIFrame.style.height).toBe('600px');
1986
1996
  });
@@ -1997,7 +2007,7 @@ describe('App embed tests', () => {
1997
2007
  data: 0,
1998
2008
  type: EmbedEvent.EmbedHeight,
1999
2009
  };
2000
- appEmbed.updateIFrameHeight(mockEvent);
2010
+ appEmbed.fullHeightController.handleEmbedHeight(mockEvent);
2001
2011
  // Should use the default height
2002
2012
  expect(mockIFrame.style.height).toBe('500px');
2003
2013
  });
@@ -2010,7 +2020,7 @@ describe('App Embed Default Height and Minimum Height Handling', () => {
2010
2020
  fullHeight: true,
2011
2021
  });
2012
2022
  await appEmbed.render();
2013
- expect(appEmbed['defaultHeight']).toBe(500);
2023
+ expect(appEmbed['fullHeightController'].minimumHeight).toBe(500);
2014
2024
  });
2015
2025
  test('should set default height to 700 when default height is provided', async () => {
2016
2026
  const appEmbed = new AppEmbed(getRootEl(), {
@@ -2019,7 +2029,7 @@ describe('App Embed Default Height and Minimum Height Handling', () => {
2019
2029
  minimumHeight: 700,
2020
2030
  });
2021
2031
  await appEmbed.render();
2022
- expect(appEmbed['defaultHeight']).toBe(700);
2032
+ expect(appEmbed['fullHeightController'].minimumHeight).toBe(700);
2023
2033
  });
2024
2034
  });
2025
2035
  describe('AppEmbed uncovered branch tests', () => {
@@ -2050,6 +2060,40 @@ describe('AppEmbed uncovered branch tests', () => {
2050
2060
  });
2051
2061
  });
2052
2062
  });
2063
+ test('should set showAnswerEditPanel=false when hideAnswerEditPanel is true', async () => {
2064
+ const appEmbed = new AppEmbed(getRootEl(), {
2065
+ ...defaultViewConfig,
2066
+ hideAnswerEditPanel: true,
2067
+ });
2068
+ appEmbed.render();
2069
+ await executeAfterWait(() => {
2070
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), {
2071
+ showAnswerEditPanel: 'false',
2072
+ });
2073
+ });
2074
+ });
2075
+ test('should set showAnswerEditPanel=true when hideAnswerEditPanel is false', async () => {
2076
+ const appEmbed = new AppEmbed(getRootEl(), {
2077
+ ...defaultViewConfig,
2078
+ hideAnswerEditPanel: false,
2079
+ });
2080
+ appEmbed.render();
2081
+ await executeAfterWait(() => {
2082
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), {
2083
+ showAnswerEditPanel: 'true',
2084
+ });
2085
+ });
2086
+ });
2087
+ test('should not set showAnswerEditPanel param when hideAnswerEditPanel is not provided', async () => {
2088
+ const appEmbed = new AppEmbed(getRootEl(), {
2089
+ ...defaultViewConfig,
2090
+ });
2091
+ appEmbed.render();
2092
+ await executeAfterWait(() => {
2093
+ const url = new URL(getIFrameSrc());
2094
+ expect(url.searchParams.has('showAnswerEditPanel')).toBe(false);
2095
+ });
2096
+ });
2053
2097
  test('should set hideObjects param when non-empty array is provided', async () => {
2054
2098
  const appEmbed = new AppEmbed(getRootEl(), {
2055
2099
  ...defaultViewConfig,
@@ -2097,7 +2141,7 @@ describe('AppEmbed uncovered branch tests', () => {
2097
2141
  expect(src).not.toContain('#//pinboards');
2098
2142
  });
2099
2143
  });
2100
- test('registerLazyLoadEvents should return early when iFrame is not set', () => {
2144
+ test('lazy load registration should return early when iFrame is not set', () => {
2101
2145
  const appEmbed = new AppEmbed(getRootEl(), {
2102
2146
  ...defaultViewConfig,
2103
2147
  fullHeight: true,
@@ -2105,7 +2149,7 @@ describe('AppEmbed uncovered branch tests', () => {
2105
2149
  });
2106
2150
  // iFrame is not set (render not called), should not throw
2107
2151
  expect(() => {
2108
- appEmbed.registerLazyLoadEvents();
2152
+ appEmbed.fullHeightController.onRender();
2109
2153
  }).not.toThrow();
2110
2154
  });
2111
2155
  });