@thoughtspot/visual-embed-sdk 1.28.0-alpha.2 → 1.28.0-alpha.5

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 (223) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts +16 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +5 -1
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/auth.spec.d.ts.map +1 -1
  7. package/cjs/src/auth.spec.js +9 -0
  8. package/cjs/src/auth.spec.js.map +1 -1
  9. package/cjs/src/authToken.d.ts +6 -0
  10. package/cjs/src/authToken.d.ts.map +1 -1
  11. package/cjs/src/authToken.js +6 -0
  12. package/cjs/src/authToken.js.map +1 -1
  13. package/cjs/src/embed/app.d.ts +156 -6
  14. package/cjs/src/embed/app.d.ts.map +1 -1
  15. package/cjs/src/embed/app.js +3 -3
  16. package/cjs/src/embed/app.js.map +1 -1
  17. package/cjs/src/embed/app.spec.js +19 -1
  18. package/cjs/src/embed/app.spec.js.map +1 -1
  19. package/cjs/src/embed/base.d.ts.map +1 -1
  20. package/cjs/src/embed/base.js +2 -3
  21. package/cjs/src/embed/base.js.map +1 -1
  22. package/cjs/src/embed/embed.spec.js +0 -15
  23. package/cjs/src/embed/embed.spec.js.map +1 -1
  24. package/cjs/src/embed/liveboard.d.ts +121 -6
  25. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  26. package/cjs/src/embed/liveboard.js +2 -2
  27. package/cjs/src/embed/liveboard.js.map +1 -1
  28. package/cjs/src/embed/liveboard.spec.js +20 -1
  29. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  30. package/cjs/src/embed/pinboard.spec.js +20 -1
  31. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  32. package/cjs/src/embed/sage.d.ts +6 -6
  33. package/cjs/src/embed/sage.d.ts.map +1 -1
  34. package/cjs/src/embed/sage.js +18 -3
  35. package/cjs/src/embed/sage.js.map +1 -1
  36. package/cjs/src/embed/sage.spec.js +11 -11
  37. package/cjs/src/embed/sage.spec.js.map +1 -1
  38. package/cjs/src/embed/search-bar.d.ts +37 -6
  39. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  40. package/cjs/src/embed/search-bar.js +2 -2
  41. package/cjs/src/embed/search-bar.js.map +1 -1
  42. package/cjs/src/embed/search.d.ts +90 -1
  43. package/cjs/src/embed/search.d.ts.map +1 -1
  44. package/cjs/src/embed/search.js +3 -3
  45. package/cjs/src/embed/search.js.map +1 -1
  46. package/cjs/src/embed/search.spec.js +25 -1
  47. package/cjs/src/embed/search.spec.js.map +1 -1
  48. package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  49. package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  50. package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
  51. package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
  52. package/cjs/src/embed/ts-embed.d.ts +1 -1
  53. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  54. package/cjs/src/embed/ts-embed.js +14 -11
  55. package/cjs/src/embed/ts-embed.js.map +1 -1
  56. package/cjs/src/embed/ts-embed.spec.js +47 -17
  57. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  58. package/cjs/src/index.d.ts +3 -1
  59. package/cjs/src/index.d.ts.map +1 -1
  60. package/cjs/src/index.js +5 -1
  61. package/cjs/src/index.js.map +1 -1
  62. package/cjs/src/react/index.spec.js +1 -1
  63. package/cjs/src/react/index.spec.js.map +1 -1
  64. package/cjs/src/test/test-utils.d.ts +1 -0
  65. package/cjs/src/test/test-utils.d.ts.map +1 -1
  66. package/cjs/src/test/test-utils.js +10 -1
  67. package/cjs/src/test/test-utils.js.map +1 -1
  68. package/cjs/src/tokenizedFetch.d.ts +9 -0
  69. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  70. package/cjs/src/tokenizedFetch.js +9 -0
  71. package/cjs/src/tokenizedFetch.js.map +1 -1
  72. package/cjs/src/types.d.ts +299 -43
  73. package/cjs/src/types.d.ts.map +1 -1
  74. package/cjs/src/types.js +110 -19
  75. package/cjs/src/types.js.map +1 -1
  76. package/cjs/src/utils/authService/authService.d.ts.map +1 -1
  77. package/cjs/src/utils/authService/authService.js +9 -3
  78. package/cjs/src/utils/authService/authService.js.map +1 -1
  79. package/cjs/src/utils/authService/authService.spec.js +22 -0
  80. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  81. package/dist/src/auth.d.ts +16 -1
  82. package/dist/src/auth.d.ts.map +1 -1
  83. package/dist/src/auth.spec.d.ts.map +1 -1
  84. package/dist/src/authToken.d.ts +6 -0
  85. package/dist/src/authToken.d.ts.map +1 -1
  86. package/dist/src/embed/app.d.ts +156 -6
  87. package/dist/src/embed/app.d.ts.map +1 -1
  88. package/dist/src/embed/base.d.ts.map +1 -1
  89. package/dist/src/embed/liveboard.d.ts +121 -6
  90. package/dist/src/embed/liveboard.d.ts.map +1 -1
  91. package/dist/src/embed/sage.d.ts +6 -6
  92. package/dist/src/embed/sage.d.ts.map +1 -1
  93. package/dist/src/embed/search-bar.d.ts +37 -6
  94. package/dist/src/embed/search-bar.d.ts.map +1 -1
  95. package/dist/src/embed/search.d.ts +90 -1
  96. package/dist/src/embed/search.d.ts.map +1 -1
  97. package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  98. package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  99. package/dist/src/embed/ts-embed.d.ts +1 -1
  100. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  101. package/dist/src/index.d.ts +3 -1
  102. package/dist/src/index.d.ts.map +1 -1
  103. package/dist/src/test/test-utils.d.ts +1 -0
  104. package/dist/src/test/test-utils.d.ts.map +1 -1
  105. package/dist/src/tokenizedFetch.d.ts +9 -0
  106. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  107. package/dist/src/types.d.ts +299 -43
  108. package/dist/src/types.d.ts.map +1 -1
  109. package/dist/src/utils/authService/authService.d.ts.map +1 -1
  110. package/dist/tsembed-react.es.js +180 -47
  111. package/dist/tsembed-react.js +180 -47
  112. package/dist/tsembed.es.js +182 -51
  113. package/dist/tsembed.js +183 -50
  114. package/dist/visual-embed-sdk-react-full.d.ts +746 -70
  115. package/dist/visual-embed-sdk-react.d.ts +746 -70
  116. package/dist/visual-embed-sdk.d.ts +746 -70
  117. package/lib/package.json +1 -1
  118. package/lib/src/auth.d.ts +16 -1
  119. package/lib/src/auth.d.ts.map +1 -1
  120. package/lib/src/auth.js +5 -1
  121. package/lib/src/auth.js.map +1 -1
  122. package/lib/src/auth.spec.d.ts.map +1 -1
  123. package/lib/src/auth.spec.js +9 -0
  124. package/lib/src/auth.spec.js.map +1 -1
  125. package/lib/src/authToken.d.ts +6 -0
  126. package/lib/src/authToken.d.ts.map +1 -1
  127. package/lib/src/authToken.js +6 -0
  128. package/lib/src/authToken.js.map +1 -1
  129. package/lib/src/embed/app.d.ts +156 -6
  130. package/lib/src/embed/app.d.ts.map +1 -1
  131. package/lib/src/embed/app.js +3 -3
  132. package/lib/src/embed/app.js.map +1 -1
  133. package/lib/src/embed/app.spec.js +19 -1
  134. package/lib/src/embed/app.spec.js.map +1 -1
  135. package/lib/src/embed/base.d.ts.map +1 -1
  136. package/lib/src/embed/base.js +2 -3
  137. package/lib/src/embed/base.js.map +1 -1
  138. package/lib/src/embed/embed.spec.js +2 -17
  139. package/lib/src/embed/embed.spec.js.map +1 -1
  140. package/lib/src/embed/liveboard.d.ts +121 -6
  141. package/lib/src/embed/liveboard.d.ts.map +1 -1
  142. package/lib/src/embed/liveboard.js +2 -2
  143. package/lib/src/embed/liveboard.js.map +1 -1
  144. package/lib/src/embed/liveboard.spec.js +20 -1
  145. package/lib/src/embed/liveboard.spec.js.map +1 -1
  146. package/lib/src/embed/pinboard.spec.js +20 -1
  147. package/lib/src/embed/pinboard.spec.js.map +1 -1
  148. package/lib/src/embed/sage.d.ts +6 -6
  149. package/lib/src/embed/sage.d.ts.map +1 -1
  150. package/lib/src/embed/sage.js +18 -3
  151. package/lib/src/embed/sage.js.map +1 -1
  152. package/lib/src/embed/sage.spec.js +11 -11
  153. package/lib/src/embed/sage.spec.js.map +1 -1
  154. package/lib/src/embed/search-bar.d.ts +37 -6
  155. package/lib/src/embed/search-bar.d.ts.map +1 -1
  156. package/lib/src/embed/search-bar.js +2 -2
  157. package/lib/src/embed/search-bar.js.map +1 -1
  158. package/lib/src/embed/search.d.ts +90 -1
  159. package/lib/src/embed/search.d.ts.map +1 -1
  160. package/lib/src/embed/search.js +3 -3
  161. package/lib/src/embed/search.js.map +1 -1
  162. package/lib/src/embed/search.spec.js +25 -1
  163. package/lib/src/embed/search.spec.js.map +1 -1
  164. package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  165. package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  166. package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
  167. package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
  168. package/lib/src/embed/ts-embed.d.ts +1 -1
  169. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  170. package/lib/src/embed/ts-embed.js +14 -11
  171. package/lib/src/embed/ts-embed.js.map +1 -1
  172. package/lib/src/embed/ts-embed.spec.js +41 -11
  173. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  174. package/lib/src/index.d.ts +3 -1
  175. package/lib/src/index.d.ts.map +1 -1
  176. package/lib/src/index.js +3 -1
  177. package/lib/src/index.js.map +1 -1
  178. package/lib/src/react/index.spec.js +1 -1
  179. package/lib/src/react/index.spec.js.map +1 -1
  180. package/lib/src/test/test-utils.d.ts +1 -0
  181. package/lib/src/test/test-utils.d.ts.map +1 -1
  182. package/lib/src/test/test-utils.js +8 -0
  183. package/lib/src/test/test-utils.js.map +1 -1
  184. package/lib/src/tokenizedFetch.d.ts +9 -0
  185. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  186. package/lib/src/tokenizedFetch.js +9 -0
  187. package/lib/src/tokenizedFetch.js.map +1 -1
  188. package/lib/src/types.d.ts +299 -43
  189. package/lib/src/types.d.ts.map +1 -1
  190. package/lib/src/types.js +110 -19
  191. package/lib/src/types.js.map +1 -1
  192. package/lib/src/utils/authService/authService.d.ts.map +1 -1
  193. package/lib/src/utils/authService/authService.js +9 -3
  194. package/lib/src/utils/authService/authService.js.map +1 -1
  195. package/lib/src/utils/authService/authService.spec.js +22 -0
  196. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  197. package/lib/src/visual-embed-sdk.d.ts +754 -71
  198. package/package.json +1 -1
  199. package/src/auth.spec.ts +10 -0
  200. package/src/auth.ts +21 -2
  201. package/src/authToken.ts +6 -0
  202. package/src/embed/app.spec.ts +24 -1
  203. package/src/embed/app.ts +164 -11
  204. package/src/embed/base.ts +3 -5
  205. package/src/embed/embed.spec.ts +0 -18
  206. package/src/embed/liveboard.spec.ts +24 -1
  207. package/src/embed/liveboard.ts +128 -9
  208. package/src/embed/pinboard.spec.ts +24 -1
  209. package/src/embed/sage.spec.ts +11 -11
  210. package/src/embed/sage.ts +19 -6
  211. package/src/embed/search-bar.tsx +38 -7
  212. package/src/embed/search.spec.ts +29 -1
  213. package/src/embed/search.ts +98 -5
  214. package/src/embed/ts-embed-trigger.spec.ts +39 -0
  215. package/src/embed/ts-embed.spec.ts +49 -16
  216. package/src/embed/ts-embed.ts +21 -16
  217. package/src/index.ts +4 -0
  218. package/src/react/index.spec.tsx +1 -0
  219. package/src/test/test-utils.ts +9 -0
  220. package/src/tokenizedFetch.ts +9 -0
  221. package/src/types.ts +310 -50
  222. package/src/utils/authService/authService.spec.ts +27 -0
  223. package/src/utils/authService/authService.ts +14 -13
