@thoughtspot/visual-embed-sdk 1.36.1 → 1.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/auth.d.ts.map +1 -1
  3. package/cjs/src/auth.js +2 -1
  4. package/cjs/src/auth.js.map +1 -1
  5. package/cjs/src/authToken.d.ts.map +1 -1
  6. package/cjs/src/authToken.js +10 -3
  7. package/cjs/src/authToken.js.map +1 -1
  8. package/cjs/src/embed/app.d.ts +14 -0
  9. package/cjs/src/embed/app.d.ts.map +1 -1
  10. package/cjs/src/embed/app.js +4 -1
  11. package/cjs/src/embed/app.js.map +1 -1
  12. package/cjs/src/embed/app.spec.js +17 -0
  13. package/cjs/src/embed/app.spec.js.map +1 -1
  14. package/cjs/src/embed/base.d.ts.map +1 -1
  15. package/cjs/src/embed/base.js +2 -2
  16. package/cjs/src/embed/base.js.map +1 -1
  17. package/cjs/src/embed/base.spec.js +24 -0
  18. package/cjs/src/embed/base.spec.js.map +1 -1
  19. package/cjs/src/embed/embedConfig.d.ts +1 -1
  20. package/cjs/src/embed/embedConfig.d.ts.map +1 -1
  21. package/cjs/src/embed/embedConfig.js +5 -4
  22. package/cjs/src/embed/embedConfig.js.map +1 -1
  23. package/cjs/src/embed/liveboard.d.ts +4 -1
  24. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  25. package/cjs/src/embed/liveboard.js.map +1 -1
  26. package/cjs/src/types.d.ts +85 -66
  27. package/cjs/src/types.d.ts.map +1 -1
  28. package/cjs/src/types.js +78 -59
  29. package/cjs/src/types.js.map +1 -1
  30. package/cjs/src/utils/resetServices.d.ts +8 -0
  31. package/cjs/src/utils/resetServices.d.ts.map +1 -0
  32. package/cjs/src/utils/resetServices.js +18 -0
  33. package/cjs/src/utils/resetServices.js.map +1 -0
  34. package/cjs/src/utils/resetServices.spec.d.ts +2 -0
  35. package/cjs/src/utils/resetServices.spec.d.ts.map +1 -0
  36. package/cjs/src/utils/resetServices.spec.js +18 -0
  37. package/cjs/src/utils/resetServices.spec.js.map +1 -0
  38. package/cjs/src/utils/sessionInfoService.d.ts +14 -2
  39. package/cjs/src/utils/sessionInfoService.d.ts.map +1 -1
  40. package/cjs/src/utils/sessionInfoService.js +18 -3
  41. package/cjs/src/utils/sessionInfoService.js.map +1 -1
  42. package/cjs/src/utils.d.ts +12 -0
  43. package/cjs/src/utils.d.ts.map +1 -1
  44. package/cjs/src/utils.js +21 -1
  45. package/cjs/src/utils.js.map +1 -1
  46. package/cjs/src/utils.spec.js +15 -0
  47. package/cjs/src/utils.spec.js.map +1 -1
  48. package/dist/{index-B3hd6DTM.js → index-BJx3m5_V.js} +1 -1
  49. package/dist/src/auth.d.ts.map +1 -1
  50. package/dist/src/authToken.d.ts.map +1 -1
  51. package/dist/src/embed/app.d.ts +14 -0
  52. package/dist/src/embed/app.d.ts.map +1 -1
  53. package/dist/src/embed/base.d.ts.map +1 -1
  54. package/dist/src/embed/embedConfig.d.ts +1 -1
  55. package/dist/src/embed/embedConfig.d.ts.map +1 -1
  56. package/dist/src/embed/liveboard.d.ts +4 -1
  57. package/dist/src/embed/liveboard.d.ts.map +1 -1
  58. package/dist/src/types.d.ts +85 -66
  59. package/dist/src/types.d.ts.map +1 -1
  60. package/dist/src/utils/resetServices.d.ts +8 -0
  61. package/dist/src/utils/resetServices.d.ts.map +1 -0
  62. package/dist/src/utils/resetServices.spec.d.ts +2 -0
  63. package/dist/src/utils/resetServices.spec.d.ts.map +1 -0
  64. package/dist/src/utils/sessionInfoService.d.ts +14 -2
  65. package/dist/src/utils/sessionInfoService.d.ts.map +1 -1
  66. package/dist/src/utils.d.ts +12 -0
  67. package/dist/src/utils.d.ts.map +1 -1
  68. package/dist/tsembed-react.es.js +117 -70
  69. package/dist/tsembed-react.js +116 -69
  70. package/dist/tsembed.es.js +160 -75
  71. package/dist/tsembed.js +159 -74
  72. package/dist/visual-embed-sdk-react-full.d.ts +118 -70
  73. package/dist/visual-embed-sdk-react.d.ts +118 -70
  74. package/dist/visual-embed-sdk.d.ts +118 -70
  75. package/lib/package.json +1 -1
  76. package/lib/src/auth.d.ts.map +1 -1
  77. package/lib/src/auth.js +3 -2
  78. package/lib/src/auth.js.map +1 -1
  79. package/lib/src/authToken.d.ts.map +1 -1
  80. package/lib/src/authToken.js +10 -3
  81. package/lib/src/authToken.js.map +1 -1
  82. package/lib/src/embed/app.d.ts +14 -0
  83. package/lib/src/embed/app.d.ts.map +1 -1
  84. package/lib/src/embed/app.js +4 -1
  85. package/lib/src/embed/app.js.map +1 -1
  86. package/lib/src/embed/app.spec.js +17 -0
  87. package/lib/src/embed/app.spec.js.map +1 -1
  88. package/lib/src/embed/base.d.ts.map +1 -1
  89. package/lib/src/embed/base.js +2 -2
  90. package/lib/src/embed/base.js.map +1 -1
  91. package/lib/src/embed/base.spec.js +24 -0
  92. package/lib/src/embed/base.spec.js.map +1 -1
  93. package/lib/src/embed/embedConfig.d.ts +1 -1
  94. package/lib/src/embed/embedConfig.d.ts.map +1 -1
  95. package/lib/src/embed/embedConfig.js +5 -4
  96. package/lib/src/embed/embedConfig.js.map +1 -1
  97. package/lib/src/embed/liveboard.d.ts +4 -1
  98. package/lib/src/embed/liveboard.d.ts.map +1 -1
  99. package/lib/src/embed/liveboard.js.map +1 -1
  100. package/lib/src/types.d.ts +85 -66
  101. package/lib/src/types.d.ts.map +1 -1
  102. package/lib/src/types.js +78 -59
  103. package/lib/src/types.js.map +1 -1
  104. package/lib/src/utils/resetServices.d.ts +8 -0
  105. package/lib/src/utils/resetServices.d.ts.map +1 -0
  106. package/lib/src/utils/resetServices.js +14 -0
  107. package/lib/src/utils/resetServices.js.map +1 -0
  108. package/lib/src/utils/resetServices.spec.d.ts +2 -0
  109. package/lib/src/utils/resetServices.spec.d.ts.map +1 -0
  110. package/lib/src/utils/resetServices.spec.js +15 -0
  111. package/lib/src/utils/resetServices.spec.js.map +1 -0
  112. package/lib/src/utils/sessionInfoService.d.ts +14 -2
  113. package/lib/src/utils/sessionInfoService.d.ts.map +1 -1
  114. package/lib/src/utils/sessionInfoService.js +16 -2
  115. package/lib/src/utils/sessionInfoService.js.map +1 -1
  116. package/lib/src/utils.d.ts +12 -0
  117. package/lib/src/utils.d.ts.map +1 -1
  118. package/lib/src/utils.js +18 -0
  119. package/lib/src/utils.js.map +1 -1
  120. package/lib/src/utils.spec.js +16 -1
  121. package/lib/src/utils.spec.js.map +1 -1
  122. package/lib/src/visual-embed-sdk.d.ts +118 -70
  123. package/package.json +1 -1
  124. package/src/auth.ts +3 -2
  125. package/src/authToken.ts +11 -3
  126. package/src/embed/app.spec.ts +27 -0
  127. package/src/embed/app.ts +19 -0
  128. package/src/embed/base.spec.ts +26 -0
  129. package/src/embed/base.ts +2 -2
  130. package/src/embed/embedConfig.ts +5 -4
  131. package/src/embed/liveboard.ts +4 -1
  132. package/src/types.ts +89 -70
  133. package/src/utils/resetServices.spec.ts +15 -0
  134. package/src/utils/resetServices.ts +14 -0
  135. package/src/utils/sessionInfoService.ts +17 -2
  136. package/src/utils.spec.ts +21 -0
  137. package/src/utils.ts +21 -0
  138. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
  139. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
  140. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +0 -104
  141. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +0 -1
  142. package/cjs/src/hostEventsTypeMapping.d.ts +0 -2
  143. package/cjs/src/hostEventsTypeMapping.d.ts.map +0 -1
  144. package/cjs/src/hostEventsTypeMapping.js +0 -4
  145. package/cjs/src/hostEventsTypeMapping.js.map +0 -1
  146. package/cjs/src/utils/embedApi/contracts.d.ts +0 -101
  147. package/cjs/src/utils/embedApi/contracts.d.ts.map +0 -1
  148. package/cjs/src/utils/embedApi/contracts.js +0 -17
  149. package/cjs/src/utils/embedApi/contracts.js.map +0 -1
  150. package/cjs/src/utils/embedApi/embedApiClient.d.ts +0 -12
  151. package/cjs/src/utils/embedApi/embedApiClient.d.ts.map +0 -1
  152. package/cjs/src/utils/embedApi/embedApiClient.js +0 -46
  153. package/cjs/src/utils/embedApi/embedApiClient.js.map +0 -1
  154. package/cjs/src/utils/embedApi/processEmbedApi.d.ts +0 -9
  155. package/cjs/src/utils/embedApi/processEmbedApi.d.ts.map +0 -1
  156. package/cjs/src/utils/embedApi/processEmbedApi.js +0 -18
  157. package/cjs/src/utils/embedApi/processEmbedApi.js.map +0 -1
  158. package/dist/index-BBBimG1x.js +0 -7370
  159. package/dist/index-BGnxP5NY.js +0 -7370
  160. package/dist/index-CENLvayL.js +0 -7370
  161. package/dist/index-CR5u7BMC.js +0 -7370
  162. package/dist/index-CbltIawo.js +0 -7370
  163. package/dist/index-CoQfqaHj.js +0 -7370
  164. package/dist/index-CzwzS0P4.js +0 -7370
  165. package/dist/index-D-9WUCUl.js +0 -7370
  166. package/dist/index-DFwi_pV_.js +0 -7370
  167. package/dist/index-DOIjN0N_.js +0 -7370
  168. package/dist/index-DYBx8SuE.js +0 -7370
  169. package/dist/index-DaLHJaLd.js +0 -7370
  170. package/dist/index-DnJX-gN2.js +0 -7370
  171. package/dist/index-IDmSUe93.js +0 -7370
  172. package/dist/index-nWevLycs.js +0 -7370
  173. package/dist/index-vxW97_xb.js +0 -7370
  174. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
  175. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
  176. package/dist/src/hostEventsTypeMapping.d.ts +0 -2
  177. package/dist/src/hostEventsTypeMapping.d.ts.map +0 -1
  178. package/dist/src/utils/embedApi/contracts.d.ts +0 -101
  179. package/dist/src/utils/embedApi/contracts.d.ts.map +0 -1
  180. package/dist/src/utils/embedApi/embedApiClient.d.ts +0 -12
  181. package/dist/src/utils/embedApi/embedApiClient.d.ts.map +0 -1
  182. package/dist/src/utils/embedApi/processEmbedApi.d.ts +0 -9
  183. package/dist/src/utils/embedApi/processEmbedApi.d.ts.map +0 -1
  184. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
  185. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
  186. package/lib/src/embed/searchEmbed-basic-auth.spec.js +0 -101
  187. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +0 -1
  188. package/lib/src/hostEventsTypeMapping.d.ts +0 -2
  189. package/lib/src/hostEventsTypeMapping.d.ts.map +0 -1
  190. package/lib/src/hostEventsTypeMapping.js +0 -2
  191. package/lib/src/hostEventsTypeMapping.js.map +0 -1
  192. package/lib/src/utils/embedApi/contracts.d.ts +0 -101
  193. package/lib/src/utils/embedApi/contracts.d.ts.map +0 -1
  194. package/lib/src/utils/embedApi/contracts.js +0 -14
  195. package/lib/src/utils/embedApi/contracts.js.map +0 -1
  196. package/lib/src/utils/embedApi/embedApiClient.d.ts +0 -12
  197. package/lib/src/utils/embedApi/embedApiClient.d.ts.map +0 -1
  198. package/lib/src/utils/embedApi/embedApiClient.js +0 -42
  199. package/lib/src/utils/embedApi/embedApiClient.js.map +0 -1
  200. package/lib/src/utils/embedApi/processEmbedApi.d.ts +0 -9
  201. package/lib/src/utils/embedApi/processEmbedApi.d.ts.map +0 -1
  202. package/lib/src/utils/embedApi/processEmbedApi.js +0 -14
  203. package/lib/src/utils/embedApi/processEmbedApi.js.map +0 -1
