@thoughtspot/visual-embed-sdk 1.20.2 → 1.20.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 (368) hide show
  1. package/README.md +1 -1
  2. package/cjs/package.json +171 -0
  3. package/cjs/src/auth.d.ts +183 -0
  4. package/cjs/src/auth.d.ts.map +1 -0
  5. package/cjs/src/auth.js +457 -0
  6. package/cjs/src/auth.js.map +1 -0
  7. package/cjs/src/auth.spec.d.ts +13 -0
  8. package/cjs/src/auth.spec.d.ts.map +1 -0
  9. package/cjs/src/auth.spec.js +397 -0
  10. package/cjs/src/auth.spec.js.map +1 -0
  11. package/cjs/src/config.d.ts +22 -0
  12. package/cjs/src/config.d.ts.map +1 -0
  13. package/cjs/src/config.js +70 -0
  14. package/cjs/src/config.js.map +1 -0
  15. package/cjs/src/config.spec.d.ts +5 -0
  16. package/cjs/src/config.spec.d.ts.map +1 -0
  17. package/cjs/src/config.spec.js +65 -0
  18. package/cjs/src/config.spec.js.map +1 -0
  19. package/cjs/src/embed/app.d.ts +168 -0
  20. package/cjs/src/embed/app.d.ts.map +1 -0
  21. package/cjs/src/embed/app.js +215 -0
  22. package/cjs/src/embed/app.js.map +1 -0
  23. package/cjs/src/embed/app.spec.d.ts +2 -0
  24. package/cjs/src/embed/app.spec.d.ts.map +1 -0
  25. package/cjs/src/embed/app.spec.js +239 -0
  26. package/cjs/src/embed/app.spec.js.map +1 -0
  27. package/cjs/src/embed/base.d.ts +79 -0
  28. package/cjs/src/embed/base.d.ts.map +1 -0
  29. package/cjs/src/embed/base.js +229 -0
  30. package/cjs/src/embed/base.js.map +1 -0
  31. package/cjs/src/embed/base.spec.d.ts +2 -0
  32. package/cjs/src/embed/base.spec.d.ts.map +1 -0
  33. package/cjs/src/embed/base.spec.js +198 -0
  34. package/cjs/src/embed/base.spec.js.map +1 -0
  35. package/cjs/src/embed/embed.spec.d.ts +2 -0
  36. package/cjs/src/embed/embed.spec.d.ts.map +1 -0
  37. package/cjs/src/embed/embed.spec.js +74 -0
  38. package/cjs/src/embed/embed.spec.js.map +1 -0
  39. package/cjs/src/embed/events.spec.d.ts +2 -0
  40. package/cjs/src/embed/events.spec.d.ts.map +1 -0
  41. package/cjs/src/embed/events.spec.js +238 -0
  42. package/cjs/src/embed/events.spec.js.map +1 -0
  43. package/cjs/src/embed/liveboard.d.ts +150 -0
  44. package/cjs/src/embed/liveboard.d.ts.map +1 -0
  45. package/cjs/src/embed/liveboard.js +168 -0
  46. package/cjs/src/embed/liveboard.js.map +1 -0
  47. package/cjs/src/embed/liveboard.spec.d.ts +2 -0
  48. package/cjs/src/embed/liveboard.spec.d.ts.map +1 -0
  49. package/cjs/src/embed/liveboard.spec.js +229 -0
  50. package/cjs/src/embed/liveboard.spec.js.map +1 -0
  51. package/cjs/src/embed/pinboard.spec.d.ts +2 -0
  52. package/cjs/src/embed/pinboard.spec.d.ts.map +1 -0
  53. package/cjs/src/embed/pinboard.spec.js +148 -0
  54. package/cjs/src/embed/pinboard.spec.js.map +1 -0
  55. package/cjs/src/embed/search-bar.d.ts +50 -0
  56. package/cjs/src/embed/search-bar.d.ts.map +1 -0
  57. package/cjs/src/embed/search-bar.js +63 -0
  58. package/cjs/src/embed/search-bar.js.map +1 -0
  59. package/cjs/src/embed/search.d.ts +129 -0
  60. package/cjs/src/embed/search.d.ts.map +1 -0
  61. package/cjs/src/embed/search.js +121 -0
  62. package/cjs/src/embed/search.js.map +1 -0
  63. package/cjs/src/embed/search.spec.d.ts +2 -0
  64. package/cjs/src/embed/search.spec.d.ts.map +1 -0
  65. package/cjs/src/embed/search.spec.js +238 -0
  66. package/cjs/src/embed/search.spec.js.map +1 -0
  67. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  68. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  69. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +103 -0
  70. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  71. package/cjs/src/embed/ts-embed.d.ts +323 -0
  72. package/cjs/src/embed/ts-embed.d.ts.map +1 -0
  73. package/cjs/src/embed/ts-embed.js +719 -0
  74. package/cjs/src/embed/ts-embed.js.map +1 -0
  75. package/cjs/src/embed/ts-embed.spec.d.ts +2 -0
  76. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -0
  77. package/cjs/src/embed/ts-embed.spec.js +771 -0
  78. package/cjs/src/embed/ts-embed.spec.js.map +1 -0
  79. package/cjs/src/errors.d.ts +7 -0
  80. package/cjs/src/errors.d.ts.map +1 -0
  81. package/cjs/src/errors.js +10 -0
  82. package/cjs/src/errors.js.map +1 -0
  83. package/cjs/src/index.d.ts +18 -0
  84. package/cjs/src/index.d.ts.map +1 -0
  85. package/cjs/src/index.js +42 -0
  86. package/cjs/src/index.js.map +1 -0
  87. package/cjs/src/mixpanel-service.d.ts +29 -0
  88. package/cjs/src/mixpanel-service.d.ts.map +1 -0
  89. package/cjs/src/mixpanel-service.js +76 -0
  90. package/cjs/src/mixpanel-service.js.map +1 -0
  91. package/cjs/src/mixpanel-service.spec.d.ts +2 -0
  92. package/cjs/src/mixpanel-service.spec.d.ts.map +1 -0
  93. package/cjs/src/mixpanel-service.spec.js +63 -0
  94. package/cjs/src/mixpanel-service.spec.js.map +1 -0
  95. package/cjs/src/react/all-types-export.d.ts +3 -0
  96. package/cjs/src/react/all-types-export.d.ts.map +1 -0
  97. package/cjs/src/react/all-types-export.js +29 -0
  98. package/cjs/src/react/all-types-export.js.map +1 -0
  99. package/cjs/src/react/all-types-export.spec.d.ts +2 -0
  100. package/cjs/src/react/all-types-export.spec.d.ts.map +1 -0
  101. package/cjs/src/react/all-types-export.spec.js +13 -0
  102. package/cjs/src/react/all-types-export.spec.js.map +1 -0
  103. package/cjs/src/react/index.d.ts +95 -0
  104. package/cjs/src/react/index.d.ts.map +1 -0
  105. package/cjs/src/react/index.js +121 -0
  106. package/cjs/src/react/index.js.map +1 -0
  107. package/cjs/src/react/index.spec.d.ts +3 -0
  108. package/cjs/src/react/index.spec.d.ts.map +1 -0
  109. package/cjs/src/react/index.spec.js +138 -0
  110. package/cjs/src/react/index.spec.js.map +1 -0
  111. package/cjs/src/react/util.d.ts +19 -0
  112. package/cjs/src/react/util.d.ts.map +1 -0
  113. package/cjs/src/react/util.js +25 -0
  114. package/cjs/src/react/util.js.map +1 -0
  115. package/cjs/src/test/test-utils.d.ts +48 -0
  116. package/cjs/src/test/test-utils.d.ts.map +1 -0
  117. package/cjs/src/test/test-utils.js +108 -0
  118. package/cjs/src/test/test-utils.js.map +1 -0
  119. package/cjs/src/types.d.ts +2020 -0
  120. package/cjs/src/types.d.ts.map +1 -0
  121. package/cjs/src/types.js +1543 -0
  122. package/cjs/src/types.js.map +1 -0
  123. package/cjs/src/utils/answerService.d.ts +10 -0
  124. package/cjs/src/utils/answerService.d.ts.map +1 -0
  125. package/cjs/src/utils/answerService.js +61 -0
  126. package/cjs/src/utils/answerService.js.map +1 -0
  127. package/cjs/src/utils/answerService.spec.d.ts +2 -0
  128. package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
  129. package/cjs/src/utils/answerService.spec.js +31 -0
  130. package/cjs/src/utils/answerService.spec.js.map +1 -0
  131. package/cjs/src/utils/authService.d.ts +37 -0
  132. package/cjs/src/utils/authService.d.ts.map +1 -0
  133. package/cjs/src/utils/authService.js +106 -0
  134. package/cjs/src/utils/authService.js.map +1 -0
  135. package/cjs/src/utils/authService.spec.d.ts +2 -0
  136. package/cjs/src/utils/authService.spec.d.ts.map +1 -0
  137. package/cjs/src/utils/authService.spec.js +72 -0
  138. package/cjs/src/utils/authService.spec.js.map +1 -0
  139. package/cjs/src/utils/processData.d.ts +16 -0
  140. package/cjs/src/utils/processData.d.ts.map +1 -0
  141. package/cjs/src/utils/processData.js +110 -0
  142. package/cjs/src/utils/processData.js.map +1 -0
  143. package/cjs/src/utils/processData.spec.d.ts +2 -0
  144. package/cjs/src/utils/processData.spec.d.ts.map +1 -0
  145. package/cjs/src/utils/processData.spec.js +142 -0
  146. package/cjs/src/utils/processData.spec.js.map +1 -0
  147. package/cjs/src/utils/processTrigger.d.ts +10 -0
  148. package/cjs/src/utils/processTrigger.d.ts.map +1 -0
  149. package/cjs/src/utils/processTrigger.js +63 -0
  150. package/cjs/src/utils/processTrigger.js.map +1 -0
  151. package/cjs/src/utils/processTrigger.spec.d.ts +2 -0
  152. package/cjs/src/utils/processTrigger.spec.d.ts.map +1 -0
  153. package/cjs/src/utils/processTrigger.spec.js +58 -0
  154. package/cjs/src/utils/processTrigger.spec.js.map +1 -0
  155. package/cjs/src/utils.d.ts +68 -0
  156. package/cjs/src/utils.d.ts.map +1 -0
  157. package/cjs/src/utils.js +196 -0
  158. package/cjs/src/utils.js.map +1 -0
  159. package/cjs/src/utils.spec.d.ts +5 -0
  160. package/cjs/src/utils.spec.d.ts.map +1 -0
  161. package/cjs/src/utils.spec.js +98 -0
  162. package/cjs/src/utils.spec.js.map +1 -0
  163. package/dist/src/auth.d.ts +54 -5
  164. package/dist/src/auth.d.ts.map +1 -1
  165. package/dist/src/auth.spec.d.ts +3 -0
  166. package/dist/src/auth.spec.d.ts.map +1 -1
  167. package/dist/src/config.d.ts +1 -0
  168. package/dist/src/config.d.ts.map +1 -1
  169. package/dist/src/embed/app.d.ts +35 -6
  170. package/dist/src/embed/app.d.ts.map +1 -1
  171. package/dist/src/embed/base.d.ts +20 -9
  172. package/dist/src/embed/base.d.ts.map +1 -1
  173. package/dist/src/embed/liveboard.d.ts +17 -5
  174. package/dist/src/embed/liveboard.d.ts.map +1 -1
  175. package/dist/src/embed/search-bar.d.ts +3 -0
  176. package/dist/src/embed/search-bar.d.ts.map +1 -1
  177. package/dist/src/embed/search.d.ts +9 -1
  178. package/dist/src/embed/search.d.ts.map +1 -1
  179. package/dist/src/embed/ts-embed.d.ts +65 -7
  180. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  181. package/dist/src/errors.d.ts.map +1 -1
  182. package/dist/src/index.d.ts +2 -2
  183. package/dist/src/index.d.ts.map +1 -1
  184. package/dist/src/mixpanel-service.d.ts +8 -0
  185. package/dist/src/mixpanel-service.d.ts.map +1 -1
  186. package/dist/src/react/all-types-export.d.ts +3 -0
  187. package/dist/src/react/all-types-export.d.ts.map +1 -0
  188. package/dist/src/react/all-types-export.spec.d.ts +2 -0
  189. package/dist/src/react/all-types-export.spec.d.ts.map +1 -0
  190. package/dist/src/react/index.d.ts +72 -0
  191. package/dist/src/react/index.d.ts.map +1 -1
  192. package/dist/src/react/util.d.ts +4 -0
  193. package/dist/src/react/util.d.ts.map +1 -1
  194. package/dist/src/test/test-utils.d.ts +11 -2
  195. package/dist/src/test/test-utils.d.ts.map +1 -1
  196. package/dist/src/types.d.ts +499 -96
  197. package/dist/src/types.d.ts.map +1 -1
  198. package/dist/src/utils/answerService.d.ts +7 -0
  199. package/dist/src/utils/answerService.d.ts.map +1 -1
  200. package/dist/src/utils/authService.d.ts +30 -0
  201. package/dist/src/utils/authService.d.ts.map +1 -1
  202. package/dist/src/utils/processData.d.ts +12 -0
  203. package/dist/src/utils/processData.d.ts.map +1 -1
  204. package/dist/src/utils/processTrigger.d.ts +7 -0
  205. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  206. package/dist/src/utils.d.ts +12 -0
  207. package/dist/src/utils.d.ts.map +1 -1
  208. package/dist/tsembed-react.es.js +28024 -0
  209. package/dist/tsembed-react.js +27966 -0
  210. package/dist/tsembed.es.js +18114 -305
  211. package/dist/tsembed.js +18088 -327
  212. package/dist/visual-embed-sdk-react-full.d.ts +3092 -0
  213. package/dist/visual-embed-sdk-react.d.ts +2781 -0
  214. package/dist/visual-embed-sdk.d.ts +2944 -0
  215. package/lib/package.json +15 -14
  216. package/lib/src/auth.d.ts +54 -5
  217. package/lib/src/auth.d.ts.map +1 -1
  218. package/lib/src/auth.js +91 -31
  219. package/lib/src/auth.js.map +1 -1
  220. package/lib/src/auth.spec.d.ts +3 -0
  221. package/lib/src/auth.spec.d.ts.map +1 -1
  222. package/lib/src/auth.spec.js +37 -6
  223. package/lib/src/auth.spec.js.map +1 -1
  224. package/lib/src/config.d.ts +1 -0
  225. package/lib/src/config.d.ts.map +1 -1
  226. package/lib/src/config.js +5 -3
  227. package/lib/src/config.js.map +1 -1
  228. package/lib/src/config.spec.js.map +1 -1
  229. package/lib/src/embed/app.d.ts +35 -6
  230. package/lib/src/embed/app.d.ts.map +1 -1
  231. package/lib/src/embed/app.js +55 -16
  232. package/lib/src/embed/app.js.map +1 -1
  233. package/lib/src/embed/app.spec.js +41 -12
  234. package/lib/src/embed/app.spec.js.map +1 -1
  235. package/lib/src/embed/base.d.ts +20 -9
  236. package/lib/src/embed/base.d.ts.map +1 -1
  237. package/lib/src/embed/base.js +31 -15
  238. package/lib/src/embed/base.js.map +1 -1
  239. package/lib/src/embed/base.spec.js.map +1 -1
  240. package/lib/src/embed/embed.spec.js +1 -1
  241. package/lib/src/embed/embed.spec.js.map +1 -1
  242. package/lib/src/embed/liveboard.d.ts +17 -5
  243. package/lib/src/embed/liveboard.d.ts.map +1 -1
  244. package/lib/src/embed/liveboard.js +49 -37
  245. package/lib/src/embed/liveboard.js.map +1 -1
  246. package/lib/src/embed/liveboard.spec.js +37 -30
  247. package/lib/src/embed/liveboard.spec.js.map +1 -1
  248. package/lib/src/embed/pinboard.spec.js +14 -26
  249. package/lib/src/embed/pinboard.spec.js.map +1 -1
  250. package/lib/src/embed/search-bar.d.ts +3 -0
  251. package/lib/src/embed/search-bar.d.ts.map +1 -1
  252. package/lib/src/embed/search-bar.js +5 -6
  253. package/lib/src/embed/search-bar.js.map +1 -1
  254. package/lib/src/embed/search.d.ts +9 -1
  255. package/lib/src/embed/search.d.ts.map +1 -1
  256. package/lib/src/embed/search.js +18 -14
  257. package/lib/src/embed/search.js.map +1 -1
  258. package/lib/src/embed/search.spec.js +16 -19
  259. package/lib/src/embed/search.spec.js.map +1 -1
  260. package/lib/src/embed/searchEmbed-basic-auth.spec.js +4 -0
  261. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
  262. package/lib/src/embed/ts-embed.d.ts +65 -7
  263. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  264. package/lib/src/embed/ts-embed.js +154 -77
  265. package/lib/src/embed/ts-embed.js.map +1 -1
  266. package/lib/src/embed/ts-embed.spec.js +46 -24
  267. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  268. package/lib/src/errors.d.ts.map +1 -1
  269. package/lib/src/errors.js.map +1 -1
  270. package/lib/src/index.d.ts +2 -2
  271. package/lib/src/index.d.ts.map +1 -1
  272. package/lib/src/index.js +4 -4
  273. package/lib/src/index.js.map +1 -1
  274. package/lib/src/mixpanel-service.d.ts +8 -0
  275. package/lib/src/mixpanel-service.d.ts.map +1 -1
  276. package/lib/src/mixpanel-service.js +13 -1
  277. package/lib/src/mixpanel-service.js.map +1 -1
  278. package/lib/src/mixpanel-service.spec.js.map +1 -1
  279. package/lib/src/react/all-types-export.d.ts +3 -0
  280. package/lib/src/react/all-types-export.d.ts.map +1 -0
  281. package/lib/src/react/all-types-export.js +5 -0
  282. package/lib/src/react/all-types-export.js.map +1 -0
  283. package/lib/src/react/all-types-export.spec.d.ts +2 -0
  284. package/lib/src/react/all-types-export.spec.d.ts.map +1 -0
  285. package/lib/src/react/all-types-export.spec.js +10 -0
  286. package/lib/src/react/all-types-export.spec.js.map +1 -0
  287. package/lib/src/react/index.d.ts +72 -0
  288. package/lib/src/react/index.d.ts.map +1 -1
  289. package/lib/src/react/index.js +79 -7
  290. package/lib/src/react/index.js.map +1 -1
  291. package/lib/src/react/index.spec.js +27 -6
  292. package/lib/src/react/index.spec.js.map +1 -1
  293. package/lib/src/react/util.d.ts +4 -0
  294. package/lib/src/react/util.d.ts.map +1 -1
  295. package/lib/src/react/util.js +4 -0
  296. package/lib/src/react/util.js.map +1 -1
  297. package/lib/src/test/test-utils.d.ts +11 -2
  298. package/lib/src/test/test-utils.d.ts.map +1 -1
  299. package/lib/src/test/test-utils.js +36 -25
  300. package/lib/src/test/test-utils.js.map +1 -1
  301. package/lib/src/types.d.ts +499 -96
  302. package/lib/src/types.d.ts.map +1 -1
  303. package/lib/src/types.js +374 -68
  304. package/lib/src/types.js.map +1 -1
  305. package/lib/src/utils/answerService.d.ts +7 -0
  306. package/lib/src/utils/answerService.d.ts.map +1 -1
  307. package/lib/src/utils/answerService.js +7 -0
  308. package/lib/src/utils/answerService.js.map +1 -1
  309. package/lib/src/utils/answerService.spec.js.map +1 -1
  310. package/lib/src/utils/authService.d.ts +30 -0
  311. package/lib/src/utils/authService.d.ts.map +1 -1
  312. package/lib/src/utils/authService.js +39 -2
  313. package/lib/src/utils/authService.js.map +1 -1
  314. package/lib/src/utils/authService.spec.js.map +1 -1
  315. package/lib/src/utils/processData.d.ts +12 -0
  316. package/lib/src/utils/processData.d.ts.map +1 -1
  317. package/lib/src/utils/processData.js +33 -5
  318. package/lib/src/utils/processData.js.map +1 -1
  319. package/lib/src/utils/processData.spec.js.map +1 -1
  320. package/lib/src/utils/processTrigger.d.ts +7 -0
  321. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  322. package/lib/src/utils/processTrigger.js +17 -3
  323. package/lib/src/utils/processTrigger.js.map +1 -1
  324. package/lib/src/utils/processTrigger.spec.js.map +1 -1
  325. package/lib/src/utils.d.ts +12 -0
  326. package/lib/src/utils.d.ts.map +1 -1
  327. package/lib/src/utils.js +24 -19
  328. package/lib/src/utils.js.map +1 -1
  329. package/lib/src/utils.spec.js.map +1 -1
  330. package/package.json +15 -14
  331. package/src/auth.spec.ts +83 -133
  332. package/src/auth.ts +148 -115
  333. package/src/config.spec.ts +2 -4
  334. package/src/config.ts +5 -3
  335. package/src/embed/app.spec.ts +57 -14
  336. package/src/embed/app.ts +91 -36
  337. package/src/embed/base.spec.ts +3 -9
  338. package/src/embed/base.ts +51 -53
  339. package/src/embed/embed.spec.ts +5 -6
  340. package/src/embed/liveboard.spec.ts +56 -37
  341. package/src/embed/liveboard.ts +66 -64
  342. package/src/embed/pinboard.spec.ts +26 -29
  343. package/src/embed/search-bar.tsx +10 -8
  344. package/src/embed/search.spec.ts +31 -21
  345. package/src/embed/search.ts +26 -20
  346. package/src/embed/searchEmbed-basic-auth.spec.ts +22 -28
  347. package/src/embed/ts-embed.spec.ts +99 -144
  348. package/src/embed/ts-embed.ts +188 -162
  349. package/src/errors.ts +3 -6
  350. package/src/index.ts +6 -10
  351. package/src/mixpanel-service.spec.ts +1 -3
  352. package/src/mixpanel-service.ts +13 -1
  353. package/src/react/index.spec.tsx +66 -13
  354. package/src/react/index.tsx +111 -62
  355. package/src/react/util.ts +8 -4
  356. package/src/test/test-utils.ts +43 -39
  357. package/src/types.ts +498 -98
  358. package/src/utils/answerService.spec.ts +3 -5
  359. package/src/utils/answerService.ts +21 -17
  360. package/src/utils/authService.spec.ts +26 -41
  361. package/src/utils/authService.ts +47 -21
  362. package/src/utils/processData.spec.ts +26 -59
  363. package/src/utils/processData.ts +36 -14
  364. package/src/utils/processTrigger.spec.ts +1 -6
  365. package/src/utils/processTrigger.ts +18 -9
  366. package/src/utils.spec.ts +8 -12
  367. package/src/utils.ts +25 -26
  368. package/lib/src/visual-embed-sdk.d.ts +0 -2419
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ const test_utils_1 = require("../test/test-utils");
5
+ const thoughtSpotHost = 'tshost';
6
+ const defaultViewConfig = {
7
+ frameParams: {
8
+ width: 1280,
9
+ height: 720,
10
+ },
11
+ };
12
+ const PAYLOAD = 'Sample payload';
13
+ beforeAll(() => {
14
+ (0, index_1.init)({
15
+ thoughtSpotHost,
16
+ authType: index_1.AuthType.None,
17
+ });
18
+ spyOn(window, 'alert');
19
+ });
20
+ describe('test communication between host app and ThoughtSpot', () => {
21
+ beforeEach(() => {
22
+ document.body.innerHTML = (0, test_utils_1.getDocumentBody)();
23
+ });
24
+ test('should capture event from ThoughtSpot app', (done) => {
25
+ const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), defaultViewConfig);
26
+ searchEmbed
27
+ .on(index_1.EmbedEvent.CustomAction, (data) => {
28
+ expect(data.data).toBe(PAYLOAD);
29
+ done();
30
+ })
31
+ .render();
32
+ (0, test_utils_1.executeAfterWait)(() => {
33
+ const iframe = (0, test_utils_1.getIFrameEl)();
34
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
35
+ type: index_1.EmbedEvent.CustomAction,
36
+ data: PAYLOAD,
37
+ });
38
+ });
39
+ });
40
+ // TODO: enable test once we are actually able to load stuff in the iframe
41
+ xtest('should trigger iframe load event', async () => {
42
+ const onLoadSpy = jest.fn();
43
+ const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
44
+ searchEmbed.on(index_1.EmbedEvent.Load, onLoadSpy).render();
45
+ await (0, test_utils_1.executeAfterWait)(() => {
46
+ expect(onLoadSpy).toHaveBeenCalled();
47
+ }, test_utils_1.EVENT_WAIT_TIME);
48
+ });
49
+ test('should trigger event to ThoughtSpot app', (done) => {
50
+ (0, test_utils_1.mockMessageChannel)();
51
+ const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
52
+ searchEmbed.render();
53
+ setTimeout(() => {
54
+ searchEmbed.trigger(index_1.HostEvent.Search, {
55
+ body: PAYLOAD,
56
+ });
57
+ }, test_utils_1.EVENT_WAIT_TIME);
58
+ (0, test_utils_1.executeAfterWait)(() => {
59
+ const iframe = (0, test_utils_1.getIFrameEl)();
60
+ iframe.contentWindow.addEventListener('message', (e) => {
61
+ expect(e.data.type).toBe(index_1.HostEvent.Search);
62
+ expect(e.data.data.body).toBe(PAYLOAD);
63
+ done();
64
+ });
65
+ });
66
+ });
67
+ test('should execute multiple event handlers if registered', async () => {
68
+ const handlerOne = jest.fn();
69
+ const handlerTwo = jest.fn();
70
+ const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), defaultViewConfig);
71
+ searchEmbed
72
+ .on(index_1.EmbedEvent.CustomAction, handlerOne)
73
+ .on(index_1.EmbedEvent.CustomAction, handlerTwo)
74
+ .render();
75
+ await (0, test_utils_1.executeAfterWait)(() => {
76
+ const iframe = (0, test_utils_1.getIFrameEl)();
77
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
78
+ type: index_1.EmbedEvent.CustomAction,
79
+ data: PAYLOAD,
80
+ });
81
+ });
82
+ await (0, test_utils_1.executeAfterWait)(() => {
83
+ expect(handlerOne).toHaveBeenCalled();
84
+ expect(handlerTwo).toHaveBeenCalled();
85
+ }, test_utils_1.EVENT_WAIT_TIME);
86
+ });
87
+ test('should capture event from correct iframe', async () => {
88
+ const spyOne = jest.fn();
89
+ const embedOne = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), defaultViewConfig);
90
+ embedOne.on(index_1.EmbedEvent.CustomAction, spyOne).render();
91
+ const spyTwo = jest.fn();
92
+ const embedTwo = new index_1.PinboardEmbed((0, test_utils_1.getRootEl2)(), {
93
+ ...defaultViewConfig,
94
+ pinboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
95
+ });
96
+ const spyThree = jest.fn();
97
+ const embedThree = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl2)(), {
98
+ ...defaultViewConfig,
99
+ liveboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
100
+ });
101
+ embedTwo.on(index_1.EmbedEvent.CustomAction, spyTwo).render();
102
+ embedThree.on(index_1.EmbedEvent.CustomAction, spyThree).render();
103
+ await (0, test_utils_1.executeAfterWait)(() => {
104
+ const iframeOne = (0, test_utils_1.getIFrameEl)();
105
+ (0, test_utils_1.postMessageToParent)(iframeOne.contentWindow, {
106
+ type: index_1.EmbedEvent.CustomAction,
107
+ data: PAYLOAD,
108
+ });
109
+ });
110
+ await (0, test_utils_1.executeAfterWait)(() => {
111
+ expect(spyOne).toHaveBeenCalled();
112
+ expect(spyTwo).not.toHaveBeenCalled();
113
+ expect(spyThree).not.toHaveBeenCalled();
114
+ }, test_utils_1.EVENT_WAIT_TIME);
115
+ });
116
+ test('send getIframeCenter Event without eventPort', async () => {
117
+ const liveboardEmbed = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
118
+ ...defaultViewConfig,
119
+ fullHeight: true,
120
+ pinboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
121
+ });
122
+ liveboardEmbed.render();
123
+ const spy1 = jest.spyOn(global.console, 'log');
124
+ await (0, test_utils_1.executeAfterWait)(() => {
125
+ const iframe = (0, test_utils_1.getIFrameEl)();
126
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
127
+ type: index_1.EmbedEvent.EmbedIframeCenter,
128
+ data: PAYLOAD,
129
+ });
130
+ });
131
+ expect(spy1).toHaveBeenCalledWith('Event Port is not defined');
132
+ });
133
+ test('send getIframeCenter Event without eventPort - pinboard', async () => {
134
+ const pinboardEmbed = new index_1.PinboardEmbed((0, test_utils_1.getRootEl)(), {
135
+ ...defaultViewConfig,
136
+ fullHeight: true,
137
+ pinboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
138
+ });
139
+ pinboardEmbed.render();
140
+ const spy1 = jest.spyOn(global.console, 'log');
141
+ await (0, test_utils_1.executeAfterWait)(() => {
142
+ const iframe = (0, test_utils_1.getIFrameEl)();
143
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
144
+ type: index_1.EmbedEvent.EmbedIframeCenter,
145
+ data: PAYLOAD,
146
+ });
147
+ });
148
+ expect(spy1).toHaveBeenCalledWith('Event Port is not defined');
149
+ });
150
+ test('send getIframeCenter Event with eventPort - pinboard', async () => {
151
+ const pinboardEmbed = new index_1.PinboardEmbed((0, test_utils_1.getRootEl)(), {
152
+ ...defaultViewConfig,
153
+ fullHeight: true,
154
+ pinboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
155
+ });
156
+ pinboardEmbed.render();
157
+ const mockPort = {
158
+ postMessage: jest.fn(),
159
+ };
160
+ await (0, test_utils_1.executeAfterWait)(() => {
161
+ const iframe = (0, test_utils_1.getIFrameEl)();
162
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
163
+ type: index_1.EmbedEvent.EmbedIframeCenter,
164
+ data: PAYLOAD,
165
+ }, mockPort);
166
+ });
167
+ const heightObj = {
168
+ data: {
169
+ iframeCenter: 0,
170
+ iframeHeight: 0,
171
+ iframeScrolled: 0,
172
+ iframeVisibleViewPort: 0,
173
+ viewPortHeight: 768,
174
+ },
175
+ type: index_1.EmbedEvent.EmbedIframeCenter,
176
+ };
177
+ expect(mockPort.postMessage).toHaveBeenCalledWith(heightObj);
178
+ });
179
+ test('send getIframeCenter Event with eventPort', async () => {
180
+ const liveboardEmbed = new index_1.LiveboardEmbed((0, test_utils_1.getRootEl)(), {
181
+ ...defaultViewConfig,
182
+ fullHeight: true,
183
+ pinboardId: 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0',
184
+ });
185
+ liveboardEmbed.render();
186
+ const mockPort = {
187
+ postMessage: jest.fn(),
188
+ };
189
+ await (0, test_utils_1.executeAfterWait)(() => {
190
+ const iframe = (0, test_utils_1.getIFrameEl)();
191
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
192
+ type: index_1.EmbedEvent.EmbedIframeCenter,
193
+ data: PAYLOAD,
194
+ }, mockPort);
195
+ });
196
+ const heightObj = {
197
+ data: {
198
+ iframeCenter: 0,
199
+ iframeHeight: 0,
200
+ iframeScrolled: 0,
201
+ iframeVisibleViewPort: 0,
202
+ viewPortHeight: 768,
203
+ },
204
+ type: index_1.EmbedEvent.EmbedIframeCenter,
205
+ };
206
+ expect(mockPort.postMessage).toHaveBeenCalledWith(heightObj);
207
+ });
208
+ test('ALL event listener should fire for all events with the event type set correctly', async () => {
209
+ const embed = new index_1.AppEmbed((0, test_utils_1.getRootEl)(), defaultViewConfig);
210
+ const spy = jest.fn();
211
+ embed.on(index_1.EmbedEvent.ALL, spy);
212
+ embed.render();
213
+ await (0, test_utils_1.executeAfterWait)(() => {
214
+ const iframe = (0, test_utils_1.getIFrameEl)();
215
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
216
+ type: index_1.EmbedEvent.CustomAction,
217
+ data: PAYLOAD,
218
+ });
219
+ (0, test_utils_1.postMessageToParent)(iframe.contentWindow, {
220
+ type: index_1.EmbedEvent.DialogOpen,
221
+ });
222
+ });
223
+ await (0, test_utils_1.executeAfterWait)(() => {
224
+ expect(spy).toHaveBeenCalledTimes(3);
225
+ expect(spy.mock.calls[0][0]).toMatchObject({
226
+ type: index_1.EmbedEvent.Init,
227
+ });
228
+ expect(spy.mock.calls[1][0]).toMatchObject({
229
+ type: index_1.EmbedEvent.CustomAction,
230
+ data: PAYLOAD,
231
+ });
232
+ expect(spy.mock.calls[2][0]).toMatchObject({
233
+ type: index_1.EmbedEvent.DialogOpen,
234
+ });
235
+ }, test_utils_1.EVENT_WAIT_TIME);
236
+ });
237
+ });
238
+ //# sourceMappingURL=events.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.spec.js","sourceRoot":"","sources":["../../../src/embed/events.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Copyright (c) 2022
3
+ *
4
+ * Embed a ThoughtSpot Liveboard or visualization
5
+ * https://developers.thoughtspot.com/docs/?pageid=embed-pinboard
6
+ * https://developers.thoughtspot.com/docs/?pageid=embed-a-viz
7
+ *
8
+ * @summary Liveboard & visualization embed
9
+ * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
10
+ */
11
+ import { DOMSelector, HostEvent, ViewConfig } from '../types';
12
+ import { V1Embed } from './ts-embed';
13
+ /**
14
+ * The configuration for the embedded Liveboard or visualization page view.
15
+ *
16
+ * @group Embed components
17
+ */
18
+ export interface LiveboardViewConfig extends ViewConfig {
19
+ /**
20
+ * If set to true, the embedded object container dynamically resizes
21
+ * according to the height of the Liveboard.
22
+ *
23
+ * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
24
+ */
25
+ fullHeight?: boolean;
26
+ /**
27
+ * This is the minimum height(in pixels) for a full height Liveboard.
28
+ * Setting this height helps resolves issues with empty Liveboards and
29
+ * other screens navigable from a Liveboard.
30
+ *
31
+ * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
32
+ * @default 500
33
+ */
34
+ defaultHeight?: number;
35
+ /**
36
+ * @Deprecated If set to true, the context menu in visualizations will be enabled.
37
+ */
38
+ enableVizTransformations?: boolean;
39
+ /**
40
+ * The Liveboard to display in the embedded view.
41
+ * Use either of liveboardId or pinboardId to reference the Liveboard to embed.
42
+ *
43
+ * @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1
44
+ */
45
+ liveboardId?: string;
46
+ /**
47
+ * To support backward compatibility
48
+ *
49
+ * @hidden
50
+ */
51
+ pinboardId?: string;
52
+ /**
53
+ * The visualization within the Liveboard to display.
54
+ */
55
+ vizId?: string;
56
+ /**
57
+ * If set to true, all filter chips from a
58
+ * Liveboard page will be read-only (no X buttons)
59
+ *
60
+ * @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1
61
+ */
62
+ preventLiveboardFilterRemoval?: boolean;
63
+ /**
64
+ * Array of viz ids which should be visible when the liveboard
65
+ * first renders. This can be changed by triggering the "SetVisibleVizs"
66
+ * event.
67
+ *
68
+ * @version SDK: 1.9.1 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
69
+ */
70
+ visibleVizs?: string[];
71
+ /**
72
+ * To support backward compatibilty
73
+ *
74
+ * @hidden
75
+ */
76
+ preventPinboardFilterRemoval?: boolean;
77
+ /**
78
+ * Render embedded Liveboards and visualizations in the new Liveboard experience mode
79
+ *
80
+ * @version SDK: 1.14.0 | ThoughtSpot: 8.6.0.cl, 8.8.1-sw
81
+ */
82
+ liveboardV2?: boolean;
83
+ /**
84
+ * Tab Id of the Liveboard that is supposed to be active
85
+ *
86
+ * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
87
+ */
88
+ activeTabId?: string;
89
+ }
90
+ /**
91
+ * Embed a ThoughtSpot Liveboard or a Thoughtspot visualization. When rendered it already
92
+ * waits for the authentication to complete, so no need to wait for AuthStatus.SUCCESS.
93
+ *
94
+ * @example
95
+ * ```js
96
+ * import { .. } from '@thoughtspot/visual-embed-sdk';
97
+ * init({ ... });
98
+ * const embed = new LiveboardEmbed("#container", {
99
+ * liveboardId: <your-id-here>,
100
+ * // .. other params here.
101
+ * })
102
+ * ```
103
+ * @group Embed components
104
+ */
105
+ export declare class LiveboardEmbed extends V1Embed {
106
+ protected viewConfig: LiveboardViewConfig;
107
+ private defaultHeight;
108
+ constructor(domSelector: DOMSelector, viewConfig: LiveboardViewConfig);
109
+ /**
110
+ * Construct a map of params to be passed on to the
111
+ * embedded Liveboard or visualization.
112
+ */
113
+ protected getEmbedParams(): string;
114
+ private getIframeSuffixSrc;
115
+ /**
116
+ * Construct the URL of the embedded ThoughtSpot Liveboard or visualization
117
+ * to be loaded within the iframe.
118
+ */
119
+ private getIFrameSrc;
120
+ /**
121
+ * Set the iframe height as per the computed height received
122
+ * from the ThoughtSpot app.
123
+ *
124
+ * @param data The event payload
125
+ */
126
+ private updateIFrameHeight;
127
+ private embedIframeCenter;
128
+ private setIframeHeightForNonEmbedLiveboard;
129
+ /**
130
+ * Triggers an event to the embedded app
131
+ *
132
+ * @param messageType The event type
133
+ * @param data The payload to send with the message
134
+ */
135
+ trigger(messageType: HostEvent, data?: any): Promise<any>;
136
+ /**
137
+ * Render an embedded ThoughtSpot Liveboard or visualization
138
+ *
139
+ * @param renderOptions An object specifying the Liveboard ID,
140
+ * visualization ID and the runtime filters.
141
+ */
142
+ render(): LiveboardEmbed;
143
+ navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string): void;
144
+ }
145
+ /**
146
+ * @hidden
147
+ */
148
+ export declare class PinboardEmbed extends LiveboardEmbed {
149
+ }
150
+ //# sourceMappingURL=liveboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveboard.d.ts","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAKH,WAAW,EACX,SAAS,EACT,UAAU,EACb,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACnD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;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;IASrE;;;OAGG;IACH,SAAS,CAAC,cAAc;IA4CxB,OAAO,CAAC,kBAAkB;IAa1B;;;OAGG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,iBAAiB,CAGvB;IAEF,OAAO,CAAC,mCAAmC,CAIzC;IAEF;;;;;OAKG;IACI,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAQpE;;;;;OAKG;IACI,MAAM,IAAI,cAAc;IASxB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;CAWvF;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,cAAc;CAAI"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) 2022
4
+ *
5
+ * Embed a ThoughtSpot Liveboard or visualization
6
+ * https://developers.thoughtspot.com/docs/?pageid=embed-pinboard
7
+ * https://developers.thoughtspot.com/docs/?pageid=embed-a-viz
8
+ *
9
+ * @summary Liveboard & visualization embed
10
+ * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.PinboardEmbed = exports.LiveboardEmbed = void 0;
14
+ const errors_1 = require("../errors");
15
+ const types_1 = require("../types");
16
+ const utils_1 = require("../utils");
17
+ const ts_embed_1 = require("./ts-embed");
18
+ /**
19
+ * Embed a ThoughtSpot Liveboard or a Thoughtspot visualization. When rendered it already
20
+ * waits for the authentication to complete, so no need to wait for AuthStatus.SUCCESS.
21
+ *
22
+ * @example
23
+ * ```js
24
+ * import { .. } from '@thoughtspot/visual-embed-sdk';
25
+ * init({ ... });
26
+ * const embed = new LiveboardEmbed("#container", {
27
+ * liveboardId: <your-id-here>,
28
+ * // .. other params here.
29
+ * })
30
+ * ```
31
+ * @group Embed components
32
+ */
33
+ class LiveboardEmbed extends ts_embed_1.V1Embed {
34
+ // eslint-disable-next-line no-useless-constructor
35
+ constructor(domSelector, viewConfig) {
36
+ super(domSelector, viewConfig);
37
+ this.defaultHeight = 500;
38
+ /**
39
+ * Set the iframe height as per the computed height received
40
+ * from the ThoughtSpot app.
41
+ *
42
+ * @param data The event payload
43
+ */
44
+ this.updateIFrameHeight = (data) => {
45
+ this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
46
+ };
47
+ this.embedIframeCenter = (data, responder) => {
48
+ const obj = this.getIframeCenter();
49
+ responder({ type: types_1.EmbedEvent.EmbedIframeCenter, data: obj });
50
+ };
51
+ this.setIframeHeightForNonEmbedLiveboard = (data) => {
52
+ if (!data.data.currentPath.startsWith('/embed/viz/')) {
53
+ this.setIFrameHeight(this.defaultHeight);
54
+ }
55
+ };
56
+ if (this.viewConfig.fullHeight === true) {
57
+ this.on(types_1.EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
58
+ this.on(types_1.EmbedEvent.EmbedHeight, this.updateIFrameHeight);
59
+ this.on(types_1.EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
60
+ }
61
+ }
62
+ /**
63
+ * Construct a map of params to be passed on to the
64
+ * embedded Liveboard or visualization.
65
+ */
66
+ getEmbedParams() {
67
+ let params = {};
68
+ params[types_1.Param.EmbedApp] = true;
69
+ params = this.getBaseQueryParams(params);
70
+ const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, activeTabId, } = this.viewConfig;
71
+ const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
72
+ || this.viewConfig.preventPinboardFilterRemoval;
73
+ if (fullHeight === true) {
74
+ params[types_1.Param.fullHeight] = true;
75
+ }
76
+ if (defaultHeight) {
77
+ this.defaultHeight = defaultHeight;
78
+ }
79
+ if (enableVizTransformations !== undefined) {
80
+ params[types_1.Param.EnableVizTransformations] = enableVizTransformations.toString();
81
+ }
82
+ if (preventLiveboardFilterRemoval) {
83
+ params[types_1.Param.preventLiveboardFilterRemoval] = true;
84
+ }
85
+ if (visibleVizs) {
86
+ params[types_1.Param.visibleVizs] = visibleVizs;
87
+ }
88
+ params[types_1.Param.livedBoardEmbed] = true;
89
+ if (vizId) {
90
+ params[types_1.Param.vizEmbed] = true;
91
+ }
92
+ if (liveboardV2 !== undefined) {
93
+ params[types_1.Param.LiveboardV2Enabled] = liveboardV2;
94
+ }
95
+ const queryParams = (0, utils_1.getQueryParamString)(params, true);
96
+ return queryParams;
97
+ }
98
+ getIframeSuffixSrc(liveboardId, vizId, activeTabId) {
99
+ let suffix = `/embed/viz/${liveboardId}`;
100
+ if (activeTabId) {
101
+ suffix = `${suffix}/tab/${activeTabId} `;
102
+ }
103
+ if (vizId) {
104
+ suffix = `${suffix}/${vizId}`;
105
+ }
106
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams();
107
+ suffix = `${suffix}${tsPostHashParams}`;
108
+ return suffix;
109
+ }
110
+ /**
111
+ * Construct the URL of the embedded ThoughtSpot Liveboard or visualization
112
+ * to be loaded within the iframe.
113
+ */
114
+ getIFrameSrc() {
115
+ var _a;
116
+ const { vizId, activeTabId } = this.viewConfig;
117
+ const liveboardId = (_a = this.viewConfig.liveboardId) !== null && _a !== void 0 ? _a : this.viewConfig.pinboardId;
118
+ if (!liveboardId) {
119
+ this.handleError(errors_1.ERROR_MESSAGE.LIVEBOARD_VIZ_ID_VALIDATION);
120
+ }
121
+ return `${this.getRootIframeSrc()}${this.getIframeSuffixSrc(liveboardId, vizId, activeTabId)}`;
122
+ }
123
+ /**
124
+ * Triggers an event to the embedded app
125
+ *
126
+ * @param messageType The event type
127
+ * @param data The payload to send with the message
128
+ */
129
+ trigger(messageType, data = {}) {
130
+ const dataWithVizId = data;
131
+ if (typeof dataWithVizId === 'object' && this.viewConfig.vizId) {
132
+ dataWithVizId.vizId = this.viewConfig.vizId;
133
+ }
134
+ return super.trigger(messageType, dataWithVizId);
135
+ }
136
+ /**
137
+ * Render an embedded ThoughtSpot Liveboard or visualization
138
+ *
139
+ * @param renderOptions An object specifying the Liveboard ID,
140
+ * visualization ID and the runtime filters.
141
+ */
142
+ render() {
143
+ super.render();
144
+ const src = this.getIFrameSrc();
145
+ this.renderV1Embed(src);
146
+ return this;
147
+ }
148
+ navigateToLiveboard(liveboardId, vizId, activeTabId) {
149
+ const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
150
+ this.viewConfig.liveboardId = liveboardId;
151
+ this.viewConfig.activeTabId = activeTabId;
152
+ this.viewConfig.vizId = vizId;
153
+ if (this.isAppInitialized) {
154
+ this.trigger(types_1.HostEvent.Navigate, path.substring(1));
155
+ }
156
+ else {
157
+ this.render();
158
+ }
159
+ }
160
+ }
161
+ exports.LiveboardEmbed = LiveboardEmbed;
162
+ /**
163
+ * @hidden
164
+ */
165
+ class PinboardEmbed extends LiveboardEmbed {
166
+ }
167
+ exports.PinboardEmbed = PinboardEmbed;
168
+ //# sourceMappingURL=liveboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveboard.js","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=liveboard.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"liveboard.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/liveboard.spec.ts"],"names":[],"mappings":""}