@thoughtspot/visual-embed-sdk 1.39.2-alpha.1 → 1.39.2-alpha.3

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 (171) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/config.spec.js +9 -0
  3. package/cjs/src/config.spec.js.map +1 -1
  4. package/cjs/src/embed/app.d.ts +75 -15
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +68 -9
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +360 -7
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +19 -7
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +24 -4
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/bodyless-conversation.spec.js +8 -190
  15. package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/conversation.d.ts +2 -60
  17. package/cjs/src/embed/conversation.d.ts.map +1 -1
  18. package/cjs/src/embed/conversation.js +1 -9
  19. package/cjs/src/embed/conversation.js.map +1 -1
  20. package/cjs/src/embed/conversation.spec.js +0 -102
  21. package/cjs/src/embed/conversation.spec.js.map +1 -1
  22. package/cjs/src/embed/liveboard.d.ts +56 -0
  23. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  24. package/cjs/src/embed/liveboard.js +46 -0
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/embed/liveboard.spec.js +206 -0
  27. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  28. package/cjs/src/errors.d.ts +1 -0
  29. package/cjs/src/errors.d.ts.map +1 -1
  30. package/cjs/src/errors.js +1 -0
  31. package/cjs/src/errors.js.map +1 -1
  32. package/cjs/src/index.d.ts +2 -2
  33. package/cjs/src/index.d.ts.map +1 -1
  34. package/cjs/src/index.js +2 -1
  35. package/cjs/src/index.js.map +1 -1
  36. package/cjs/src/react/all-types-export.d.ts +1 -1
  37. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  38. package/cjs/src/react/all-types-export.js +3 -2
  39. package/cjs/src/react/all-types-export.js.map +1 -1
  40. package/cjs/src/react/index.d.ts +71 -20
  41. package/cjs/src/react/index.d.ts.map +1 -1
  42. package/cjs/src/react/index.js +79 -42
  43. package/cjs/src/react/index.js.map +1 -1
  44. package/cjs/src/react/index.spec.js +436 -100
  45. package/cjs/src/react/index.spec.js.map +1 -1
  46. package/cjs/src/types.d.ts +46 -4
  47. package/cjs/src/types.d.ts.map +1 -1
  48. package/cjs/src/types.js +28 -0
  49. package/cjs/src/types.js.map +1 -1
  50. package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  51. package/cjs/src/utils/graphql/nlsService/conversation-service.js +2 -0
  52. package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  53. package/cjs/src/utils/processTrigger.js +2 -1
  54. package/cjs/src/utils/processTrigger.js.map +1 -1
  55. package/cjs/src/utils.d.ts +6 -0
  56. package/cjs/src/utils.d.ts.map +1 -1
  57. package/cjs/src/utils.js +23 -3
  58. package/cjs/src/utils.js.map +1 -1
  59. package/cjs/src/utils.spec.js +237 -1
  60. package/cjs/src/utils.spec.js.map +1 -1
  61. package/dist/index-D1pyb7RG.js +7371 -0
  62. package/dist/index-e3Uw3YFO.js +7371 -0
  63. package/dist/src/embed/app.d.ts +75 -15
  64. package/dist/src/embed/app.d.ts.map +1 -1
  65. package/dist/src/embed/bodyless-conversation.d.ts +19 -7
  66. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  67. package/dist/src/embed/conversation.d.ts +2 -60
  68. package/dist/src/embed/conversation.d.ts.map +1 -1
  69. package/dist/src/embed/liveboard.d.ts +56 -0
  70. package/dist/src/embed/liveboard.d.ts.map +1 -1
  71. package/dist/src/errors.d.ts +1 -0
  72. package/dist/src/errors.d.ts.map +1 -1
  73. package/dist/src/index.d.ts +2 -2
  74. package/dist/src/index.d.ts.map +1 -1
  75. package/dist/src/react/all-types-export.d.ts +1 -1
  76. package/dist/src/react/all-types-export.d.ts.map +1 -1
  77. package/dist/src/react/index.d.ts +71 -20
  78. package/dist/src/react/index.d.ts.map +1 -1
  79. package/dist/src/types.d.ts +46 -4
  80. package/dist/src/types.d.ts.map +1 -1
  81. package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  82. package/dist/src/utils.d.ts +6 -0
  83. package/dist/src/utils.d.ts.map +1 -1
  84. package/dist/tsembed-react.es.js +276 -74
  85. package/dist/tsembed-react.js +276 -72
  86. package/dist/tsembed.es.js +194 -27
  87. package/dist/tsembed.js +192 -25
  88. package/dist/visual-embed-sdk-react-full.d.ts +246 -105
  89. package/dist/visual-embed-sdk-react.d.ts +246 -105
  90. package/dist/visual-embed-sdk.d.ts +176 -86
  91. package/lib/package.json +1 -1
  92. package/lib/src/config.spec.js +9 -0
  93. package/lib/src/config.spec.js.map +1 -1
  94. package/lib/src/embed/app.d.ts +75 -15
  95. package/lib/src/embed/app.d.ts.map +1 -1
  96. package/lib/src/embed/app.js +68 -9
  97. package/lib/src/embed/app.js.map +1 -1
  98. package/lib/src/embed/app.spec.js +361 -8
  99. package/lib/src/embed/app.spec.js.map +1 -1
  100. package/lib/src/embed/bodyless-conversation.d.ts +19 -7
  101. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  102. package/lib/src/embed/bodyless-conversation.js +23 -4
  103. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  104. package/lib/src/embed/bodyless-conversation.spec.js +9 -191
  105. package/lib/src/embed/bodyless-conversation.spec.js.map +1 -1
  106. package/lib/src/embed/conversation.d.ts +2 -60
  107. package/lib/src/embed/conversation.d.ts.map +1 -1
  108. package/lib/src/embed/conversation.js +2 -10
  109. package/lib/src/embed/conversation.js.map +1 -1
  110. package/lib/src/embed/conversation.spec.js +2 -104
  111. package/lib/src/embed/conversation.spec.js.map +1 -1
  112. package/lib/src/embed/liveboard.d.ts +56 -0
  113. package/lib/src/embed/liveboard.d.ts.map +1 -1
  114. package/lib/src/embed/liveboard.js +47 -1
  115. package/lib/src/embed/liveboard.js.map +1 -1
  116. package/lib/src/embed/liveboard.spec.js +206 -0
  117. package/lib/src/embed/liveboard.spec.js.map +1 -1
  118. package/lib/src/errors.d.ts +1 -0
  119. package/lib/src/errors.d.ts.map +1 -1
  120. package/lib/src/errors.js +1 -0
  121. package/lib/src/errors.js.map +1 -1
  122. package/lib/src/index.d.ts +2 -2
  123. package/lib/src/index.d.ts.map +1 -1
  124. package/lib/src/index.js +2 -2
  125. package/lib/src/index.js.map +1 -1
  126. package/lib/src/react/all-types-export.d.ts +1 -1
  127. package/lib/src/react/all-types-export.d.ts.map +1 -1
  128. package/lib/src/react/all-types-export.js +1 -1
  129. package/lib/src/react/all-types-export.js.map +1 -1
  130. package/lib/src/react/index.d.ts +71 -20
  131. package/lib/src/react/index.d.ts.map +1 -1
  132. package/lib/src/react/index.js +79 -43
  133. package/lib/src/react/index.js.map +1 -1
  134. package/lib/src/react/index.spec.js +439 -103
  135. package/lib/src/react/index.spec.js.map +1 -1
  136. package/lib/src/types.d.ts +46 -4
  137. package/lib/src/types.d.ts.map +1 -1
  138. package/lib/src/types.js +28 -0
  139. package/lib/src/types.js.map +1 -1
  140. package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -1
  141. package/lib/src/utils/graphql/nlsService/conversation-service.js +2 -0
  142. package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -1
  143. package/lib/src/utils/processTrigger.js +2 -1
  144. package/lib/src/utils/processTrigger.js.map +1 -1
  145. package/lib/src/utils.d.ts +6 -0
  146. package/lib/src/utils.d.ts.map +1 -1
  147. package/lib/src/utils.js +21 -2
  148. package/lib/src/utils.js.map +1 -1
  149. package/lib/src/utils.spec.js +238 -2
  150. package/lib/src/utils.spec.js.map +1 -1
  151. package/lib/src/visual-embed-sdk.d.ts +178 -88
  152. package/package.json +1 -1
  153. package/src/config.spec.ts +11 -0
  154. package/src/embed/app.spec.ts +451 -8
  155. package/src/embed/app.ts +131 -27
  156. package/src/embed/bodyless-conversation.spec.ts +9 -203
  157. package/src/embed/bodyless-conversation.ts +24 -10
  158. package/src/embed/conversation.spec.ts +5 -131
  159. package/src/embed/conversation.ts +10 -82
  160. package/src/embed/liveboard.spec.ts +254 -1
  161. package/src/embed/liveboard.ts +96 -5
  162. package/src/errors.ts +1 -0
  163. package/src/index.ts +2 -0
  164. package/src/react/all-types-export.ts +2 -1
  165. package/src/react/index.spec.tsx +556 -157
  166. package/src/react/index.tsx +117 -51
  167. package/src/types.ts +42 -0
  168. package/src/utils/graphql/nlsService/conversation-service.ts +2 -0
  169. package/src/utils/processTrigger.ts +1 -1
  170. package/src/utils.spec.ts +279 -2
  171. package/src/utils.ts +28 -2
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../src/embed/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAkB,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAgH/C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACrC,YAAY,SAAsB,EAAY,UAAkC;QAC5E,UAAU,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAC/C,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAFa,eAAU,GAAV,UAAU,CAAwB;IAGhF,CAAC;IAEM,YAAY;QACf,MAAM,EACF,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,mBAAmB,GACtB,GAAG,IAAI,CAAC,UAAU,CAAC;QACpB,MAAM,IAAI,GAAG,sBAAsB,CAAC;QACpC,IAAI,CAAC,WAAW,EAAE;YACd,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;SACxE;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9C,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE;YACtC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC;SACxE;QACD,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE;YACnC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;SAClE;QAED,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;YAC3B,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;SACzD;QAED,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE;YACtC,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,sBAAsB,CAAC;SACxE;QAED,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE;YACnC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;SAClE;QAED,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,iBAAiB,EAAE;YACnB,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;SACnC;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC;YACtD,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,KAAI,EAAE;SAC1C,CAAC,CAAC;QAEH,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,MAAM;QACf,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IAC/C,YAAY,SAAsB,EAAY,UAAkC;QAC5E,UAAU,CAAC,kBAAkB,GAAG,cAAc,CAAC;QAC/C,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAFa,eAAU,GAAV,UAAU,CAAwB;IAGhF,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
- import { SpotterEmbed, ConversationEmbed } from './conversation';
1
+ import { SpotterEmbed, } from './conversation';
2
2
  import * as authInstance from '../auth';