@@ -79,9 +79,10 @@ export async function getPreauthInfo(allowCache = true): Promise<PreauthInfo> {
79
79
  }
80
80
 
81
81
  /**
82
- * Returns the session info object and caches it for future use.
82
+ * Returns the cached session info object and caches it for future use.
83
83
  * Once fetched the session info object is cached and returned from the cache on
84
84
  * subsequent calls.
85
+ * This cache is cleared when inti is called OR resetCachedSessionInfo is called.
85
86
  * @example ```js
86
87
  * const sessionInfo = await getSessionInfo();
87
88
  * console.log(sessionInfo);
@@ -152,9 +153,23 @@ export const getSessionDetails = (sessionInfoResp: any): SessionInfo => {
152
153
  * const sessionInfo = await getSessionInfo();
153
154
  * console.log(sessionInfo);
154
155
  * ```
155
- * @version SDK: 1.28.3 | ThoughtSpot ts7.april.cl, 7.2.1
156
+ * @version SDK: 1.28.3 | ThoughtSpot: *
156
157
  * @returns {void}
157
158
  */
158
159
  export function resetCachedSessionInfo(): void {
159
160
  sessionInfo = null;
160
161
  }
162
+
163
+ /**
164
+ * Resets the cached preauth info object and forces a new fetch on the next call.
165
+ * @example ```js
166
+ * resetCachedPreauthInfo();
167
+ * const preauthInfo = await getPreauthInfo();
168
+ * console.log(preauthInfo);
169
+ * ```
170
+ * @version SDK: 1.28.3 | ThoughtSpot: *
171
+ * @returns {void}
172
+ */
173
+ export function resetCachedPreauthInfo(): void {
174
+ preauthInfo = null;
175
+ }
package/src/utils.spec.ts CHANGED
@@ -11,6 +11,8 @@ import {
11
11
  removeStyleProperties,
12
12
  setStyleProperties,
13
13
  isUndefined,
14
+ storeValueInWindow,
15
+ getValueFromWindow,
14
16
  } from './utils';
