@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
@@ -1,164 +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
- import { DOMSelector, BaseViewConfig, SearchLiveboardCommonViewConfig } from '../types';
9
- import { V1Embed } from './ts-embed';
10
- /**
11
- * Configuration for search options
12
- */
13
- export interface SearchOptions {
14
- /**
15
- * The query string to pass for Natural Language Search.
16
- */
17
- searchQuery: string;
18
- /**
19
- * Boolean to define if the search should be executed or not.
20
- * If it is executed, the focus is placed on the results.
21
- * If it’s not executed, the focus is placed at the end of
22
- * the token string in the search bar.
23
- */
24
- executeSearch?: boolean;
25
- }
26
- /**
27
- * The configuration attributes for the embedded Natural language search view. Based on
28
- * GPT and LLM.
29
- * @version SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
30
- *
31
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
32
- * @group Embed components
33
- */
34
- export interface SageViewConfig extends SearchLiveboardCommonViewConfig, Omit<BaseViewConfig, 'primaryAction' | 'runtimeFilters' | 'runtimeParameters' | 'excludeRuntimeFiltersfromURL' | 'excludeRuntimeParametersfromURL'> {
35
- /**
36
- * If set to true, a list of Liveboard and Answers related
37
- * to the natural language search will be shown below the
38
- * AI generated answer.
39
- * @deprecated Currently Liveboard and Answers related
40
- * to the natural language search will not be shown for sage
41
- * embed
42
- */
43
- showObjectResults?: boolean;
44
- /**
45
- * flag used by the TS product tour page to show the blue search bar
46
- * even after the search is completed. This is different from ThoughtSpot Embedded
47
- * Sage Embed experience where it mimics closer to the non-embed case.
48
- * The Sample questions container is collapsed when this value is set after
49
- * does a search.
50
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl
51
- * @hidden
52
- */
53
- isProductTour?: boolean;
54
- /**
55
- * Show or hide the search bar title.
56
- * @version SDK: 1.29.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
57
- * @deprecated ThoughtSpot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
58
- */
59
- hideSearchBarTitle?: boolean;
60
- /**
61
- * Show or hide the Answer header, that is, the `AI Answer` title
62
- * at the top of the Answer page.
63
- * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl
64
- */
65
- hideSageAnswerHeader?: boolean;
66
- /**
67
- * Disable the data source selection option.
68
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
69
- */
70
- disableWorksheetChange?: boolean;
71
- /**
72
- * Hide the data source selection panel.
73
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
74
- */
75
- hideWorksheetSelector?: boolean;
76
- /**
77
- * Show or hide autocomplete suggestions for the search query string.
78
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
79
- */
80
- hideAutocompleteSuggestions?: boolean;
81
- /**
82
- * Show or hide autocomplete suggestions for the search query string.
83
- * You can use {@link hideAutocompleteSuggestions} instead.
84
- * @deprecated
85
- * Currently, the object suggestions will not be shown for Natural Language Search.
86
- */
87
- showObjectSuggestions?: boolean;
88
- /**
89
- * Show or hide sample questions.
90
- * The sample questions are autogenerated based on the data model
91
- * selected for the search operation.
92
- *
93
- * Supported embed types: `SageEmbed`
94
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
95
- * @example
96
- * ```js
97
- * const embed = new SageEmbed('#tsEmbed', {
98
- * ... //other embed view config
99
- * hideSampleQuestions : true,
100
- * })
101
- * ```
102
- */
103
- hideSampleQuestions?: boolean;
104
- /**
105
- * The data source GUID (Model GUID) to set on load.
106
- */
107
- dataSource?: string;
108
- /**
109
- * Includes the following properties:
110
- *
111
- * `searchQuery`: The search query string to pass in the search bar.
112
- * Supports Natural Language Search queries.
113
- *
114
- * `executeSearch`: Boolean to define if the search should be executed or not.
115
- * If it is executed, the focus is placed on the results.
116
- * If it’s not executed, the focus is placed at the end of
117
- * the token string in the search bar.
118
- *
119
- * Supported embed types: `SageEmbed`
120
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
121
- * @example
122
- * ```js
123
- * searchOptions: {
124
- * searchQuery: 'average sales by country and product type',
125
- * executeSearch: true,
126
- * }
127
- * ```
128
- */
129
- searchOptions?: SearchOptions;
130
- }
131
- /**
132
- * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
133
- * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
134
- *
135
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
136
- * @group Embed components
137
- */
138
- export declare class SageEmbed extends V1Embed {
139
- /**
140
- * The view configuration for the embedded ThoughtSpot sage.
141
- *
142
- */
143
- protected viewConfig: SageViewConfig;
144
- constructor(domSelector: DOMSelector, viewConfig: SageViewConfig);
145
- protected getEmbedParamsObject(): Record<any, any>;
146
- /**
147
- * Constructs a map of parameters to be passed on to the
148
- * embedded Eureka or Sage search page.
149
- * @returns {string} query string
150
- */
151
- protected getEmbedParams(): string;
152
- /**
153
- * Construct the URL of the embedded ThoughtSpot sage to be
154
- * loaded in the iframe
155
- * @returns {string} iframe url
156
- */
157
- getIFrameSrc(): string;
158
- /**
159
- * Render the embedded ThoughtSpot Sage
160
- * @returns {SageEmbed} Eureka/Sage embed
161
- */
162
- render(): Promise<SageEmbed>;
163
- }
164
- //# sourceMappingURL=sage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.d.ts","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAS,cAAc,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE/F,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cACb,SAAQ,+BAA+B,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,8BAA8B,GAAG,iCAAiC,CAAC;IAC5L;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AACD;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,OAAO;IAClC;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC;gBAEzB,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc;IAKhE,SAAS,CAAC,oBAAoB;IA6B9B;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAKlC;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAqB7B;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;CAO5C"}
@@ -1,84 +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
- import { Param } from '../types';
9
- import { getQueryParamString } from '../utils';
10
- import { V1Embed } from './ts-embed';
11
- /**
12
- * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
13
- * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
14
- *
15
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
16
- * @group Embed components
17
- */
18
- export class SageEmbed extends V1Embed {
19
- constructor(domSelector, viewConfig) {
20
- viewConfig.embedComponentType = 'SageEmbed';
21
- super(domSelector, viewConfig);
22
- }
23
- getEmbedParamsObject() {
24
- const { disableWorksheetChange, hideWorksheetSelector, showObjectSuggestions, dataPanelV2, hideSampleQuestions, isProductTour, hideSageAnswerHeader, hideAutocompleteSuggestions, } = this.viewConfig;
25
- const params = this.getBaseQueryParams();
26
- params[Param.DataPanelV2Enabled] = !!dataPanelV2;
27
- params[Param.IsSageEmbed] = true;
28
- params[Param.DisableWorksheetChange] = !!disableWorksheetChange;
29
- params[Param.HideWorksheetSelector] = !!hideWorksheetSelector;
30
- params[Param.HideEurekaSuggestions] = !!hideAutocompleteSuggestions;
31
- if (showObjectSuggestions) {
32
- params[Param.HideEurekaSuggestions] = !showObjectSuggestions;
33
- // support backwards compatibility
34
- }
35
- params[Param.HideSampleQuestions] = !!hideSampleQuestions;
36
- params[Param.IsProductTour] = !!isProductTour;
37
- params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
38
- return params;
39
- }
40
- /**
41
- * Constructs a map of parameters to be passed on to the
42
- * embedded Eureka or Sage search page.
43
- * @returns {string} query string
44
- */
45
- getEmbedParams() {
46
- const params = this.getEmbedParamsObject();
47
- return getQueryParamString(params, true);
48
- }
49
- /**
50
- * Construct the URL of the embedded ThoughtSpot sage to be
51
- * loaded in the iframe
52
- * @returns {string} iframe url
53
- */
54
- getIFrameSrc() {
55
- const path = 'eureka';
56
- const postHashObj = {};
57
- const tsPostHashParams = this.getThoughtSpotPostUrlParams();
58
- const { dataSource, searchOptions, } = this.viewConfig;
59
- if (dataSource)
60
- postHashObj[Param.WorksheetId] = dataSource;
61
- if ((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && searchOptions.executeSearch) {
62
- postHashObj[Param.executeSearch] = true;
63
- }
64
- let sagePostHashParams = new URLSearchParams(postHashObj).toString();
65
- if (sagePostHashParams)
66
- sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
67
- if (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery)
68
- sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
69
- // use encodeURIComponent for query instead of URLSearchParams
70
- // as it adds + instead of %20 for spaces
71
- return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
72
- }
73
- /**
74
- * Render the embedded ThoughtSpot Sage
75
- * @returns {SageEmbed} Eureka/Sage embed
76
- */
77
- async render() {
78
- await super.render();
79
- const src = this.getIFrameSrc();
80
- await this.renderV1Embed(src);
81
- return this;
82
- }
83
- }
84
- //# sourceMappingURL=sage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sage.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/sage.spec.ts"],"names":[],"mappings":""}
@@ -1,148 +0,0 @@
1
- import { SageEmbed } from './sage';
2
- import { init } from '../index';
3
- import { AuthType } from '../types';
4
- import { executeAfterWait, expectUrlMatch, getDocumentBody, getIFrameSrc, getRootEl, } from '../test/test-utils';
5
- import * as authInstance from '../auth';
6
- const defaultConfig = {
7
- disableWorksheetChange: false,
8
- hideWorksheetSelector: false,
9
- hideSageAnswerHeader: false,
10
- hideAutocompleteSuggestions: false,
11
- hideSampleQuestions: false,
12
- isProductTour: false,
13
- dataPanelV2: true,
14
- };
15
- const thoughtSpotHost = 'tshost';
16
- beforeAll(() => {
17
- init({
18
- thoughtSpotHost,
19
- authType: AuthType.None,
20
- });
21
- jest.spyOn(window, 'alert');
22
- jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve(true));
23
- });
24
- describe('Sage embed tests', () => {
25
- beforeEach(() => {
26
- document.body.innerHTML = getDocumentBody();
27
- });
28
- test('should render sage', async () => {
29
- const sageEmbed = new SageEmbed(getRootEl(), defaultConfig);
30
- await sageEmbed.render();
31
- await executeAfterWait(() => {
32
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
33
- });
34
- });
35
- test('should render sage with product tour flag set', async () => {
36
- const sageEmbed = new SageEmbed(getRootEl(), { ...defaultConfig, isProductTour: true });
37
- await sageEmbed.render();
38
- await executeAfterWait(() => {
39
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
40
- });
41
- });
42
- test('should render sage with disable worksheet change flag', async () => {
43
- const sageEmbed = new SageEmbed(getRootEl(), {
44
- ...defaultConfig,
45
- disableWorksheetChange: true,
46
- });
47
- await sageEmbed.render();
48
- await executeAfterWait(() => {
49
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
50
- });
51
- });
52
- test('should render sage with hide worksheet selector flag', async () => {
53
- const sageEmbed = new SageEmbed(getRootEl(), {
54
- ...defaultConfig,
55
- hideWorksheetSelector: true,
56
- });
57
- await sageEmbed.render();
58
- await executeAfterWait(() => {
59
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
60
- });
61
- });
62
- test('should render sage with hide Sage Answer Header flag', async () => {
63
- const sageEmbed = new SageEmbed(getRootEl(), {
64
- ...defaultConfig,
65
- hideSageAnswerHeader: true,
66
- });
67
- await sageEmbed.render();
68
- await executeAfterWait(() => {
69
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=true&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
70
- });
71
- });
72
- test('should render sage with hide Autocomplete suggestions flag', async () => {
73
- const sageEmbed = new SageEmbed(getRootEl(), {
74
- ...defaultConfig,
75
- hideAutocompleteSuggestions: true,
76
- });
77
- await sageEmbed.render();
78
- await executeAfterWait(() => {
79
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
80
- });
81
- });
82
- test('should render sage with deprecated showObjectSuggestions flag', async () => {
83
- const sageEmbed = new SageEmbed(getRootEl(), {
84
- showObjectSuggestions: true,
85
- });
86
- await sageEmbed.render();
87
- await executeAfterWait(() => {
88
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
89
- });
90
- });
91
- test('embed url include pre-seed dataSource without populating searchOptions', async () => {
92
- const sageEmbed = new SageEmbed(getRootEl(), {
93
- ...defaultConfig,
94
- dataSource: 'worksheet-id',
95
- });
96
- await sageEmbed.render();
97
- await executeAfterWait(() => {
98
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id`);
99
- });
100
- });
101
- test('embed url include pre-seed dataSource and query', async () => {
102
- const sageEmbed = new SageEmbed(getRootEl(), {
103
- ...defaultConfig,
104
- dataSource: 'worksheet-id',
105
- searchOptions: {
106
- searchQuery: 'test query', // also tests for query with spaces
107
- },
108
- });
109
- await sageEmbed.render();
110
- await executeAfterWait(() => {
111
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`);
112
- });
113
- });
114
- test('embed url include pre-seed execute flag with query', async () => {
115
- const sageEmbed = new SageEmbed(getRootEl(), {
116
- ...defaultConfig,
117
- searchOptions: {
118
- searchQuery: 'test-query',
119
- executeSearch: true,
120
- },
121
- });
122
- await sageEmbed.render();
123
- await executeAfterWait(() => {
124
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?executeSearch=true&query=test-query`);
125
- });
126
- });
127
- test('should set enableDataPanelV2 to true if data panel v2 flag is true', async () => {
128
- const sageEmbed = new SageEmbed(getRootEl(), {
129
- ...defaultConfig,
130
- dataPanelV2: true,
131
- });
132
- await sageEmbed.render();
133
- await executeAfterWait(() => {
134
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
135
- });
136
- });
137
- test('should set enableDataPanelV2 to false if data panel v2 flag is false', async () => {
138
- const sageEmbed = new SageEmbed(getRootEl(), {
139
- ...defaultConfig,
140
- dataPanelV2: false,
141
- });
142
- await sageEmbed.render();
143
- await executeAfterWait(() => {
144
- expectUrlMatch(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
145
- });
146
- });
147
- });
148
- //# sourceMappingURL=sage.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.spec.js","sourceRoot":"","sources":["../../../src/embed/sage.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EACH,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,SAAS,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,YAAY,MAAM,SAAS,CAAC;AAExC,MAAM,aAAa,GAAmB;IAClC,sBAAsB,EAAE,KAAK;IAC7B,qBAAqB,EAAE,KAAK;IAC5B,oBAAoB,EAAE,KAAK;IAC3B,2BAA2B,EAAE,KAAK;IAClC,mBAAmB,EAAE,KAAK;IAC1B,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,IAAI;CACpB,CAAC;AAEF,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,SAAS,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACD,eAAe;QACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;KAC1B,CAAC,CAAC;IACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAW,CAAC,CAAC,CAAC;AACxG,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC/B,UAAU,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,eAAe,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,8OAA8O,CAC1Q,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxF,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,6OAA6O,CACzQ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,sBAAsB,EAAE,IAAI;SAC/B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,6OAA6O,CACzQ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,qBAAqB,EAAE,IAAI;SAC9B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,6OAA6O,CACzQ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,oBAAoB,EAAE,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,6OAA6O,CACzQ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,2BAA2B,EAAE,IAAI;SACpC,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,6OAA6O,CACzQ,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,qBAAqB,EAAE,IAAI;SAC9B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,+OAA+O,CAC3Q,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,UAAU,EAAE,cAAc;SAC7B,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,qQAAqQ,CACjS,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,UAAU,EAAE,cAAc;YAC1B,aAAa,EAAE;gBACX,WAAW,EAAE,YAAY,EAAE,mCAAmC;aACjE;SACJ,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,wRAAwR,CACpT,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,aAAa,EAAE;gBACX,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE,IAAI;aACtB;SACJ,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,mOAAmO,CAC/P,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,8OAA8O,CAC1Q,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,EAAE;YACzC,GAAG,aAAa;YAChB,WAAW,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,gBAAgB,CAAC,GAAG,EAAE;YACxB,cAAc,CACV,YAAY,EAAE,EACd,UAAU,eAAe,+OAA+O,CAC3Q,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,206 +0,0 @@
1
- import { SageEmbed, SageViewConfig } from './sage';
2
- import { init } from '../index';
3
- import { AuthType } from '../types';
4
- import {
5
- executeAfterWait,
6
- expectUrlMatch,
7
- getDocumentBody,
8
- getIFrameSrc,
9
- getRootEl,
10
- } from '../test/test-utils';
11
-
12
- import * as authInstance from '../auth';
13
-
14
- const defaultConfig: SageViewConfig = {
15
- disableWorksheetChange: false,
16
- hideWorksheetSelector: false,
17
- hideSageAnswerHeader: false,
18
- hideAutocompleteSuggestions: false,
19
- hideSampleQuestions: false,
20
- isProductTour: false,
21
- dataPanelV2: true,
22
- };
23
-
24
- const thoughtSpotHost = 'tshost';
25
-
26
- beforeAll(() => {
27
- init({
28
- thoughtSpotHost,
29
- authType: AuthType.None,
30
- });
31
- jest.spyOn(window, 'alert');
32
- jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve(true as any));
33
- });
34
-
35
- describe('Sage embed tests', () => {
36
- beforeEach(() => {
37
- document.body.innerHTML = getDocumentBody();
38
- });
39
-
40
- test('should render sage', async () => {
41
- const sageEmbed = new SageEmbed(getRootEl(), defaultConfig);
42
- await sageEmbed.render();
43
- await executeAfterWait(() => {
44
- expectUrlMatch(
45
- getIFrameSrc(),
46
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
47
- );
48
- });
49
- });
50
-
51
- test('should render sage with product tour flag set', async () => {
52
- const sageEmbed = new SageEmbed(getRootEl(), { ...defaultConfig, isProductTour: true });
53
- await sageEmbed.render();
54
- await executeAfterWait(() => {
55
- expectUrlMatch(
56
- getIFrameSrc(),
57
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
58
- );
59
- });
60
- });
61
-
62
- test('should render sage with disable worksheet change flag', async () => {
63
- const sageEmbed = new SageEmbed(getRootEl(), {
64
- ...defaultConfig,
65
- disableWorksheetChange: true,
66
- });
67
- await sageEmbed.render();
68
- await executeAfterWait(() => {
69
- expectUrlMatch(
70
- getIFrameSrc(),
71
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
72
- );
73
- });
74
- });
75
-
76
- test('should render sage with hide worksheet selector flag', async () => {
77
- const sageEmbed = new SageEmbed(getRootEl(), {
78
- ...defaultConfig,
79
- hideWorksheetSelector: true,
80
- });
81
- await sageEmbed.render();
82
- await executeAfterWait(() => {
83
- expectUrlMatch(
84
- getIFrameSrc(),
85
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
86
- );
87
- });
88
- });
89
-
90
- test('should render sage with hide Sage Answer Header flag', async () => {
91
- const sageEmbed = new SageEmbed(getRootEl(), {
92
- ...defaultConfig,
93
- hideSageAnswerHeader: true,
94
- });
95
- await sageEmbed.render();
96
- await executeAfterWait(() => {
97
- expectUrlMatch(
98
- getIFrameSrc(),
99
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=true&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
100
- );
101
- });
102
- });
103
-
104
- test('should render sage with hide Autocomplete suggestions flag', async () => {
105
- const sageEmbed = new SageEmbed(getRootEl(), {
106
- ...defaultConfig,
107
- hideAutocompleteSuggestions: true,
108
- });
109
- await sageEmbed.render();
110
- await executeAfterWait(() => {
111
- expectUrlMatch(
112
- getIFrameSrc(),
113
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
114
- );
115
- });
116
- });
117
-
118
- test('should render sage with deprecated showObjectSuggestions flag', async () => {
119
- const sageEmbed = new SageEmbed(getRootEl(), {
120
- showObjectSuggestions: true,
121
- });
122
- await sageEmbed.render();
123
- await executeAfterWait(() => {
124
- expectUrlMatch(
125
- getIFrameSrc(),
126
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
127
- );
128
- });
129
- });
130
-
131
- test('embed url include pre-seed dataSource without populating searchOptions', async () => {
132
- const sageEmbed = new SageEmbed(getRootEl(), {
133
- ...defaultConfig,
134
- dataSource: 'worksheet-id',
135
- });
136
- await sageEmbed.render();
137
- await executeAfterWait(() => {
138
- expectUrlMatch(
139
- getIFrameSrc(),
140
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id`,
141
- );
142
- });
143
- });
144
-
145
- test('embed url include pre-seed dataSource and query', async () => {
146
- const sageEmbed = new SageEmbed(getRootEl(), {
147
- ...defaultConfig,
148
- dataSource: 'worksheet-id',
149
- searchOptions: {
150
- searchQuery: 'test query', // also tests for query with spaces
151
- },
152
- });
153
- await sageEmbed.render();
154
- await executeAfterWait(() => {
155
- expectUrlMatch(
156
- getIFrameSrc(),
157
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`,
158
- );
159
- });
160
- });
161
-
162
- test('embed url include pre-seed execute flag with query', async () => {
163
- const sageEmbed = new SageEmbed(getRootEl(), {
164
- ...defaultConfig,
165
- searchOptions: {
166
- searchQuery: 'test-query',
167
- executeSearch: true,
168
- },
169
- });
170
- await sageEmbed.render();
171
- await executeAfterWait(() => {
172
- expectUrlMatch(
173
- getIFrameSrc(),
174
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?executeSearch=true&query=test-query`,
175
- );
176
- });
177
- });
178
-
179
- test('should set enableDataPanelV2 to true if data panel v2 flag is true', async () => {
180
- const sageEmbed = new SageEmbed(getRootEl(), {
181
- ...defaultConfig,
182
- dataPanelV2: true,
183
- });
184
- await sageEmbed.render();
185
- await executeAfterWait(() => {
186
- expectUrlMatch(
187
- getIFrameSrc(),
188
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
189
- );
190
- });
191
- });
192
-
193
- test('should set enableDataPanelV2 to false if data panel v2 flag is false', async () => {
194
- const sageEmbed = new SageEmbed(getRootEl(), {
195
- ...defaultConfig,
196
- dataPanelV2: false,
197
- });
198
- await sageEmbed.render();
199
- await executeAfterWait(() => {
200
- expectUrlMatch(
201
- getIFrameSrc(),
202
- `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`,
203
- );
204
- });
205
- });
206
- });