3
3
  import { Action, init } from '../index';
4
- import { AuthType, Param, RuntimeFilterOp } from '../types';
4
+ import { AuthType, Param } from '../types';
5
5
  import { getDocumentBody, getIFrameSrc, getRootEl, defaultParamsWithoutHiddenActions as defaultParams, expectUrlMatchesWithParams, } from '../test/test-utils';
6
6
  import { ERROR_MESSAGE } from '../errors';
7
7
  const thoughtSpotHost = 'tshost';
@@ -126,107 +126,5 @@ describe('ConversationEmbed', () => {
126
126
  await conversationEmbed.render();
127
127
  expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&${Param.DisableActions}=[%22${Action.InConversationTraining}%22]&${Param.DisableActionReason}=${disabledReason}&isSpotterExperienceEnabled=true&enableDataPanelV2=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
128
128
  });
129
- it('should render the conversation embed with runtime filters', async () => {
130
- const viewConfig = {
131
- worksheetId: 'worksheetId',
132
- searchOptions: {
133
- searchQuery: 'searchQuery',
134
- },
135
- runtimeFilters: [
136
- {
137
- columnName: 'revenue',
138
- operator: RuntimeFilterOp.EQ,
139
- values: [1000],
140
- },
141
- ],
142
- };
143
- const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
144
- await conversationEmbed.render();
145
- expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&col1=revenue&op1=EQ&val1=1000#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
146
- });
147
- it('should render the conversation embed with runtime parameters', async () => {
148
- const viewConfig = {
149
- worksheetId: 'worksheetId',
150
- searchOptions: {
151
- searchQuery: 'searchQuery',
152
- },
153
- runtimeParameters: [
154
- {
155
- name: 'Date Range',
156
- value: '30',
157
- },
158
- ],
159
- };
160
- const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
161
- await conversationEmbed.render();
162
- expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&param1=Date%20Range&paramVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
163
- });
164
- it('should render the conversation embed with runtime parameters excluded from URL', async () => {
165
- const viewConfig = {
166
- worksheetId: 'worksheetId',
167
- searchOptions: {
168
- searchQuery: 'searchQuery',
169
- },
170
- runtimeParameters: [
171
- {
172
- name: 'Date Range',
173
- value: '30',
174
- },
175
- {
176
- name: 'Region',
177
- value: 'North America',
178
- },
179
- ],
180
- excludeRuntimeParametersfromURL: true,
181
- };
182
- const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
183
- await conversationEmbed.render();
184
- expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
185
- });
186
- it('should render the conversation embed with both runtime filters and parameters', async () => {
187
- const viewConfig = {
188
- worksheetId: 'worksheetId',
189
- searchOptions: {
190
- searchQuery: 'searchQuery',
191
- },
192
- runtimeParameters: [
193
- {
194
- name: 'Date Range',
195
- value: '30',
196
- },
197
- ],
198
- runtimeFilters: [
199
- {
200
- columnName: 'revenue',
201
- operator: RuntimeFilterOp.EQ,
202
- values: [1000],
203
- },
204
- ],
205
- excludeRuntimeParametersfromURL: false,
206
- excludeRuntimeFiltersfromURL: false,
207
- };
208
- const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
209
- await conversationEmbed.render();
210
- expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&col1=revenue&op1=EQ&val1=1000&param1=Date%20Range&paramVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
211
- });
212
- it('should ensure deprecated ConversationEmbed class maintains same functionality as SpotterEmbed', async () => {
213
- const viewConfig = {
214
- worksheetId: 'worksheetId',
215
- searchOptions: {
216
- searchQuery: 'searchQuery',
217
- },
218
- runtimeParameters: [
219
- {
220
- name: 'Date Range',
221
- value: '30',
222
- },
223
- ],
224
- };
225
- // Test with deprecated class
226
- const conversationEmbed = new ConversationEmbed(getRootEl(), viewConfig);
227
- await conversationEmbed.render();
228
- // Verify it generates the same URL structure as SpotterEmbed
229
- expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/v2/?${defaultParams}&isSpotterExperienceEnabled=true&param1=Date%20Range&paramVal1=30#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`);
230
- });
231
129
  });