@@ -28,12 +28,30 @@ import { V1Embed } from './ts-embed';
28
28
  *
29
29
  * @group Embed components
30
30
  */
31
- export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageModules' | 'hiddenHomeLeftNavItems' | 'reorderedHomepageModules'> {
31
+ export interface LiveboardViewConfig
32
+ extends Omit<
33
+ ViewConfig,
34
+ 'hiddenHomepageModules' | 'hiddenHomeLeftNavItems' | 'reorderedHomepageModules'
35
+ > {
32
36
  /**
33
37
  * If set to true, the embedded object container dynamically resizes
34
38
  * according to the height of the Liveboard.
39
+ * **Note**: Using fullHeight loads all visualizations on the
40
+ * Liveboard simultaneously, which results in multiple warehouse
41
+ * queries and potentially a longer wait for the topmost
42
+ * visualizations to display on the screen.
43
+ * Setting `fullHeight` to `false` fetches visualizations
44
+ * incrementally as users scroll the page to view the charts and tables.
35
45
  *
36
46
  * @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
47
+ *
48
+ * @example
49
+ * ```js
50
+ * const embed = new LiveboardEmbed('#embed', {
51
+ * ... // other liveboard view config
52
+ * fullHeight: true,
53
+ * });
54
+ * ```
37
55
  */
38
56
  fullHeight?: boolean;
39
57
  /**
@@ -43,10 +61,28 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
43
61
  *
44
62
  * @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
45
63
  * @default 500
64
+ * @example
65
+ * ```js
66
+ * const embed = new LiveboardEmbed('#embed', {
67
+ * ... // other liveboard view config
68
+ * fullHeight: true,
69
+ * defaultHeight: 600,
70
+ * });
71
+ * ```
46
72
  */
47
73
  defaultHeight?: number;
48
74
  /**
49
75
  * @Deprecated If set to true, the context menu in visualizations will be enabled.
76
+ *
77
+ * @example
78
+ * ```js
79
+ * const embed = new LiveboardEmbed('#tsEmbed', {
80
+ * ... // other options
81
+ * enableVizTransformations:true,
82
+ * })
83
+ * ```
84
+ *
85
+ * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
50
86
  */
51
87
  enableVizTransformations?: boolean;
52
88
  /**
@@ -54,6 +90,12 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
54
90
  * Use either liveboardId or pinboardId to reference the Liveboard to embed.
55
91
  *
56
92
  * @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1
93
+ * @example
94
+ * ```js
95
+ * const embed = new LiveboardEmbed('#embed-container', {
96
+ * ... // other options
97
+ * liveboardId:id of liveboard,
98
+ * })
57
99
  */
58
100
  liveboardId?: string;
59
101
  /**
@@ -64,6 +106,16 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
64
106
  pinboardId?: string;
65
107
  /**
66
108
  * The visualization within the Liveboard to display.
109
+ *
110
+ * @version SDK: 1.9.1 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
111
+ *
112
+ * @example
113
+ * ```js
114
+ * const embed = new LiveboardEmbed('#embed-container', {
115
+ * ... // other options
116
+ * vizId:'430496d6-6903-4601-937e-2c691821af3c',
117
+ * })
118
+ * ```
67
119
  */
68
120
  vizId?: string;
69
121
  /**
@@ -71,6 +123,13 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
71
123
  * Liveboard page will be read-only (no X buttons)
72
124
  *
73
125
  * @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1.sw
126
+ * @example
127
+ * ```js
128
+ * const embed = new LiveboardEmbed('#embed-container', {
129
+ * ... // other options
130
+ * preventLiveboardFilterRemoval:true,
131
+ * })
132
+ * ```
74
133
  */
75
134
  preventLiveboardFilterRemoval?: boolean;
76
135
  /**
@@ -79,6 +138,16 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
79
138
  * event.
80
139
  *
81
140
  * @version SDK: 1.9.1 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
141
+ *
142
+ * @example
143
+ * ```js
144
+ * const embed = new LiveboardEmbed('#embed-container', {
145
+ * ... // other options
146
+ * visibleVizs: [
147
+ * '430496d6-6903-4601-937e-2c691821af3c',
148
+ * 'f547ec54-2a37-4516-a222-2b06719af726'
149
+ * ]
150
+ * })
82
151
  */
83
152
  visibleVizs?: string[];
84
153
  /**
@@ -92,12 +161,26 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
92
161
  * new Liveboard experience mode.
93
162
  *
94
163
  * @version SDK: 1.14.0 | ThoughtSpot: 8.6.0.cl, 8.8.1-sw
164
+ * @example
165
+ * ```js
166
+ * const embed = new LiveboardEmbed('#embed-container', {
167
+ * ... // other options
168
+ * liveboardV2:true,
169
+ * })
170
+ * ```
95
171
  */
96
172
  liveboardV2?: boolean;
97
173
  /**
98
174
  * Set a Liveboard tab as an active tab.
99
175
  * Specify the tab ID.
100
176
  *
177
+ * @example
178
+ * ```js
179
+ * const embed = new LiveboardEmbed('#tsEmbed', {
180
+ * ... // other options
181
+ * activeTabId:'id-1234',
182
+ * })
183
+ * ```
101
184
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1-sw
102
185
  */
103
186
  activeTabId?: string;
@@ -105,6 +188,14 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
105
188
  * Show or hide the tab panel of the embedded Liveboard.
106
189
  *
107
190
  * @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl, 9.8.0.sw
191
+ *
192
+ * @example
193
+ * ```js
194
+ * const embed = new LiveboardEmbed('#embed-container', {
195
+ * ... // other options
196
+ * hideTabPanel:true,
197
+ * })
198
+ * ```
108
199
  */
109
200
  hideTabPanel?: boolean;
110
201
  /**
@@ -112,20 +203,41 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
112
203
  *
113
204
  * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
114
205
  * @default false
206
+ * @example
207
+ * ```js
208
+ * const embed = new LiveboardEmbed('#embed', {
209
+ * ... // other liveboard view config
210
+ * hideLiveboardHeader:true,
211
+ * });
212
+ * ```
115
213
  */
116
214
  hideLiveboardHeader?: boolean;
117
215
  /**
118
216
  * Show or hide the Liveboard title.
119
- *
120
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
121
217
  * @default false
218
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
219
+ *
220
+ * @example
221
+ * ```js
222
+ * const embed = new LiveboardEmbed('#embed-container', {
223
+ * ... // other options
224
+ * showLiveboardTitle:true,
225
+ * })
226
+ * ```
122
227
  */
123
228
  showLiveboardTitle?: boolean;
124
229
  /**
125
230
  * Show or hide the Liveboard description.
126
- *
127
- * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
128
231
  * @default false
232
+ * @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
233
+ *
234
+ * @example
235
+ * ```js
236
+ * const embed = new LiveboardEmbed('#embed-container', {
237
+ * ... // other options
238
+ * showLiveboardDescription:true,
239
+ * })
240
+ * ```
129
241
  */
130
242
  showLiveboardDescription?: boolean;
131
243
  /**
@@ -146,8 +258,15 @@ export interface LiveboardViewConfig extends Omit<ViewConfig, 'hiddenHomepageMod
146
258
  /**
147
259
  * enable or disable ask sage
148
260
  *
149
- * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
150
261
  * @default false
262
+ * @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
263
+ * @example
264
+ * ```js
265
+ * const embed = new SearchEmbed('#tsEmbed', {
266
+ * ... // other options
267
+ * enableAskSage:true,
268
+ * })
269
+ * ```
151
270
  */
152
271
  enableAskSage?: boolean;
153
272
  }