15
17
  import { RuntimeFilterOp } from './types';
16
18
 
@@ -272,4 +274,23 @@ describe('unit test for utils', () => {
272
274
  expect(isUndefined(undefined)).toBe(true);
273
275
  expect(isUndefined({})).toBe(false);
274
276
  });
277
+
278
+ describe('getValueFromWindow and storeValueInWindow', () => {
279
+ test('Store and retrieve', () => {
280
+ storeValueInWindow('test', 'testValue');
281
+ expect(getValueFromWindow('test')).toBe('testValue');
282
+ });
283
+
284
+ test('Object should be set if not', () => {
285
+ // eslint-disable-next-line no-underscore-dangle
286
+ (window as any)._tsEmbedSDK = null;
287
+
288
+ storeValueInWindow('test', 'testValue');
289
+ expect(getValueFromWindow('test')).toBe('testValue');
290
+ });
291
+
292
+ test('Return undefined if key is not found', () => {
293
+ expect(getValueFromWindow('notFound')).toBe(undefined);
294
+ });
295
+ });
275
296
  });
package/src/utils.ts CHANGED
@@ -335,3 +335,24 @@ export const getTypeFromValue = (value: any): [string, string] => {
335
335
  }
336
336
  return ['', ''];
337
337
  };
338
+
339
+ const sdkWindowKey = '_tsEmbedSDK' as any;
340
+
341
+ /**
342
+ * Stores a value in the global `window` object under the `_tsEmbedSDK` namespace.
343
+ * @param key - The key under which the value will be stored.
344
+ * @param value - The value to store.
345
+ */
346
+ export const storeValueInWindow = (key: string, value: any) => {
347
+ if (!window[sdkWindowKey]) {
348
+ (window as any)[sdkWindowKey] = {};
349
+ }
350
+ window[sdkWindowKey][key as any] = value;
351
+ };
352
+
353
+ /**
354
+ * Retrieves a stored value from the global `window` object under the `_tsEmbedSDK` namespace.
355
+ * @param key - The key whose value needs to be retrieved.
356
+ * @returns The stored value or `undefined` if the key is not found.
357
+ */
358
+ export const getValueFromWindow = (key: string): any => window?.[sdkWindowKey]?.[key as any];
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=searchEmbed-basic-auth.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEmbed-basic-auth.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/searchEmbed-basic-auth.spec.ts"],"names":[],"mappings":""}
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const search_1 = require("./search");
5
- const baseInstance = tslib_1.__importStar(require("./base"));
6
- const authService = tslib_1.__importStar(require("../utils/authService"));
7
- const authInstance = tslib_1.__importStar(require("../auth"));
8
- const config = tslib_1.__importStar(require("../config"));
9
- const embedConfigInstance = tslib_1.__importStar(require("./embedConfig"));
10
- const index_1 = require("../index");
11
- const types_1 = require("../types");
12
- const test_utils_1 = require("../test/test-utils");
13
- const auth_spec_1 = require("../auth.spec");
14
- const thoughtSpotHost = 'tshost';
15
- (0, index_1.init)({
16
- thoughtSpotHost,
17
- authType: types_1.AuthType.Basic,
18
- username: 'tsadmin',
19
- password: 'admin',
20
- });
21
- describe('Search embed tests when authType is Basic', () => {
22
- /**
23
- *
24
- * @param version
25
- */
26
- function setupVersion(version) {
27
- jest.spyOn(window, 'addEventListener').mockImplementation((event, handler, options) => {
28
- handler({
29
- data: {
30
- type: 'xyz',
31
- },
32
- ports: [3000],
33
- source: null,
34
- });
35
- });
36
- jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
37
- json: () => ({
38
- ...auth_spec_1.mockSessionInfo,
39
- releaseVersion: version,
40
- }),
41
- status: 200,
42
- }));
43
- jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue(version);
44
- }
45
- beforeEach(() => {
46
- document.body.innerHTML = (0, test_utils_1.getDocumentBody)();
47
- jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValue(true);
48
- });
49
- afterEach(() => {
50
- jest.clearAllMocks();
51
- });
52
- test('when releaseVersion is empty', async () => {
53
- setupVersion('');
54
- const mockAlert = spyOn(window, 'alert');
55
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
56
- await searchEmbed.render();
57
- expect(mockAlert).not.toBeCalled();
58
- });
59
- test("when releaseVersion is '7.0.1.cl' ", async () => {
60
- setupVersion('7.0.1.cl');
61
- const mockAlert = jest.spyOn(window, 'alert');
62
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
63
- await searchEmbed.render();
64
- expect(mockAlert).not.toBeCalled();
65
- });
66
- test('when releaseVersion is above 8.4.0.sw', async () => {
67
- setupVersion('8.4.0.sw');
68
- const mockAlert = jest.spyOn(window, 'alert');
69
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
70
- await searchEmbed.render();
71
- expect(mockAlert).not.toBeCalled();
72
- });
73
- test('releaseVersion is above 8.4.0.sw', async () => {
74
- setupVersion('8.8.0.sw');
75
- jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
76
- const mockAlert = jest.spyOn(window, 'alert');
77
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
78
- await searchEmbed.render();
79
- expect(mockAlert).not.toBeCalled();
80
- });
81
- test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is ts7.dec.cl', async () => {
82
- setupVersion('ts7.dec.cl');
83
- jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
84
- jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
85
- suppressSearchEmbedBetaWarning: true,
86
- });
87
- const mockAlert = jest.spyOn(window, 'alert');
88
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
89
- await searchEmbed.render();
90
- expect(mockAlert).not.toBeCalled();
91
- });
92
- test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is 8.4.0.sw', async () => {
93
- setupVersion('8.4.0.sw');
94
- jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
95
- jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
96
- suppressSearchEmbedBetaWarning: true,
97
- });
98
- const mockAlert = jest.spyOn(window, 'alert');
99
- const searchEmbed = new search_1.SearchEmbed((0, test_utils_1.getRootEl)(), {});
100
- await searchEmbed.render();
101
- expect(mockAlert).not.toBeCalled();
102
- });
103
- });
104
- //# sourceMappingURL=searchEmbed-basic-auth.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchEmbed-basic-auth.spec.js","sourceRoot":"","sources":["../../../src/embed/searchEmbed-basic-auth.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hostEventsTypeMapping.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hostEventsTypeMapping.d.ts","sourceRoot":"","sources":["../../src/hostEventsTypeMapping.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const types_1 = require("./types");
4
- //# sourceMappingURL=hostEventsTypeMapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hostEventsTypeMapping.js","sourceRoot":"","sources":["../../src/hostEventsTypeMapping.ts"],"names":[],"mappings":";;AAAA,mCAAoC"}
@@ -1,101 +0,0 @@
1
- import { HostEvent } from '../../types';
2
- export declare enum EmbedApiEvent {
3
- addVizToPinboard = "addVizToPinboard",
4
- saveAnswer = "saveAnswer",
5
- getA3AnalysisColumns = "getA3AnalysisColumns",
6
- getPinboardTabInfo = "getPinboardTabInfo",
7
- getDiscoverabilityStatus = "getDiscoverabilityStatus",
8
- getAvailableEmbedApis = "getAvailableEmbedApis",
9
- getAnswerPageConfig = "getAnswerPageConfig",
10
- getPinboardPageConfig = "getPinboardPageConfig",
11
- embedApiEventNotFound = "embedApiEventNotFound"
12
- }
13
- export type EmbedApiContractBase = {
14
- [EmbedApiEvent.addVizToPinboard]: {
15
- request: {
16
- vizId?: string;
17
- newVizName: string;
18
- newVizDescription?: string;
19
- pinboardId?: string;
20
- tabId?: string;
21
- newPinboardName?: string;
22
- newTabName?: string;
23
- pinFromStore?: boolean;
24
- };
25
- response: {
26
- pinboardId: string extends string ? null : string;
27
- tabId: string;
28
- vizId: string;
29
- errors?: any;
30
- };
31
- };
32
- [EmbedApiEvent.saveAnswer]: {
33
- request: {
34
- name: string;
35
- description: string;
36
- vizId: string;
37
- isDiscoverable?: boolean;
38
- };
39
- response: any;
40
- };
41
- [EmbedApiEvent.getA3AnalysisColumns]: {
42
- request: {
43
- vizId: string;
44
- };
45
- response: {
46
- data?: any;
47
- errors?: any;
48
- };
49
- };
50
- [EmbedApiEvent.getPinboardTabInfo]: {
51
- request: any;
52
- response: any;
53
- };
54
- [EmbedApiEvent.getDiscoverabilityStatus]: {
55
- request: any;
56
- response: {
57
- shouldShowDiscoverability: boolean;
58
- isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
59
- };
60
- };
61
- [EmbedApiEvent.getAvailableEmbedApis]: {
62
- request: any;
63
- response: {
64
- keys: string[];
65
- };
66
- };
67
- [EmbedApiEvent.getAnswerPageConfig]: {
68
- request: {
69
- vizId: string;
70
- };
71
- response: any;
72
- };
73
- [EmbedApiEvent.getPinboardPageConfig]: {
74
- request: any;
75
- response: any;
76
- };
77
- [EmbedApiEvent.embedApiEventNotFound]: {
78
- request: any;
79
- response: any;
80
- };
81
- };
82
- export type EmbedApiRequest<T extends keyof EmbedApiContractBase> = EmbedApiContractBase[T]['request'];
83
- export type EmbedApiResponse<T extends keyof EmbedApiContractBase> = EmbedApiContractBase[T]['response'];
84
- export type EmbedApiArrayResponse<ApiName extends keyof EmbedApiContractBase> = Promise<Array<{
85
- redId?: string;
86
- value?: EmbedApiResponse<ApiName>;
87
- error?: any;
88
- }>>;
89
- export type EmbedApiHostEventMapping = {
90
- [HostEvent.Pin]: EmbedApiEvent.addVizToPinboard;
91
- 'hostEventNotMapped': EmbedApiEvent.embedApiEventNotFound;
92
- };
93
- export type FlattenType<T> = T extends infer R ? {
94
- [K in keyof R]: R[K];
95
- } : never;
96
- export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? FlattenType<EmbedApiRequest<EmbedApiHostEventMapping[HostEventT]>> : any;
97
- export type HostEventResponse<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? {
98
- value?: EmbedApiResponse<EmbedApiHostEventMapping[HostEventT]>;
99
- error?: any;
100
- } : any;
101
- //# sourceMappingURL=contracts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/utils/embedApi/contracts.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EmbedApiEvent = void 0;
4
- const types_1 = require("../../types");
5
- var EmbedApiEvent;
6
- (function (EmbedApiEvent) {
7
- EmbedApiEvent["addVizToPinboard"] = "addVizToPinboard";
8
- EmbedApiEvent["saveAnswer"] = "saveAnswer";
9
- EmbedApiEvent["getA3AnalysisColumns"] = "getA3AnalysisColumns";
10
- EmbedApiEvent["getPinboardTabInfo"] = "getPinboardTabInfo";
11
- EmbedApiEvent["getDiscoverabilityStatus"] = "getDiscoverabilityStatus";
12
- EmbedApiEvent["getAvailableEmbedApis"] = "getAvailableEmbedApis";
13
- EmbedApiEvent["getAnswerPageConfig"] = "getAnswerPageConfig";
14
- EmbedApiEvent["getPinboardPageConfig"] = "getPinboardPageConfig";
15
- EmbedApiEvent["embedApiEventNotFound"] = "embedApiEventNotFound";
16
- })(EmbedApiEvent = exports.EmbedApiEvent || (exports.EmbedApiEvent = {}));
17
- //# sourceMappingURL=contracts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/contracts.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AAExC,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,0CAAyB,CAAA;IACzB,8DAA6C,CAAA;IAC7C,0DAAyC,CAAA;IACzC,sEAAqD,CAAA;IACrD,gEAA+C,CAAA;IAC/C,4DAA2C,CAAA;IAC3C,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;AACjD,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB"}
@@ -1,12 +0,0 @@
1
- import { HostEvent } from '../../types';
2
- import { EmbedApiArrayResponse, EmbedApiContractBase, EmbedApiRequest, HostEventRequest, HostEventResponse } from './contracts';
3
- export declare class HostEventClient {
4
- iFrame: HTMLIFrameElement;
5
- thoughtSpotHost: string;
6
- constructor(iFrame: HTMLIFrameElement, thoughtSpotHost: string);
7
- executeEmbedApi<ApiName extends keyof EmbedApiContractBase>(apiName: ApiName, parameters: EmbedApiRequest<ApiName>): EmbedApiArrayResponse<ApiName>;
8
- hostEventFallback(hostEvent: HostEvent, data: any): Promise<any>;
9
- handlePinEvent(payload: HostEventRequest<HostEvent.Pin>): Promise<HostEventResponse<HostEvent.Pin>>;
10
- executeHostEvent<T extends HostEvent>(hostEvent: HostEvent, payload: HostEventRequest<T>): Promise<HostEventResponse<HostEvent>>;
11
- }
12
- //# sourceMappingURL=embedApiClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embedApiClient.d.ts","sourceRoot":"","sources":["../../../../src/utils/embedApi/embedApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACH,qBAAqB,EACrB,oBAAoB,EACL,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EACtE,MAAM,aAAa,CAAC;AAErB,qBAAa,eAAe;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAE1B,eAAe,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM;IAKxD,eAAe,CAAC,OAAO,SAAS,MAAM,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAC9E,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,GACtC,qBAAqB,CAAC,OAAO,CAAC;IAS1B,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhE,cAAc,CAChB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,GACzC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAmBtC,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC5F,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;CAOxC"}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HostEventClient = void 0;
4
- const types_1 = require("../../types");
5
- const processTrigger_1 = require("../processTrigger");
6
- const contracts_1 = require("./contracts");
7
- class HostEventClient {
8
- constructor(iFrame, thoughtSpotHost) {
9
- this.iFrame = iFrame;
10
- this.thoughtSpotHost = thoughtSpotHost;
11
- }
12
- async executeEmbedApi(apiName, parameters) {
13
- const res = await (0, processTrigger_1.processTrigger)(this.iFrame, types_1.HostEvent.UiPassthrough, this.thoughtSpotHost, {
14
- type: apiName,
15
- parameters,
16
- });
17
- return res;
18
- }
19
- async hostEventFallback(hostEvent, data) {
20
- return (0, processTrigger_1.processTrigger)(this.iFrame, hostEvent, this.thoughtSpotHost, data);
21
- }
22
- async handlePinEvent(payload) {
23
- var _a, _b, _c, _d;
24
- const res = (await this.executeEmbedApi(contracts_1.EmbedApiEvent.addVizToPinboard, payload))
25
- .filter((r) => r.error || r.value)[0];
26
- if (!res) {
27
- const noVizFoundError = `No viz found${payload.vizId ? ` with id ${payload.vizId}` : ''}`;
28
- return { error: noVizFoundError };
29
- }
30
- if (res.error) {
31
- return { error: (_a = res === null || res === void 0 ? void 0 : res.error) === null || _a === void 0 ? void 0 : _a.message };
32
- }
33
- if ((_c = (_b = res.value) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c.message) {
34
- return { error: (_d = res === null || res === void 0 ? void 0 : res.value.errors) === null || _d === void 0 ? void 0 : _d.message };
35
- }
36
- return { value: res.value };
37
- }
38
- async executeHostEvent(hostEvent, payload) {
39
- if (hostEvent === types_1.HostEvent.Pin && typeof payload === 'object') {
40
- return this.handlePinEvent(payload);
41
- }
42
- return this.hostEventFallback(hostEvent, payload);
43
- }
44
- }
45
- exports.HostEventClient = HostEventClient;
46
- //# sourceMappingURL=embedApiClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embedApiClient.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/embedApiClient.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AACxC,sDAAmD;AACnD,2CAIqB;AAErB,MAAa,eAAe;IAK1B,YAAY,MAAyB,EAAE,eAAuB;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,eAAe,CAA6C,OAAgB,EAC9E,UAAoC;QAEpC,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAc,EAAC,IAAI,CAAC,MAAM,EAAE,iBAAS,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE;YACzF,IAAI,EAAE,OAAO;YACb,UAAU;SACb,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAoB,EAAE,IAAS;QACnD,OAAO,IAAA,+BAAc,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,OAAwC;;QAExC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,yBAAa,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;aAC5E,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,EAAE;YACN,MAAM,eAAe,GAAG,eAAe,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1F,OAAO,EAAE,KAAK,EAAE,eAAe,EAAsC,CAAC;SACzE;QAED,IAAI,GAAG,CAAC,KAAK,EAAE;YACX,OAAO,EAAE,KAAK,EAAE,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,0CAAE,OAAO,EAAE,CAAC;SACzC;QACD,IAAI,MAAA,MAAA,GAAG,CAAC,KAAK,0CAAE,MAAM,0CAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,KAAK,EAAE,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;SAChD;QAED,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAsB,SAAoB,EAAE,OAA4B;QAE1F,IAAI,SAAS,KAAK,iBAAS,CAAC,GAAG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC5D,OAAO,IAAI,CAAC,cAAc,CAAC,OAA0C,CAAC,CAAC;SAC1E;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAtDD,0CAsDC"}
@@ -1,9 +0,0 @@
1
- import { HostEvent } from '../../types';
2
- /**
3
- * Check if the event is an embed API event.
4
- * @param messageType
5
- * @param payload
6
- * @returns boolean
7
- */
8
- export declare function isEmbedApiEvent(messageType: HostEvent, payload: any): boolean;
9
- //# sourceMappingURL=processEmbedApi.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processEmbedApi.d.ts","sourceRoot":"","sources":["../../../../src/utils/embedApi/processEmbedApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAMpD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAK7E"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmbedApiEvent = void 0;
4
- const types_1 = require("../../types");
5
- /**
6
- * Check if the event is an embed API event.
7
- * @param messageType
8
- * @param payload
9
- * @returns boolean
10
- */
11
- function isEmbedApiEvent(messageType, payload) {
12
- if (messageType === types_1.HostEvent.Pin && typeof payload === 'object') {
13
- return true;
14
- }
15
- return false;
16
- }
17
- exports.isEmbedApiEvent = isEmbedApiEvent;
18
- //# sourceMappingURL=processEmbedApi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processEmbedApi.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/processEmbedApi.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAMpD;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,WAAsB,EAAE,OAAY;IAChE,IAAI,WAAW,KAAK,iBAAS,CAAC,GAAG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC9D,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AALD,0CAKC"}