232
130
  //# sourceMappingURL=conversation.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/conversation.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.spec.js","sourceRoot":"","sources":["../../../src/embed/conversation.spec.ts"],"names":[],"mappings":"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"}
@@ -303,6 +303,46 @@ export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewC
303
303
  * ```
304
304
  */
305
305
  isLiveboardStylingAndGroupingEnabled?: boolean;
306
+ /**
307
+ * This flag is used to enable the full height lazy load data.
308
+ *
309
+ * @example
310
+ * ```js
311
+ * const embed = new LiveboardEmbed('#embed-container', {
312
+ * // ...other options
313
+ * fullHeight: true,
314
+ * lazyLoadingForFullHeight: true,
315
+ * })
316
+ * ```
317
+ *
318
+ * @type {boolean}
319
+ * @default false
320
+ * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
321
+ */
322
+ lazyLoadingForFullHeight?: boolean;
323
+ /**
324
+ * The margin to be used for lazy loading.
325
+ *
326
+ * For example, if the margin is set to '10px',
327
+ * the visualization will be loaded 10px before the its top edge is visible in the
328
+ * viewport.
329
+ *
330
+ * The format is similar to CSS margin.
331
+ *
332
+ * @example
333
+ * ```js
334
+ * const embed = new LiveboardEmbed('#embed-container', {
335
+ * // ...other options
336
+ * fullHeight: true,
337
+ * lazyLoadingForFullHeight: true,
338
+ * // Using 0px, the visualization will be only loaded when its visible in the viewport.
339
+ * lazyLoadingMargin: '0px',
340
+ * })
341
+ * ```
342
+ * @type {string}
343
+ * @version SDK: 1.40.0 | ThoughtSpot:10.12.0.cl
344
+ */
345
+ lazyLoadingMargin?: string;
306
346
  }
307
347
  /**
308
348
  * Embed a ThoughtSpot Liveboard or visualization. When rendered it already
@@ -329,6 +369,14 @@ export declare class LiveboardEmbed extends V1Embed {
329
369
  */
330
370
  protected getEmbedParams(): string;
331
371
  private getIframeSuffixSrc;
372
+ private sendFullHeightLazyLoadData;
373
+ /**
374
+ * This is a handler for the RequestVisibleEmbedCoordinates event.
375
+ * It is used to send the visible coordinates data to the host application.
376
+ * @param data The event payload
377
+ * @param responder The responder function
378
+ */
379
+ private requestVisibleEmbedCoordinatesHandler;
332
380
  /**
333
381
  * Construct the URL of the embedded ThoughtSpot Liveboard or visualization
334
382
  * to be loaded within the iFrame.
@@ -353,6 +401,14 @@ export declare class LiveboardEmbed extends V1Embed {
353
401
  * @returns A promise that resolves with the response from the embedded app
354
402
  */
355
403
  trigger<HostEventT extends HostEvent, PayloadT>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>): Promise<TriggerResponse<PayloadT, HostEventT>>;
404
+ /**
405
+ * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
406
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
407
+ */
408
+ destroy(): void;
409
+ private postRender;
410
+ private registerLazyLoadEvents;
411
+ private unregisterLazyLoadEvents;
356
412
  /**
357
413
  * Render an embedded ThoughtSpot Liveboard or visualization
358
414
  * @param renderOptions An object specifying the Liveboard ID,
@@ -1 +1 @@
1
- {"version":3,"file":"liveboard.d.ts","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAKH,WAAW,EACX,SAAS,EACT,+BAA+B,IAAI,wBAAwB,EAC3D,cAAc,EACd,2BAA2B,EAC9B,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAI9E;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc,EAAE,wBAAwB,EAAE,2BAA2B;IAC9G;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;;OAaG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;OAGG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;OAiBG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;;;;;;;;OAcG;IACH,oCAAoC,CAAC,EAAE,OAAO,CAAC;CAClD;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,OAAO;IACvC,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAE1C,OAAO,CAAC,aAAa,CAAO;gBAGhB,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,mBAAmB;IAerE;;;OAGG;IACH,SAAS,CAAC,cAAc;IAyGxB,OAAO,CAAC,kBAAkB;IAa1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,mCAAmC,CAqBzC;IAEF,OAAO,CAAC,YAAY;YAQN,iBAAiB;IAkC/B,SAAS,CAAC,sBAAsB,IAAI,IAAI;cAcxB,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAO5D;;;;;OAKG;IACI,OAAO,CAAC,UAAU,SAAS,SAAS,EAAE,QAAQ,EACjD,WAAW,EAAE,UAAU,EACvB,IAAI,GAAE,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAe,GACzD,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAYjD;;;;OAIG;IACU,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAUvC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAcpF;;;;OAIG;IACI,eAAe,IAAI,MAAM;CAYnC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,cAAc;CAAI"}
1
+ {"version":3,"file":"liveboard.d.ts","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  import { getPreview } from '../utils/graphql/preview-service';
11
11
  import { ERROR_MESSAGE } from '../errors';
12
12
  import { EmbedEvent, Param, HostEvent, } from '../types';
13
- import { getQueryParamString, isUndefined } from '../utils';
13
+ import { calculateVisibleElementData, getQueryParamString, isUndefined } from '../utils';
14
14
  import { V1Embed } from './ts-embed';
15
15
  import { addPreviewStylesIfNotPresent } from '../utils/global-styles';
16
16
  import { logger } from '../utils/logger';
@@ -34,6 +34,21 @@ export class LiveboardEmbed extends V1Embed {
34
34
  viewConfig.embedComponentType = 'LiveboardEmbed';
35
35
  super(domSelector, viewConfig);
36
36
  this.defaultHeight = 500;
37
+ this.sendFullHeightLazyLoadData = () => {
38
+ const data = calculateVisibleElementData(this.iFrame);
39
+ this.trigger(HostEvent.VisibleEmbedCoordinates, data);
40
+ };
41
+ /**
42
+ * This is a handler for the RequestVisibleEmbedCoordinates event.
43
+ * It is used to send the visible coordinates data to the host application.
44
+ * @param data The event payload
45
+ * @param responder The responder function
46
+ */
47
+ this.requestVisibleEmbedCoordinatesHandler = (data, responder) => {
48
+ logger.info('Sending RequestVisibleEmbedCoordinates', data);
49
+ const visibleCoordinatesData = calculateVisibleElementData(this.iFrame);
50
+ responder({ type: EmbedEvent.RequestVisibleEmbedCoordinates, data: visibleCoordinatesData });
51
+ };
37
52
  /**
38
53
  * Set the iframe height as per the computed height received
39
54
  * from the ThoughtSpot app.
@@ -41,6 +56,7 @@ export class LiveboardEmbed extends V1Embed {
41
56
  */
42
57
  this.updateIFrameHeight = (data) => {
43
58
  this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
59
+ this.sendFullHeightLazyLoadData();
44
60
  };
45
61
  this.embedIframeCenter = (data, responder) => {
46
62
  const obj = this.getIframeCenter();
@@ -74,6 +90,7 @@ export class LiveboardEmbed extends V1Embed {
74
90
  this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
75
91
  this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
76
92
  this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
93
+ this.on(EmbedEvent.RequestVisibleEmbedCoordinates, this.requestVisibleEmbedCoordinatesHandler);
77
94
  }
78
95
  }
79
96
  /**
@@ -88,6 +105,10 @@ export class LiveboardEmbed extends V1Embed {
88
105
  || this.viewConfig.preventPinboardFilterRemoval;
89
106
  if (fullHeight === true) {
90
107
  params[Param.fullHeight] = true;
108
+ if (this.viewConfig.lazyLoadingForFullHeight) {
109
+ params[Param.IsLazyLoadingForEmbedEnabled] = true;
110
+ params[Param.RootMarginForLazyLoad] = this.viewConfig.lazyLoadingMargin;
111
+ }
91
112
  }
92
113
  if (defaultHeight) {
93
114
  this.defaultHeight = defaultHeight;
@@ -243,6 +264,30 @@ export class LiveboardEmbed extends V1Embed {
243
264
  }
244
265
  return super.trigger(messageType, dataWithVizId);
245
266
  }
267
+ /**
268
+ * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
269
+ * @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
270
+ */
271
+ destroy() {
272
+ super.destroy();
273
+ this.unregisterLazyLoadEvents();
274
+ }
275
+ postRender() {
276
+ this.registerLazyLoadEvents();
277
+ }
278
+ registerLazyLoadEvents() {
279
+ if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
280
+ // TODO: Use passive: true, install modernizr to check for passive
281
+ window.addEventListener('resize', this.sendFullHeightLazyLoadData);
282
+ window.addEventListener('scroll', this.sendFullHeightLazyLoadData, true);
283
+ }
284
+ }
285
+ unregisterLazyLoadEvents() {
286
+ if (this.viewConfig.fullHeight && this.viewConfig.lazyLoadingForFullHeight) {
287
+ window.removeEventListener('resize', this.sendFullHeightLazyLoadData);
288
+ window.removeEventListener('scroll', this.sendFullHeightLazyLoadData);
289
+ }
290
+ }
246
291
  /**
247
292
  * Render an embedded ThoughtSpot Liveboard or visualization
248
293
  * @param renderOptions An object specifying the Liveboard ID,
@@ -253,6 +298,7 @@ export class LiveboardEmbed extends V1Embed {
253
298
  const src = this.getIFrameSrc();
254
299
  await this.renderV1Embed(src);
255
300
  this.showPreviewLoader();
301
+ this.postRender();
256
302
  return this;
257
303
  }
258
304
  navigateToLiveboard(liveboardId, vizId, activeTabId) {
@@ -1 +1 @@
1
- {"version":3,"file":"liveboard.js","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liveboard.js","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
@@ -630,6 +630,212 @@ describe('Liveboard/viz embed tests', () => {
630
630
  });
631
631
  });
632
632
  });
633
+ describe('LazyLoadingForFullHeight functionality', () => {
634
+ let mockIFrame;
635
+ beforeEach(() => {
636
+ mockIFrame = document.createElement('iframe');
637
+ mockIFrame.getBoundingClientRect = jest.fn().mockReturnValue({
638
+ top: 100,
639
+ left: 150,
640
+ bottom: 600,
641
+ right: 800,
642
+ width: 650,
643
+ height: 500,
644
+ });
645
+ jest.spyOn(document, 'createElement').mockImplementation((tagName) => {
646
+ if (tagName === 'iframe') {
647
+ return mockIFrame;
648
+ }
649
+ return document.createElement(tagName);
650
+ });
651
+ });
652
+ afterEach(() => {
653
+ jest.restoreAllMocks();
654
+ });
655
+ test('should set lazyLoadingMargin parameter when provided', async () => {
656
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
657
+ ...defaultViewConfig,
658
+ liveboardId,
659
+ fullHeight: true,
660
+ lazyLoadingForFullHeight: true,
661
+ lazyLoadingMargin: '100px 0px',
662
+ });
663
+ await liveboardEmbed.render();
664
+ await executeAfterWait(() => {
665
+ const iframeSrc = getIFrameSrc();
666
+ expect(iframeSrc).toContain('isLazyLoadingForEmbedEnabled=true');
667
+ expect(iframeSrc).toContain('isFullHeightPinboard=true');
668
+ expect(iframeSrc).toContain('rootMarginForLazyLoad=100px%200px');
669
+ }, 100);
670
+ });
671
+ test('should set isLazyLoadingForEmbedEnabled=true when both fullHeight and lazyLoadingForFullHeight are enabled', async () => {
672
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
673
+ ...defaultViewConfig,
674
+ liveboardId,
675
+ fullHeight: true,
676
+ lazyLoadingForFullHeight: true,
677
+ });
678
+ await liveboardEmbed.render();
679
+ await executeAfterWait(() => {
680
+ const iframeSrc = getIFrameSrc();
681
+ expect(iframeSrc).toContain('isLazyLoadingForEmbedEnabled=true');
682
+ expect(iframeSrc).toContain('isFullHeightPinboard=true');
683
+ }, 100);
684
+ });
685
+ test('should not set lazyLoadingForEmbed when lazyLoadingForFullHeight is enabled but fullHeight is false', async () => {
686
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
687
+ ...defaultViewConfig,
688
+ liveboardId,
689
+ fullHeight: false,
690
+ lazyLoadingForFullHeight: true,
691
+ });
692
+ await liveboardEmbed.render();
693
+ await executeAfterWait(() => {
694
+ const iframeSrc = getIFrameSrc();
695
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled=true');
696
+ expect(iframeSrc).not.toContain('isFullHeightPinboard=true');
697
+ }, 100);
698
+ });
699
+ test('should not set isLazyLoadingForEmbedEnabled when fullHeight is true but lazyLoadingForFullHeight is false', async () => {
700
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
701
+ ...defaultViewConfig,
702
+ liveboardId,
703
+ fullHeight: true,
704
+ lazyLoadingForFullHeight: false,
705
+ });
706
+ await liveboardEmbed.render();
707
+ await executeAfterWait(() => {
708
+ const iframeSrc = getIFrameSrc();
709
+ expect(iframeSrc).not.toContain('isLazyLoadingForEmbedEnabled=true');
710
+ expect(iframeSrc).toContain('isFullHeightPinboard=true');
711
+ }, 100);
712
+ });
713
+ test('should register event handlers to adjust iframe height', async () => {
714
+ const onSpy = jest.spyOn(LiveboardEmbed.prototype, 'on');
715
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
716
+ ...defaultViewConfig,
717
+ liveboardId,
718
+ fullHeight: true,
719
+ lazyLoadingForFullHeight: true,
720
+ });
721
+ await liveboardEmbed.render();
722
+ await executeAfterWait(() => {
723
+ expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedHeight, expect.anything());
724
+ expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RouteChange, expect.anything());
725
+ expect(onSpy).toHaveBeenCalledWith(EmbedEvent.EmbedIframeCenter, expect.anything());
726
+ expect(onSpy).toHaveBeenCalledWith(EmbedEvent.RequestVisibleEmbedCoordinates, expect.anything());
727
+ }, 100);
728
+ });
729
+ test('should send correct visible data when RequestVisibleEmbedCoordinates is triggered', async () => {
730
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
731
+ ...defaultViewConfig,
732
+ liveboardId,
733
+ fullHeight: true,
734
+ lazyLoadingForFullHeight: true,
735
+ });
736
+ const mockTrigger = jest.spyOn(liveboardEmbed, 'trigger');
737
+ await liveboardEmbed.render();
738
+ // Trigger the lazy load data calculation
739
+ liveboardEmbed.sendFullHeightLazyLoadData();
740
+ expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
741
+ top: 0,
742
+ height: 500,
743
+ left: 0,
744
+ width: 650,
745
+ });
746
+ });
747
+ test('should calculate correct visible data for partially visible full height element', async () => {
748
+ mockIFrame.getBoundingClientRect = jest.fn().mockReturnValue({
749
+ top: -50,
750
+ left: -30,
751
+ bottom: 700,
752
+ right: 1024,
753
+ width: 1054,
754
+ height: 750,
755
+ });
756
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
757
+ ...defaultViewConfig,
758
+ liveboardId,
759
+ fullHeight: true,
760
+ lazyLoadingForFullHeight: true,
761
+ });
762
+ const mockTrigger = jest.spyOn(liveboardEmbed, 'trigger');
763
+ await liveboardEmbed.render();
764
+ // Trigger the lazy load data calculation
765
+ liveboardEmbed.sendFullHeightLazyLoadData();
766
+ expect(mockTrigger).toHaveBeenCalledWith(HostEvent.VisibleEmbedCoordinates, {
767
+ top: 50,
768
+ height: 700,
769
+ left: 30,
770
+ width: 1024,
771
+ });
772
+ });
773
+ test('should add window event listeners for resize and scroll when fullHeight and lazyLoadingForFullHeight are enabled', async () => {
774
+ const addEventListenerSpy = jest.spyOn(window, 'addEventListener');
775
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
776
+ ...defaultViewConfig,
777
+ liveboardId,
778
+ fullHeight: true,
779
+ lazyLoadingForFullHeight: true,
780
+ });
781
+ await liveboardEmbed.render();
782
+ // Wait for the post-render events to be registered
783
+ await executeAfterWait(() => {
784
+ expect(addEventListenerSpy).toHaveBeenCalledWith('resize', expect.anything());
785
+ expect(addEventListenerSpy).toHaveBeenCalledWith('scroll', expect.anything(), true);
786
+ }, 100);
787
+ addEventListenerSpy.mockRestore();
788
+ });
789
+ test('should remove window event listeners on destroy when fullHeight and lazyLoadingForFullHeight are enabled', async () => {
790
+ const removeEventListenerSpy = jest.spyOn(window, 'removeEventListener');
791
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
792
+ ...defaultViewConfig,
793
+ liveboardId,
794
+ fullHeight: true,
795
+ lazyLoadingForFullHeight: true,
796
+ });
797
+ await liveboardEmbed.render();
798
+ liveboardEmbed.destroy();
799
+ expect(removeEventListenerSpy).toHaveBeenCalledWith('resize', expect.anything());
800
+ expect(removeEventListenerSpy).toHaveBeenCalledWith('scroll', expect.anything());
801
+ removeEventListenerSpy.mockRestore();
802
+ });
803
+ test('should handle RequestVisibleEmbedCoordinates event and respond with correct data', async () => {
804
+ // Mock the iframe element
805
+ mockIFrame.getBoundingClientRect = jest.fn().mockReturnValue({
806
+ top: 100,
807
+ left: 150,
808
+ bottom: 600,
809
+ right: 800,
810
+ width: 650,
811
+ height: 500,
812
+ });
813
+ Object.defineProperty(mockIFrame, 'scrollHeight', { value: 500 });
814
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
815
+ ...defaultViewConfig,
816
+ liveboardId,
817
+ fullHeight: true,
818
+ lazyLoadingForFullHeight: true,
819
+ });
820
+ // Set the iframe before render
821
+ liveboardEmbed.iFrame = mockIFrame;
822
+ await liveboardEmbed.render();
823
+ // Create a mock responder function
824
+ const mockResponder = jest.fn();
825
+ // Trigger the handler directly
826
+ liveboardEmbed.requestVisibleEmbedCoordinatesHandler({}, mockResponder);
827
+ // Verify the responder was called with the correct data
828
+ expect(mockResponder).toHaveBeenCalledWith({
829
+ type: EmbedEvent.RequestVisibleEmbedCoordinates,
830
+ data: {
831
+ top: 0,
832
+ height: 500,
833
+ left: 0,
834
+ width: 650,
835
+ },
836
+ });
837
+ });
838
+ });
633
839
  describe('Host events for liveborad', () => {
634
840
  test('Host event with empty param', async () => {
635
841
  const mockProcessTrigger = jest.spyOn(tsEmbed.TsEmbed.prototype, 'trigger');