@@ -362,11 +481,11 @@ export class LiveboardEmbed extends V1Embed {
362
481
  * @param renderOptions An object specifying the Liveboard ID,
363
482
  * visualization ID and the runtime filters.
364
483
  */
365
- public render(): LiveboardEmbed {
484
+ public async render(): Promise<LiveboardEmbed> {
366
485
  super.render();
367
486
 
368
487
  const src = this.getIFrameSrc();
369
- this.renderV1Embed(src);
488
+ await this.renderV1Embed(src);
370
489
 
371
490
  return this;
372
491
  }
@@ -389,4 +508,4 @@ export class LiveboardEmbed extends V1Embed {
389
508
  /**
390
509
  * @hidden
391
510
  */
392
- export class PinboardEmbed extends LiveboardEmbed { }
511
+ export class PinboardEmbed extends LiveboardEmbed {}
@@ -169,6 +169,7 @@ describe('Pinboard/viz embed tests', () => {
169
169
  values: [1000],
170
170
  },
171
171
  ],
172
+ excludeRuntimeFiltersfromURL: false,
172
173
  } as LiveboardViewConfig);
173
174
  pinboardEmbed.render();
174
175
  await executeAfterWait(() => {
@@ -179,7 +180,7 @@ describe('Pinboard/viz embed tests', () => {
179
180
  });
180
181
  });
181
182
 
182
- test('should not apply runtime filters if excludeRuntimeFiltersfromURL is true', async () => {
183
+ test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
183
184
  const pinboardEmbed = new PinboardEmbed(getRootEl(), {
184
185
  ...defaultViewConfig,
185
186
  pinboardId,
@@ -202,6 +203,28 @@ describe('Pinboard/viz embed tests', () => {
202
203
  });
203
204
  });
204
205
 
206
+ test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is undefined', async () => {
207
+ const liveboardEmbed = new PinboardEmbed(getRootEl(), {
208
+ ...defaultViewConfig,
209
+ pinboardId,
210
+ vizId,
211
+ runtimeFilters: [
212
+ {
213
+ columnName: 'sales',
214
+ operator: RuntimeFilterOp.EQ,
215
+ values: [1000],
216
+ },
217
+ ],
218
+ } as LiveboardViewConfig);
219
+ liveboardEmbed.render();
220
+ await executeAfterWait(() => {
221
+ expectUrlMatchesWithParams(
222
+ getIFrameSrc(),
223
+ `http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParamsVizEmbed}#/embed/viz/${pinboardId}/${vizId}`,
224
+ );
225
+ });
226
+ });
227
+
205
228
  test('should register event handler to adjust iframe height', async () => {
206
229
  const pinboardEmbed = new PinboardEmbed(getRootEl(), {
207
230
  ...defaultViewConfig,
@@ -40,7 +40,7 @@ describe('Sage embed tests', () => {
40
40
  await executeAfterWait(() => {
41
41
  expectUrlMatch(
42
42
  getIFrameSrc(),
43
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
43
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
44
44
  );
45
45
  });
46
46
  });
@@ -51,7 +51,7 @@ describe('Sage embed tests', () => {
51
51
  await executeAfterWait(() => {
52
52
  expectUrlMatch(
53
53
  getIFrameSrc(),
54
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
54
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
55
55
  );
56
56
  });
57
57
  });
@@ -65,7 +65,7 @@ describe('Sage embed tests', () => {
65
65
  await executeAfterWait(() => {
66
66
  expectUrlMatch(
67
67
  getIFrameSrc(),
68
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
68
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
69
69
  );
70
70
  });
71
71
  });
@@ -79,7 +79,7 @@ describe('Sage embed tests', () => {
79
79
  await executeAfterWait(() => {
80
80
  expectUrlMatch(
81
81
  getIFrameSrc(),
82
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
82
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
83
83
  );
84
84
  });
85
85
  });
@@ -93,7 +93,7 @@ describe('Sage embed tests', () => {
93
93
  await executeAfterWait(() => {
94
94
  expectUrlMatch(
95
95
  getIFrameSrc(),
96
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=true&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
96
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=true&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
97
97
  );
98
98
  });
99
99
  });
@@ -107,7 +107,7 @@ describe('Sage embed tests', () => {
107
107
  await executeAfterWait(() => {
108
108
  expectUrlMatch(
109
109
  getIFrameSrc(),
110
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=true&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
110
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=true&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
111
111
  );
112
112
  });
113
113
  });
@@ -121,7 +121,7 @@ describe('Sage embed tests', () => {
121
121
  await executeAfterWait(() => {
122
122
  expectUrlMatch(
123
123
  getIFrameSrc(),
124
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
124
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
125
125
  );
126
126
  });
127
127
  });
@@ -134,7 +134,7 @@ describe('Sage embed tests', () => {
134
134
  await executeAfterWait(() => {
135
135
  expectUrlMatch(
136
136
  getIFrameSrc(),
137
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
137
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka`,
138
138
  );
139
139
  });
140
140
  });
@@ -148,7 +148,7 @@ describe('Sage embed tests', () => {
148
148
  await executeAfterWait(() => {
149
149
  expectUrlMatch(
150
150
  getIFrameSrc(),
151
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id`,
151
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka?worksheet=worksheet-id`,
152
152
  );
153
153
  });
154
154
  });
@@ -165,7 +165,7 @@ describe('Sage embed tests', () => {
165
165
  await executeAfterWait(() => {
166
166
  expectUrlMatch(
167
167
  getIFrameSrc(),
168
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`,
168
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSearchBarTitle=false&hideSageAnswerHeader=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`,
169
169
  );
170
170
  });
171
171
  });
@@ -182,7 +182,7 @@ describe('Sage embed tests', () => {
182
182
  await executeAfterWait(() => {
183
183
  expectUrlMatch(
184
184
  getIFrameSrc(),
185
- `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?executeSearch=true&query=test-query`,
185
+ `http://${thoughtSpotHost}/?embedApp=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B"reportError","save","pin","editACopy","saveAsView","updateTSL","editTSL","onDeleteAnswer","share"%5D#/embed/eureka?executeSearch=true&query=test-query`,
186
186
  );
187
187
  });
188
188
  });
package/src/embed/sage.ts CHANGED
@@ -65,17 +65,15 @@ export interface SageViewConfig
65
65
  isProductTour?: boolean;
66
66
  /**
67
67
  * Show or hide the search bar title.
68
- * @version SDK: 1.29.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
69
68
  *
70
- * @deprecated Thoughtspot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
69
+ * @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
71
70
  */
72
71
  hideSearchBarTitle?: boolean;
73
72
  /**
74
73
  * Show or hide the Answer header, that is, the `AI Answer` title
75
74
  * at the top of the Answer page.
76
- * @version SDK: 1.29.0 | Thoughtspot: 9.10.0.cl
77
75
  *
78
- * @deprecated Thoughtspot: 9.12.0.cl | sage answer doesn't have the header from 9.12.0.cl
76
+ * @version SDK: 1.26.0 | Thoughtspot: 9.10.0.cl
79
77
  */
80
78
  hideSageAnswerHeader?: boolean;
81
79
  /**
@@ -108,6 +106,7 @@ export interface SageViewConfig
108
106
  * Show or hide sample questions.
109
107
  * The sample questions are autogenerated based on the worksheet
110
108
  * selected for the search operation.
109
+ *
111
110
  * @version SDK: 1.26.0 | Thoughtspot: 9.8.0.cl, 9.8.0.sw
112
111
  */
113
112
  hideSampleQuestions?: boolean;
@@ -137,6 +136,16 @@ export interface SageViewConfig
137
136
  */
138
137
  searchOptions?: SearchOptions;
139
138
  }
139
+ export const HiddenActionItemByDefaultForSageEmbed = [
140
+ Action.Save,
141
+ Action.Pin,
142
+ Action.EditACopy,
143
+ Action.SaveAsView,
144
+ Action.UpdateTML,
145
+ Action.EditTML,
146
+ Action.AnswerDelete,
147
+ Action.Share,
148
+ ];
140
149
  /**
141
150
  * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
142
151
  *
@@ -188,6 +197,10 @@ export class SageEmbed extends V1Embed {
188
197
  params[Param.IsProductTour] = !!isProductTour;
189
198
  params[Param.HideSearchBarTitle] = !!hideSearchBarTitle;
190
199
  params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
200
+ params[Param.HideActions] = [
201
+ ...(params[Param.HideActions] ?? []),
202
+ ...HiddenActionItemByDefaultForSageEmbed,
203
+ ];
191
204
 
192
205
  return getQueryParamString(params, true);
193
206
  }
@@ -224,11 +237,11 @@ export class SageEmbed extends V1Embed {
224
237
  *
225
238
  * @returns {SageEmbed} Eureka/Sage embed
226
239
  */
227
- public render(): SageEmbed {
240
+ public async render(): Promise<SageEmbed> {
228
241
  super.render();
229
242
 
230
243
  const src = this.getIFrameSrc();
231
- this.renderV1Embed(src);
244
+ await this.renderV1Embed(src);
232
245
 
233
246
  return this;
234
247
  }
@@ -23,18 +23,44 @@ export interface SearchBarViewConfig
23
23
  * Only a single data source is supported currently.
24
24
  *
25
25
  * @deprecated Use `dataSource` instead
26
+ *
27
+ * @version: SDK: 1.1.0 | ThoughtSpot: 8.1.1-sw
28
+ *
29
+ * @example
30
+ * ```js
31
+ * const embed = new SearchBarEmbed('#tsEmbed', {
32
+ * ... // other options
33
+ * dataSources:['id-2345','id-2345'],
34
+ * })
35
+ * ```
26
36
  */
27
37
  dataSources?: string[];
28
38
  /**
29
- * The array of data source GUIDs to set on load.
39
+ * Pass the ID of the source to be selected.
30
40
  *
31
41
  * @version: SDK: 1.19.0, ThoughtSpot 9.0.0.cl, 9.0.1.sw
42
+ *
43
+ * @example
44
+ * ```js
45
+ * const embed = new SearchBarEmbed('#tsEmbed', {
46
+ * ... // other options
47
+ * dataSource:'id-2345',
48
+ * })
49
+ * ```
32
50
  */
33
51
  dataSource?: string;
34
52
  /**
35
53
  * Boolean to define if the last selected data source should be used
36
54
  *
37
55
  * @version: SDK: 1.24.0, ThoughtSpot 9.5.0.cl, 9.5.0.sw
56
+ *
57
+ * @example
58
+ * ```js
59
+ * const embed = new SearchBarEmbed('#tsEmbed', {
60
+ * ... // other options
61
+ * useLastSelectedSources:false,
62
+ * })
63
+ * ```
38
64
  */
39
65
  useLastSelectedSources?: boolean;
40
66
  /**
@@ -48,12 +74,17 @@ export interface SearchBarViewConfig
48
74
  * If it’s not executed, the focus is placed at the end of
49
75
  * the token string in the search bar.
50
76
  *
77
+ * @version: SDK: 1.2.0 | ThoughtSpot: 9.4.0.sw
78
+ *
51
79
  * @example
52
80
  * ```js
53
- * searchOptions: {
54
- * searchTokenString: '[quantity purchased] [region]',
55
- * executeSearch: true,
56
- * }
81
+ * const embed = new SearchBarEmbed('#tsEmbed', {
82
+ * ... // other options
83
+ * searchOptions: {
84
+ * searchTokenString: '[quantity purchased] [region]',
85
+ * executeSearch: true,
86
+ * }
87
+ * })
57
88
  * ```
58
89
  */
59
90
  searchOptions?: SearchOptions;
@@ -130,11 +161,11 @@ export class SearchBarEmbed extends TsEmbed {
130
161
  /**
131
162
  * Render the embedded ThoughtSpot search
132
163
  */
133
- public render(): SearchBarEmbed {
164
+ public async render(): Promise<SearchBarEmbed> {
134
165
  super.render();
135
166
 
136
167
  const src = this.getIFrameSrc();
137
- this.renderIFrame(src);
168
+ await this.renderIFrame(src);
138
169
  return this;
139
170
  }
140
171
  }
@@ -178,6 +178,7 @@ describe('Search embed tests', () => {
178
178
  values: ['berkeley'],
179
179
  },
180
180
  ],
181
+ excludeRuntimeFiltersfromURL: false,
181
182
  });
182
183
  searchEmbed.render();
183
184
  await executeAfterWait(() => {
@@ -188,7 +189,7 @@ describe('Search embed tests', () => {
188
189
  });
189
190
  });
190
191
 
191
- test('should not add runtime filters if excludeRuntimeFiltersfromURL is true', async () => {
192
+ test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
192
193
  const dataSources = ['data-source-1'];
193
194
  const searchOptions = {
194
195
  searchTokenString: '[commit date][revenue]',
@@ -216,6 +217,33 @@ describe('Search embed tests', () => {
216
217
  });
217
218
  });
218
219
 
220
+ test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is undefined', async () => {
221
+ const dataSources = ['data-source-1'];
222
+ const searchOptions = {
223
+ searchTokenString: '[commit date][revenue]',
224
+ };
225
+ const searchEmbed = new SearchEmbed(getRootEl(), {
226
+ ...defaultViewConfig,
227
+ hideDataSources: true,
228
+ dataSources,
229
+ searchOptions,
230
+ runtimeFilters: [
231
+ {
232
+ columnName: 'city',
233
+ operator: RuntimeFilterOp.EQ,
234
+ values: ['berkeley'],
235
+ },
236
+ ],
237
+ });
238
+ searchEmbed.render();
239
+ await executeAfterWait(() => {
240
+ expectUrlMatchesWithParams(
241
+ getIFrameSrc(),
242
+ `http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=hide&useLastSelectedSources=false${prefixParams}#/embed/answer`,
243
+ );
244
+ });
245
+ });
246
+
219
247
  test('Should add dataSource', async () => {
220
248
  const dataSource = 'data-source-1';
221
249
  const searchOptions = {