@thoughtspot/visual-embed-sdk 1.27.9 → 1.27.11

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 (221) hide show
  1. package/cjs/package.json +2 -2
  2. package/cjs/src/embed/app.d.ts +144 -7
  3. package/cjs/src/embed/app.d.ts.map +1 -1
  4. package/cjs/src/embed/app.js +5 -5
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/app.spec.js +19 -1
  7. package/cjs/src/embed/app.spec.js.map +1 -1
  8. package/cjs/src/embed/base.d.ts.map +1 -1
  9. package/cjs/src/embed/base.js +0 -3
  10. package/cjs/src/embed/base.js.map +1 -1
  11. package/cjs/src/embed/embed.spec.js +0 -15
  12. package/cjs/src/embed/embed.spec.js.map +1 -1
  13. package/cjs/src/embed/liveboard.d.ts +113 -4
  14. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  15. package/cjs/src/embed/liveboard.js +2 -2
  16. package/cjs/src/embed/liveboard.js.map +1 -1
  17. package/cjs/src/embed/liveboard.spec.js +20 -1
  18. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  19. package/cjs/src/embed/pinboard.spec.js +20 -1
  20. package/cjs/src/embed/pinboard.spec.js.map +1 -1
  21. package/cjs/src/embed/sage.d.ts +1 -1
  22. package/cjs/src/embed/sage.d.ts.map +1 -1
  23. package/cjs/src/embed/sage.js +2 -2
  24. package/cjs/src/embed/sage.js.map +1 -1
  25. package/cjs/src/embed/search-bar.d.ts +37 -6
  26. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  27. package/cjs/src/embed/search-bar.js +2 -2
  28. package/cjs/src/embed/search-bar.js.map +1 -1
  29. package/cjs/src/embed/search.d.ts +80 -1
  30. package/cjs/src/embed/search.d.ts.map +1 -1
  31. package/cjs/src/embed/search.js +3 -3
  32. package/cjs/src/embed/search.js.map +1 -1
  33. package/cjs/src/embed/search.spec.js +25 -1
  34. package/cjs/src/embed/search.spec.js.map +1 -1
  35. package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  36. package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  37. package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
  38. package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
  39. package/cjs/src/embed/ts-embed.d.ts +1 -1
  40. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  41. package/cjs/src/embed/ts-embed.js +14 -11
  42. package/cjs/src/embed/ts-embed.js.map +1 -1
  43. package/cjs/src/embed/ts-embed.spec.js +50 -17
  44. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  45. package/cjs/src/index.d.ts +5 -3
  46. package/cjs/src/index.d.ts.map +1 -1
  47. package/cjs/src/index.js +6 -1
  48. package/cjs/src/index.js.map +1 -1
  49. package/cjs/src/mixpanel-service.d.ts +1 -0
  50. package/cjs/src/mixpanel-service.d.ts.map +1 -1
  51. package/cjs/src/mixpanel-service.js +1 -0
  52. package/cjs/src/mixpanel-service.js.map +1 -1
  53. package/cjs/src/react/all-types-export.d.ts +1 -1
  54. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  55. package/cjs/src/react/all-types-export.js +2 -1
  56. package/cjs/src/react/all-types-export.js.map +1 -1
  57. package/cjs/src/react/index.spec.js +1 -1
  58. package/cjs/src/react/index.spec.js.map +1 -1
  59. package/cjs/src/test/test-utils.d.ts +1 -0
  60. package/cjs/src/test/test-utils.d.ts.map +1 -1
  61. package/cjs/src/test/test-utils.js +10 -1
  62. package/cjs/src/test/test-utils.js.map +1 -1
  63. package/cjs/src/tokenizedFetch.d.ts +9 -0
  64. package/cjs/src/tokenizedFetch.d.ts.map +1 -1
  65. package/cjs/src/tokenizedFetch.js +9 -0
  66. package/cjs/src/tokenizedFetch.js.map +1 -1
  67. package/cjs/src/types.d.ts +295 -44
  68. package/cjs/src/types.d.ts.map +1 -1
  69. package/cjs/src/types.js +119 -21
  70. package/cjs/src/types.js.map +1 -1
  71. package/cjs/src/utils/authService/authService.d.ts.map +1 -1
  72. package/cjs/src/utils/authService/authService.js +8 -2
  73. package/cjs/src/utils/authService/authService.js.map +1 -1
  74. package/cjs/src/utils/authService/authService.spec.js +22 -0
  75. package/cjs/src/utils/authService/authService.spec.js.map +1 -1
  76. package/cjs/src/utils/graphql/answerService/answerService.d.ts +56 -2
  77. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  78. package/cjs/src/utils/graphql/answerService/answerService.js +55 -0
  79. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  80. package/dist/src/embed/app.d.ts +144 -7
  81. package/dist/src/embed/app.d.ts.map +1 -1
  82. package/dist/src/embed/base.d.ts.map +1 -1
  83. package/dist/src/embed/liveboard.d.ts +113 -4
  84. package/dist/src/embed/liveboard.d.ts.map +1 -1
  85. package/dist/src/embed/sage.d.ts +1 -1
  86. package/dist/src/embed/sage.d.ts.map +1 -1
  87. package/dist/src/embed/search-bar.d.ts +37 -6
  88. package/dist/src/embed/search-bar.d.ts.map +1 -1
  89. package/dist/src/embed/search.d.ts +80 -1
  90. package/dist/src/embed/search.d.ts.map +1 -1
  91. package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  92. package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  93. package/dist/src/embed/ts-embed.d.ts +1 -1
  94. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  95. package/dist/src/index.d.ts +5 -3
  96. package/dist/src/index.d.ts.map +1 -1
  97. package/dist/src/mixpanel-service.d.ts +1 -0
  98. package/dist/src/mixpanel-service.d.ts.map +1 -1
  99. package/dist/src/react/all-types-export.d.ts +1 -1
  100. package/dist/src/react/all-types-export.d.ts.map +1 -1
  101. package/dist/src/test/test-utils.d.ts +1 -0
  102. package/dist/src/test/test-utils.d.ts.map +1 -1
  103. package/dist/src/tokenizedFetch.d.ts +9 -0
  104. package/dist/src/tokenizedFetch.d.ts.map +1 -1
  105. package/dist/src/types.d.ts +295 -44
  106. package/dist/src/types.d.ts.map +1 -1
  107. package/dist/src/utils/authService/authService.d.ts.map +1 -1
  108. package/dist/src/utils/graphql/answerService/answerService.d.ts +56 -2
  109. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  110. package/dist/tsembed-react.es.js +219 -47
  111. package/dist/tsembed-react.js +212 -47
  112. package/dist/tsembed.es.js +336 -167
  113. package/dist/tsembed.js +15335 -15170
  114. package/dist/visual-embed-sdk-react-full.d.ts +769 -66
  115. package/dist/visual-embed-sdk-react.d.ts +769 -66
  116. package/dist/visual-embed-sdk.d.ts +769 -66
  117. package/lib/package.json +2 -2
  118. package/lib/src/embed/app.d.ts +144 -7
  119. package/lib/src/embed/app.d.ts.map +1 -1
  120. package/lib/src/embed/app.js +5 -5
  121. package/lib/src/embed/app.js.map +1 -1
  122. package/lib/src/embed/app.spec.js +19 -1
  123. package/lib/src/embed/app.spec.js.map +1 -1
  124. package/lib/src/embed/base.d.ts.map +1 -1
  125. package/lib/src/embed/base.js +0 -3
  126. package/lib/src/embed/base.js.map +1 -1
  127. package/lib/src/embed/embed.spec.js +2 -17
  128. package/lib/src/embed/embed.spec.js.map +1 -1
  129. package/lib/src/embed/liveboard.d.ts +113 -4
  130. package/lib/src/embed/liveboard.d.ts.map +1 -1
  131. package/lib/src/embed/liveboard.js +3 -3
  132. package/lib/src/embed/liveboard.js.map +1 -1
  133. package/lib/src/embed/liveboard.spec.js +20 -1
  134. package/lib/src/embed/liveboard.spec.js.map +1 -1
  135. package/lib/src/embed/pinboard.spec.js +20 -1
  136. package/lib/src/embed/pinboard.spec.js.map +1 -1
  137. package/lib/src/embed/sage.d.ts +1 -1
  138. package/lib/src/embed/sage.d.ts.map +1 -1
  139. package/lib/src/embed/sage.js +2 -2
  140. package/lib/src/embed/sage.js.map +1 -1
  141. package/lib/src/embed/search-bar.d.ts +37 -6
  142. package/lib/src/embed/search-bar.d.ts.map +1 -1
  143. package/lib/src/embed/search-bar.js +2 -2
  144. package/lib/src/embed/search-bar.js.map +1 -1
  145. package/lib/src/embed/search.d.ts +80 -1
  146. package/lib/src/embed/search.d.ts.map +1 -1
  147. package/lib/src/embed/search.js +3 -3
  148. package/lib/src/embed/search.js.map +1 -1
  149. package/lib/src/embed/search.spec.js +25 -1
  150. package/lib/src/embed/search.spec.js.map +1 -1
  151. package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
  152. package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
  153. package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
  154. package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
  155. package/lib/src/embed/ts-embed.d.ts +1 -1
  156. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  157. package/lib/src/embed/ts-embed.js +14 -11
  158. package/lib/src/embed/ts-embed.js.map +1 -1
  159. package/lib/src/embed/ts-embed.spec.js +44 -11
  160. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  161. package/lib/src/index.d.ts +5 -3
  162. package/lib/src/index.d.ts.map +1 -1
  163. package/lib/src/index.js +3 -3
  164. package/lib/src/index.js.map +1 -1
  165. package/lib/src/mixpanel-service.d.ts +1 -0
  166. package/lib/src/mixpanel-service.d.ts.map +1 -1
  167. package/lib/src/mixpanel-service.js +1 -0
  168. package/lib/src/mixpanel-service.js.map +1 -1
  169. package/lib/src/react/all-types-export.d.ts +1 -1
  170. package/lib/src/react/all-types-export.d.ts.map +1 -1
  171. package/lib/src/react/all-types-export.js +1 -1
  172. package/lib/src/react/all-types-export.js.map +1 -1
  173. package/lib/src/react/index.spec.js +1 -1
  174. package/lib/src/react/index.spec.js.map +1 -1
  175. package/lib/src/test/test-utils.d.ts +1 -0
  176. package/lib/src/test/test-utils.d.ts.map +1 -1
  177. package/lib/src/test/test-utils.js +8 -0
  178. package/lib/src/test/test-utils.js.map +1 -1
  179. package/lib/src/tokenizedFetch.d.ts +9 -0
  180. package/lib/src/tokenizedFetch.d.ts.map +1 -1
  181. package/lib/src/tokenizedFetch.js +9 -0
  182. package/lib/src/tokenizedFetch.js.map +1 -1
  183. package/lib/src/types.d.ts +295 -44
  184. package/lib/src/types.d.ts.map +1 -1
  185. package/lib/src/types.js +119 -21
  186. package/lib/src/types.js.map +1 -1
  187. package/lib/src/utils/authService/authService.d.ts.map +1 -1
  188. package/lib/src/utils/authService/authService.js +8 -2
  189. package/lib/src/utils/authService/authService.js.map +1 -1
  190. package/lib/src/utils/authService/authService.spec.js +22 -0
  191. package/lib/src/utils/authService/authService.spec.js.map +1 -1
  192. package/lib/src/utils/graphql/answerService/answerService.d.ts +56 -2
  193. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  194. package/lib/src/utils/graphql/answerService/answerService.js +55 -0
  195. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  196. package/lib/src/visual-embed-sdk.d.ts +778 -69
  197. package/package.json +2 -2
  198. package/src/embed/app.spec.ts +24 -1
  199. package/src/embed/app.ts +148 -13
  200. package/src/embed/base.ts +1 -5
  201. package/src/embed/embed.spec.ts +0 -18
  202. package/src/embed/liveboard.spec.ts +24 -1
  203. package/src/embed/liveboard.ts +121 -15
  204. package/src/embed/pinboard.spec.ts +24 -1
  205. package/src/embed/sage.ts +2 -2
  206. package/src/embed/search-bar.tsx +38 -7
  207. package/src/embed/search.spec.ts +29 -1
  208. package/src/embed/search.ts +82 -3
  209. package/src/embed/ts-embed-trigger.spec.ts +39 -0
  210. package/src/embed/ts-embed.spec.ts +46 -11
  211. package/src/embed/ts-embed.ts +18 -14
  212. package/src/index.ts +12 -1
  213. package/src/mixpanel-service.ts +1 -0
  214. package/src/react/all-types-export.ts +1 -0
  215. package/src/react/index.spec.tsx +1 -0
  216. package/src/test/test-utils.ts +9 -0
  217. package/src/tokenizedFetch.ts +9 -0
  218. package/src/types.ts +296 -42
  219. package/src/utils/authService/authService.spec.ts +27 -0
  220. package/src/utils/authService/authService.ts +13 -12
  221. package/src/utils/graphql/answerService/answerService.ts +56 -1
