@thoughtspot/visual-embed-sdk 1.46.5-beta.1 → 1.47.0

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 (242) hide show
  1. package/cjs/package.json +4 -4
  2. package/cjs/src/css-variables.d.ts +36 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +41 -17
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +26 -47
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +36 -79
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +24 -2
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +18 -33
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +129 -97
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/hostEventClient/contracts.d.ts +31 -0
  17. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  18. package/cjs/src/embed/hostEventClient/contracts.js +2 -0
  19. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  20. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +18 -0
  21. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  22. package/cjs/src/embed/hostEventClient/host-event-client.js +69 -9
  23. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  24. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +185 -19
  25. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  26. package/cjs/src/embed/hostEventClient/utils.d.ts +22 -0
  27. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -0
  28. package/cjs/src/embed/hostEventClient/utils.js +57 -0
  29. package/cjs/src/embed/hostEventClient/utils.js.map +1 -0
  30. package/cjs/src/embed/hostEventClient/utils.spec.d.ts +2 -0
  31. package/cjs/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
  32. package/cjs/src/embed/hostEventClient/utils.spec.js +190 -0
  33. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -0
  34. package/cjs/src/embed/liveboard.d.ts +18 -1
  35. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  36. package/cjs/src/embed/liveboard.js +9 -11
  37. package/cjs/src/embed/liveboard.js.map +1 -1
  38. package/cjs/src/embed/liveboard.spec.js +29 -71
  39. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  40. package/cjs/src/embed/spotter-utils.d.ts +20 -0
  41. package/cjs/src/embed/spotter-utils.d.ts.map +1 -0
  42. package/cjs/src/embed/spotter-utils.js +52 -0
  43. package/cjs/src/embed/spotter-utils.js.map +1 -0
  44. package/cjs/src/embed/spotter-utils.spec.d.ts +2 -0
  45. package/cjs/src/embed/spotter-utils.spec.d.ts.map +1 -0
  46. package/cjs/src/embed/spotter-utils.spec.js +54 -0
  47. package/cjs/src/embed/spotter-utils.spec.js.map +1 -0
  48. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  49. package/cjs/src/embed/ts-embed.js +25 -5
  50. package/cjs/src/embed/ts-embed.js.map +1 -1
  51. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  52. package/cjs/src/embed/ts-embed.spec.js +28 -67
  53. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  54. package/cjs/src/errors.d.ts +2 -1
  55. package/cjs/src/errors.d.ts.map +1 -1
  56. package/cjs/src/errors.js +2 -1
  57. package/cjs/src/errors.js.map +1 -1
  58. package/cjs/src/index.d.ts +1 -2
  59. package/cjs/src/index.d.ts.map +1 -1
  60. package/cjs/src/index.js +2 -4
  61. package/cjs/src/index.js.map +1 -1
  62. package/cjs/src/react/all-types-export.d.ts +2 -2
  63. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  64. package/cjs/src/react/all-types-export.js +1 -3
  65. package/cjs/src/react/all-types-export.js.map +1 -1
  66. package/cjs/src/react/index.d.ts +1 -36
  67. package/cjs/src/react/index.d.ts.map +1 -1
  68. package/cjs/src/react/index.js +1 -34
  69. package/cjs/src/react/index.js.map +1 -1
  70. package/cjs/src/types.d.ts +143 -76
  71. package/cjs/src/types.d.ts.map +1 -1
  72. package/cjs/src/types.js +118 -47
  73. package/cjs/src/types.js.map +1 -1
  74. package/cjs/src/utils.d.ts +0 -9
  75. package/cjs/src/utils.d.ts.map +1 -1
  76. package/cjs/src/utils.js +1 -10
  77. package/cjs/src/utils.js.map +1 -1
  78. package/dist/{index-DW2wEHqy.js → index-Bm2Hck8q.js} +1 -1
  79. package/dist/src/css-variables.d.ts +36 -0
  80. package/dist/src/css-variables.d.ts.map +1 -1
  81. package/dist/src/embed/app.d.ts +41 -17
  82. package/dist/src/embed/app.d.ts.map +1 -1
  83. package/dist/src/embed/conversation.d.ts +24 -2
  84. package/dist/src/embed/conversation.d.ts.map +1 -1
  85. package/dist/src/embed/hostEventClient/contracts.d.ts +31 -0
  86. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  87. package/dist/src/embed/hostEventClient/host-event-client.d.ts +18 -0
  88. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  89. package/dist/src/embed/hostEventClient/utils.d.ts +22 -0
  90. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -0
  91. package/dist/src/embed/hostEventClient/utils.spec.d.ts +2 -0
  92. package/dist/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
  93. package/dist/src/embed/liveboard.d.ts +18 -1
  94. package/dist/src/embed/liveboard.d.ts.map +1 -1
  95. package/dist/src/embed/spotter-utils.d.ts +20 -0
  96. package/dist/src/embed/spotter-utils.d.ts.map +1 -0
  97. package/dist/src/embed/spotter-utils.spec.d.ts +2 -0
  98. package/dist/src/embed/spotter-utils.spec.d.ts.map +1 -0
  99. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  100. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  101. package/dist/src/errors.d.ts +2 -1
  102. package/dist/src/errors.d.ts.map +1 -1
  103. package/dist/src/index.d.ts +1 -2
  104. package/dist/src/index.d.ts.map +1 -1
  105. package/dist/src/react/all-types-export.d.ts +2 -2
  106. package/dist/src/react/all-types-export.d.ts.map +1 -1
  107. package/dist/src/react/index.d.ts +1 -36
  108. package/dist/src/react/index.d.ts.map +1 -1
  109. package/dist/src/types.d.ts +143 -76
  110. package/dist/src/types.d.ts.map +1 -1
  111. package/dist/src/utils.d.ts +0 -9
  112. package/dist/src/utils.d.ts.map +1 -1
  113. package/dist/tsembed-react.es.js +378 -304
  114. package/dist/tsembed-react.js +366 -294
  115. package/dist/tsembed.es.js +393 -285
  116. package/dist/tsembed.js +30798 -30691
  117. package/dist/visual-embed-sdk-react-full.d.ts +310 -273
  118. package/dist/visual-embed-sdk-react.d.ts +310 -273
  119. package/dist/visual-embed-sdk.d.ts +308 -243
  120. package/lib/package.json +4 -4
  121. package/lib/src/css-variables.d.ts +36 -0
  122. package/lib/src/css-variables.d.ts.map +1 -1
  123. package/lib/src/embed/app.d.ts +41 -17
  124. package/lib/src/embed/app.d.ts.map +1 -1
  125. package/lib/src/embed/app.js +28 -49
  126. package/lib/src/embed/app.js.map +1 -1
  127. package/lib/src/embed/app.spec.js +36 -79
  128. package/lib/src/embed/app.spec.js.map +1 -1
  129. package/lib/src/embed/conversation.d.ts +24 -2
  130. package/lib/src/embed/conversation.d.ts.map +1 -1
  131. package/lib/src/embed/conversation.js +19 -34
  132. package/lib/src/embed/conversation.js.map +1 -1
  133. package/lib/src/embed/conversation.spec.js +131 -99
  134. package/lib/src/embed/conversation.spec.js.map +1 -1
  135. package/lib/src/embed/hostEventClient/contracts.d.ts +31 -0
  136. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  137. package/lib/src/embed/hostEventClient/contracts.js +2 -0
  138. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  139. package/lib/src/embed/hostEventClient/host-event-client.d.ts +18 -0
  140. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  141. package/lib/src/embed/hostEventClient/host-event-client.js +69 -9
  142. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  143. package/lib/src/embed/hostEventClient/host-event-client.spec.js +185 -19
  144. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  145. package/lib/src/embed/hostEventClient/utils.d.ts +22 -0
  146. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -0
  147. package/lib/src/embed/hostEventClient/utils.js +49 -0
  148. package/lib/src/embed/hostEventClient/utils.js.map +1 -0
  149. package/lib/src/embed/hostEventClient/utils.spec.d.ts +2 -0
  150. package/lib/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
  151. package/lib/src/embed/hostEventClient/utils.spec.js +188 -0
  152. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -0
  153. package/lib/src/embed/liveboard.d.ts +18 -1
  154. package/lib/src/embed/liveboard.d.ts.map +1 -1
  155. package/lib/src/embed/liveboard.js +9 -11
  156. package/lib/src/embed/liveboard.js.map +1 -1
  157. package/lib/src/embed/liveboard.spec.js +29 -71
  158. package/lib/src/embed/liveboard.spec.js.map +1 -1
  159. package/lib/src/embed/spotter-utils.d.ts +20 -0
  160. package/lib/src/embed/spotter-utils.d.ts.map +1 -0
  161. package/lib/src/embed/spotter-utils.js +47 -0
  162. package/lib/src/embed/spotter-utils.js.map +1 -0
  163. package/lib/src/embed/spotter-utils.spec.d.ts +2 -0
  164. package/lib/src/embed/spotter-utils.spec.d.ts.map +1 -0
  165. package/lib/src/embed/spotter-utils.spec.js +52 -0
  166. package/lib/src/embed/spotter-utils.spec.js.map +1 -0
  167. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  168. package/lib/src/embed/ts-embed.js +25 -5
  169. package/lib/src/embed/ts-embed.js.map +1 -1
  170. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  171. package/lib/src/embed/ts-embed.spec.js +30 -69
  172. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  173. package/lib/src/errors.d.ts +2 -1
  174. package/lib/src/errors.d.ts.map +1 -1
  175. package/lib/src/errors.js +2 -1
  176. package/lib/src/errors.js.map +1 -1
  177. package/lib/src/index.d.ts +1 -2
  178. package/lib/src/index.d.ts.map +1 -1
  179. package/lib/src/index.js +1 -2
  180. package/lib/src/index.js.map +1 -1
  181. package/lib/src/react/all-types-export.d.ts +2 -2
  182. package/lib/src/react/all-types-export.d.ts.map +1 -1
  183. package/lib/src/react/all-types-export.js +1 -1
  184. package/lib/src/react/all-types-export.js.map +1 -1
  185. package/lib/src/react/index.d.ts +1 -36
  186. package/lib/src/react/index.d.ts.map +1 -1
  187. package/lib/src/react/index.js +0 -33
  188. package/lib/src/react/index.js.map +1 -1
  189. package/lib/src/types.d.ts +143 -76
  190. package/lib/src/types.d.ts.map +1 -1
  191. package/lib/src/types.js +118 -47
  192. package/lib/src/types.js.map +1 -1
  193. package/lib/src/utils.d.ts +0 -9
  194. package/lib/src/utils.d.ts.map +1 -1
  195. package/lib/src/utils.js +0 -8
  196. package/lib/src/utils.js.map +1 -1
  197. package/lib/src/visual-embed-sdk.d.ts +308 -243
  198. package/package.json +4 -4
  199. package/src/css-variables.ts +45 -0
  200. package/src/embed/app.spec.ts +51 -107
  201. package/src/embed/app.ts +60 -82
  202. package/src/embed/conversation.spec.ts +150 -119
  203. package/src/embed/conversation.ts +34 -58
  204. package/src/embed/hostEventClient/contracts.ts +31 -0
  205. package/src/embed/hostEventClient/host-event-client.spec.ts +260 -19
  206. package/src/embed/hostEventClient/host-event-client.ts +87 -11
  207. package/src/embed/hostEventClient/utils.spec.ts +225 -0
  208. package/src/embed/hostEventClient/utils.ts +74 -0
  209. package/src/embed/liveboard.spec.ts +38 -93
  210. package/src/embed/liveboard.ts +28 -10
  211. package/src/embed/spotter-utils.spec.ts +56 -0
  212. package/src/embed/spotter-utils.ts +65 -0
  213. package/src/embed/ts-embed.spec.ts +56 -108
  214. package/src/embed/ts-embed.ts +25 -4
  215. package/src/errors.ts +2 -1
  216. package/src/index.ts +2 -5
  217. package/src/react/all-types-export.ts +0 -3
  218. package/src/react/index.tsx +15 -59
  219. package/src/types.ts +206 -138
  220. package/src/utils.ts +0 -14
  221. package/cjs/src/embed/sage.d.ts +0 -164
  222. package/cjs/src/embed/sage.d.ts.map +0 -1
  223. package/cjs/src/embed/sage.js +0 -88
  224. package/cjs/src/embed/sage.js.map +0 -1
  225. package/cjs/src/embed/sage.spec.d.ts +0 -2
  226. package/cjs/src/embed/sage.spec.d.ts.map +0 -1
  227. package/cjs/src/embed/sage.spec.js +0 -151
  228. package/cjs/src/embed/sage.spec.js.map +0 -1
  229. package/dist/src/embed/sage.d.ts +0 -164
  230. package/dist/src/embed/sage.d.ts.map +0 -1
  231. package/dist/src/embed/sage.spec.d.ts +0 -2
  232. package/dist/src/embed/sage.spec.d.ts.map +0 -1
  233. package/lib/src/embed/sage.d.ts +0 -164
  234. package/lib/src/embed/sage.d.ts.map +0 -1
  235. package/lib/src/embed/sage.js +0 -84
  236. package/lib/src/embed/sage.js.map +0 -1
  237. package/lib/src/embed/sage.spec.d.ts +0 -2
  238. package/lib/src/embed/sage.spec.d.ts.map +0 -1
  239. package/lib/src/embed/sage.spec.js +0 -148
  240. package/lib/src/embed/sage.spec.js.map +0 -1
  241. package/src/embed/sage.spec.ts +0 -206
  242. package/src/embed/sage.ts +0 -231
package/src/embed/sage.ts DELETED
@@ -1,231 +0,0 @@
1
- /**
2
- * Copyright (c) 2023
3
- *
4
- * Embed ThoughtSpot Sage
5
- * @summary TS Sage embed
6
- * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
7
- */
8
-
9
- import { DOMSelector, Param, BaseViewConfig, SearchLiveboardCommonViewConfig } from '../types';
10
- import { getQueryParamString } from '../utils';
11
- import { V1Embed } from './ts-embed';
12
-
13
- /**
14
- * Configuration for search options
15
- */
16
- export interface SearchOptions {
17
- /**
18
- * The query string to pass for Natural Language Search.
19
- */
20
- searchQuery: string;
21
- /**
22
- * Boolean to define if the search should be executed or not.
23
- * If it is executed, the focus is placed on the results.
24
- * If it’s not executed, the focus is placed at the end of
25
- * the token string in the search bar.
26
- */
27
- executeSearch?: boolean;
28
- }
29
-
30
- /**
31
- * The configuration attributes for the embedded Natural language search view. Based on
32
- * GPT and LLM.
33
- * @version SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
34
- *
35
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
36
- * @group Embed components
37
- */
38
- export interface SageViewConfig
39
- extends SearchLiveboardCommonViewConfig, Omit<BaseViewConfig, 'primaryAction' | 'runtimeFilters' | 'runtimeParameters' | 'excludeRuntimeFiltersfromURL' | 'excludeRuntimeParametersfromURL'> {
40
- /**
41
- * If set to true, a list of Liveboard and Answers related
42
- * to the natural language search will be shown below the
43
- * AI generated answer.
44
- * @deprecated Currently Liveboard and Answers related
45
- * to the natural language search will not be shown for sage
46
- * embed
47
- */
48
- showObjectResults?: boolean;
49
- /**
50
- * flag used by the TS product tour page to show the blue search bar
51
- * even after the search is completed. This is different from ThoughtSpot Embedded
52
- * Sage Embed experience where it mimics closer to the non-embed case.
53
- * The Sample questions container is collapsed when this value is set after
54
- * does a search.
55
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl
56
- * @hidden
57
- */
58
- isProductTour?: boolean;
59
- /**
60
- * Show or hide the search bar title.
61
- * @version SDK: 1.29.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
62
- * @deprecated ThoughtSpot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
63
- */
64
- hideSearchBarTitle?: boolean;
65
- /**
66
- * Show or hide the Answer header, that is, the `AI Answer` title
67
- * at the top of the Answer page.
68
- * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl
69
- */
70
- hideSageAnswerHeader?: boolean;
71
- /**
72
- * Disable the data source selection option.
73
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
74
- */
75
- disableWorksheetChange?: boolean;
76
- /**
77
- * Hide the data source selection panel.
78
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
79
- */
80
- hideWorksheetSelector?: boolean;
81
- /**
82
- * Show or hide autocomplete suggestions for the search query string.
83
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
84
- */
85
- hideAutocompleteSuggestions?: boolean;
86
- /**
87
- * Show or hide autocomplete suggestions for the search query string.
88
- * You can use {@link hideAutocompleteSuggestions} instead.
89
- * @deprecated
90
- * Currently, the object suggestions will not be shown for Natural Language Search.
91
- */
92
- showObjectSuggestions?: boolean;
93
- /**
94
- * Show or hide sample questions.
95
- * The sample questions are autogenerated based on the data model
96
- * selected for the search operation.
97
- *
98
- * Supported embed types: `SageEmbed`
99
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
100
- * @example
101
- * ```js
102
- * const embed = new SageEmbed('#tsEmbed', {
103
- * ... //other embed view config
104
- * hideSampleQuestions : true,
105
- * })
106
- * ```
107
- */
108
- hideSampleQuestions?: boolean;
109
- /**
110
- * The data source GUID (Model GUID) to set on load.
111
- */
112
- dataSource?: string;
113
- /**
114
- * Includes the following properties:
115
- *
116
- * `searchQuery`: The search query string to pass in the search bar.
117
- * Supports Natural Language Search queries.
118
- *
119
- * `executeSearch`: Boolean to define if the search should be executed or not.
120
- * If it is executed, the focus is placed on the results.
121
- * If it’s not executed, the focus is placed at the end of
122
- * the token string in the search bar.
123
- *
124
- * Supported embed types: `SageEmbed`
125
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
126
- * @example
127
- * ```js
128
- * searchOptions: {
129
- * searchQuery: 'average sales by country and product type',
130
- * executeSearch: true,
131
- * }
132
- * ```
133
- */
134
- searchOptions?: SearchOptions;
135
- }
136
- /**
137
- * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
138
- * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
139
- *
140
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
141
- * @group Embed components
142
- */
143
- export class SageEmbed extends V1Embed {
144
- /**
145
- * The view configuration for the embedded ThoughtSpot sage.
146
- *
147
- */
148
- protected viewConfig: SageViewConfig;
149
-
150
- constructor(domSelector: DOMSelector, viewConfig: SageViewConfig) {
151
- viewConfig.embedComponentType = 'SageEmbed';
152
- super(domSelector, viewConfig);
153
- }
154
-
155
- protected getEmbedParamsObject() {
156
- const {
157
- disableWorksheetChange,
158
- hideWorksheetSelector,
159
- showObjectSuggestions,
160
- dataPanelV2,
161
- hideSampleQuestions,
162
- isProductTour,
163
- hideSageAnswerHeader,
164
- hideAutocompleteSuggestions,
165
- } = this.viewConfig;
166
-
167
- const params = this.getBaseQueryParams();
168
- params[Param.DataPanelV2Enabled] = !!dataPanelV2;
169
- params[Param.IsSageEmbed] = true;
170
- params[Param.DisableWorksheetChange] = !!disableWorksheetChange;
171
- params[Param.HideWorksheetSelector] = !!hideWorksheetSelector;
172
- params[Param.HideEurekaSuggestions] = !!hideAutocompleteSuggestions;
173
- if (showObjectSuggestions) {
174
- params[Param.HideEurekaSuggestions] = !showObjectSuggestions;
175
- // support backwards compatibility
176
- }
177
- params[Param.HideSampleQuestions] = !!hideSampleQuestions;
178
- params[Param.IsProductTour] = !!isProductTour;
179
- params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
180
-
181
- return params;
182
- }
183
-
184
- /**
185
- * Constructs a map of parameters to be passed on to the
186
- * embedded Eureka or Sage search page.
187
- * @returns {string} query string
188
- */
189
- protected getEmbedParams(): string {
190
- const params = this.getEmbedParamsObject();
191
- return getQueryParamString(params, true);
192
- }
193
-
194
- /**
195
- * Construct the URL of the embedded ThoughtSpot sage to be
196
- * loaded in the iframe
197
- * @returns {string} iframe url
198
- */
199
- public getIFrameSrc(): string {
200
- const path = 'eureka';
201
- const postHashObj: Record<string, any> = {};
202
- const tsPostHashParams = this.getThoughtSpotPostUrlParams();
203
- const {
204
- dataSource, searchOptions,
205
- } = this.viewConfig;
206
-
207
- if (dataSource) (postHashObj as any)[Param.WorksheetId] = dataSource;
208
- if (searchOptions?.searchQuery && searchOptions.executeSearch) {
209
- (postHashObj as any)[Param.executeSearch] = true;
210
- }
211
-
212
- let sagePostHashParams = new URLSearchParams(postHashObj).toString();
213
- if (sagePostHashParams) sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
214
- if (searchOptions?.searchQuery) sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
215
- // use encodeURIComponent for query instead of URLSearchParams
216
- // as it adds + instead of %20 for spaces
217
- return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
218
- }
219
-
220
- /**
221
- * Render the embedded ThoughtSpot Sage
222
- * @returns {SageEmbed} Eureka/Sage embed
223
- */
224
- public async render(): Promise<SageEmbed> {
225
- await super.render();
226
- const src = this.getIFrameSrc();
227
- await this.renderV1Embed(src);
228
-
229
- return this;
230
- }
231
- }