@@ -72,15 +72,15 @@ export async function fetchAuthService(
72
72
  username: string,
73
73
  authToken: string,
74
74
  ): Promise<any> {
75
- return failureLoggedFetch(
76
- `${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?username=${username}&auth_token=${authToken}`,
77
- {
78
- credentials: 'include',
79
- // We do not want to follow the redirect, as it starts giving a CORS
80
- // error
81
- redirect: 'manual',
82
- },
83
- );
75
+ const fetchUrlParams = username
76
+ ? `username=${username}&auth_token=${authToken}`
77
+ : `auth_token=${authToken}`;
78
+ return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?${fetchUrlParams}`, {
79
+ credentials: 'include',
80
+ // We do not want to follow the redirect, as it starts giving a CORS
81
+ // error
82
+ redirect: 'manual',
83
+ });
84
84
  }
85
85
 
86
86
  /**
@@ -94,15 +94,16 @@ export async function fetchAuthPostService(
94
94
  username: string,
95
95
  authToken: string,
96
96
  ): Promise<any> {
97
+ const bodyPrams = username
98
+ ? `username=${encodeURIComponent(username)}&auth_token=${encodeURIComponent(authToken)}`
99
+ : `auth_token=${encodeURIComponent(authToken)}`;
97
100
  return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}`, {
98
101
  method: 'POST',
99
102
  headers: {
100
103
  'content-type': 'application/x-www-form-urlencoded',
101
104
  'x-requested-by': 'ThoughtSpot',
102
105
  },
103
- body: `username=${encodeURIComponent(username)}&auth_token=${encodeURIComponent(
104
- authToken,
105
- )}`,
106
+ body: bodyPrams,
106
107
  credentials: 'include',
107
108
  // We do not want to follow the redirect, as it starts giving a CORS
108
109
  // error
@@ -17,7 +17,7 @@ export enum OperationType {
17
17
  GetTableWithHeadlineData = 'GetTableWithHeadlineData',
18
18
  }
19
19
 
20
- interface UnderlyingDataPoint {
20
+ export interface UnderlyingDataPoint {
21
21
  columnId: string;
22
22
  dataValue: any;
23
23
  }
@@ -41,6 +41,14 @@ interface UnderlyingDataPoint {
41
41
  * @group Events
42
42
  */
43
43
  export class AnswerService {
44
+ /**
45
+ * Should not need to be called directly.
46
+ *
47
+ * @param session
48
+ * @param answer
49
+ * @param thoughtSpotHost
50
+ * @param selectedPoints
51
+ */
44
52
  constructor(
45
53
  private session: SessionInterface,
46
54
  private answer: any,
@@ -50,6 +58,10 @@ export class AnswerService {
50
58
  this.session = removeTypename(session);
51
59
  }
52
60
 
61
+ /**
62
+ * Get the details about the source used in the answer.
63
+ * This can be used to get the list of all columns in the data source for example.
64
+ */
53
65
  public async getSourceDetail() {
54
66
  const sourceId = this.answer.sources[0].header.guid;
55
67
  return getSourceDetail(
@@ -58,6 +70,12 @@ export class AnswerService {
58
70
  );
59
71
  }
60
72
 
73
+ /**
74
+ * Remove columnIds and return updated answer session.
75
+ *
76
+ * @param columnIds
77
+ * @returns
78
+ */
61
79
  public async removeColumns(columnIds: string[]) {
62
80
  return this.executeQuery(
63
81
  queries.removeColumns,
@@ -67,6 +85,12 @@ export class AnswerService {
67
85
  );
68
86
  }
69
87
 
88
+ /**
89
+ * Add columnIds and return updated answer session.
90
+ *
91
+ * @param columnIds
92
+ * @returns
93
+ */
70
94
  public async addColumns(columnIds: string[]) {
71
95
  return this.executeQuery(
72
96
  queries.addColumns,
@@ -76,6 +100,13 @@ export class AnswerService {
76
100
  );
77
101
  }
78
102
 
103
+ /**
104
+ * Fetch data from the answer.
105
+ *
106
+ * @param offset
107
+ * @param size
108
+ * @returns
109
+ */
79
110
  public async fetchData(offset = 0, size = 1000) {
80
111
  const { answer } = await this.executeQuery(
81
112
  queries.getAnswerData,
@@ -98,6 +129,8 @@ export class AnswerService {
98
129
  }
99
130
 
100
131
  /**
132
+ * Fetch the data for the answer as a CSV blob. This might be
133
+ * quicker for larger data.
101
134
  *
102
135
  * @param userLocale
103
136
  * @param includeInfo Include the CSV header in the output
@@ -110,12 +143,22 @@ export class AnswerService {
110
143
  });
111
144
  }
112
145
 
146
+ /**
147
+ * Just get the internal URL for this answer's data
148
+ * as a CSV blob.
149
+ *
150
+ * @param userLocale
151
+ * @param includeInfo
152
+ * @returns
153
+ */
113
154
  public getFetchCSVBlobUrl(userLocale = 'en-us', includeInfo = false): string {
114
155
  return `${this.thoughtSpotHost}/prism/download/answer/csv?sessionId=${this.session.sessionId}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data&hideCsvHeader=${!includeInfo}`;
115
156
  }
116
157
 
117
158
  /**
118
159
  * Get underlying data given a point and the output column names.
160
+ * In case of a context menu action, the selectedPoints are
161
+ * automatically passed.
119
162
  *
120
163
  * @param outputColumnNames
121
164
  * @param selectedPoints
@@ -179,6 +222,13 @@ export class AnswerService {
179
222
  return unaggAnswerSession;
180
223
  }
181
224
 
225
+ /**
226
+ * Execute a custom graphql query in the context of the answer.
227
+ *
228
+ * @param query graphql query
229
+ * @param variables graphql variables
230
+ * @returns
231
+ */
182
232
  public async executeQuery(query: string, variables: any): Promise<any> {
183
233
  const data = await graphqlQuery({
184
234
  query,
@@ -194,6 +244,11 @@ export class AnswerService {
194
244
  return data;
195
245
  }
196
246
 
247
+ /**
248
+ * Get the internal session details for the answer.
249
+ *
250
+ * @returns
251
+ */
197
252
  public getSession() {
198
253
  return this.session;
199
254
  }