@thoughtspot/visual-embed-sdk 1.36.0 → 1.36.2

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 (164) 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/css-variables.d.ts +8 -0
  6. package/cjs/src/css-variables.d.ts.map +1 -1
  7. package/cjs/src/embed/base.d.ts.map +1 -1
  8. package/cjs/src/embed/base.js +2 -2
  9. package/cjs/src/embed/base.js.map +1 -1
  10. package/cjs/src/embed/base.spec.js +24 -0
  11. package/cjs/src/embed/base.spec.js.map +1 -1
  12. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  13. package/cjs/src/embed/hostEventClient/host-event-client.js +8 -3
  14. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  15. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +54 -0
  16. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  17. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  18. package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  19. package/cjs/src/embed/searchEmbed-basic-auth.spec.js +104 -0
  20. package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  21. package/cjs/src/hostEventsTypeMapping.d.ts +2 -0
  22. package/cjs/src/hostEventsTypeMapping.d.ts.map +1 -0
  23. package/cjs/src/hostEventsTypeMapping.js +4 -0
  24. package/cjs/src/hostEventsTypeMapping.js.map +1 -0
  25. package/cjs/src/types.d.ts +72 -8
  26. package/cjs/src/types.d.ts.map +1 -1
  27. package/cjs/src/types.js +72 -8
  28. package/cjs/src/types.js.map +1 -1
  29. package/cjs/src/utils/embedApi/contracts.d.ts +101 -0
  30. package/cjs/src/utils/embedApi/contracts.d.ts.map +1 -0
  31. package/cjs/src/utils/embedApi/contracts.js +17 -0
  32. package/cjs/src/utils/embedApi/contracts.js.map +1 -0
  33. package/cjs/src/utils/embedApi/embedApiClient.d.ts +12 -0
  34. package/cjs/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  35. package/cjs/src/utils/embedApi/embedApiClient.js +46 -0
  36. package/cjs/src/utils/embedApi/embedApiClient.js.map +1 -0
  37. package/cjs/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  38. package/cjs/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  39. package/cjs/src/utils/embedApi/processEmbedApi.js +18 -0
  40. package/cjs/src/utils/embedApi/processEmbedApi.js.map +1 -0
  41. package/cjs/src/utils/resetServices.d.ts +8 -0
  42. package/cjs/src/utils/resetServices.d.ts.map +1 -0
  43. package/cjs/src/utils/resetServices.js +18 -0
  44. package/cjs/src/utils/resetServices.js.map +1 -0
  45. package/cjs/src/utils/resetServices.spec.d.ts +2 -0
  46. package/cjs/src/utils/resetServices.spec.d.ts.map +1 -0
  47. package/cjs/src/utils/resetServices.spec.js +18 -0
  48. package/cjs/src/utils/resetServices.spec.js.map +1 -0
  49. package/cjs/src/utils/sessionInfoService.d.ts +14 -2
  50. package/cjs/src/utils/sessionInfoService.d.ts.map +1 -1
  51. package/cjs/src/utils/sessionInfoService.js +18 -3
  52. package/cjs/src/utils/sessionInfoService.js.map +1 -1
  53. package/dist/{index-V2oBuwy6.js → index-B3hd6DTM.js} +1 -1
  54. package/dist/index-BBBimG1x.js +7370 -0
  55. package/dist/index-BGnxP5NY.js +7370 -0
  56. package/dist/index-CENLvayL.js +7370 -0
  57. package/dist/index-CR5u7BMC.js +7370 -0
  58. package/dist/index-CbltIawo.js +7370 -0
  59. package/dist/index-CoQfqaHj.js +7370 -0
  60. package/dist/index-CzwzS0P4.js +7370 -0
  61. package/dist/index-D-9WUCUl.js +7370 -0
  62. package/dist/index-DFwi_pV_.js +7370 -0
  63. package/dist/index-DOIjN0N_.js +7370 -0
  64. package/dist/index-DYBx8SuE.js +7370 -0
  65. package/dist/index-DaLHJaLd.js +7370 -0
  66. package/dist/index-DnJX-gN2.js +7370 -0
  67. package/dist/index-DpuhnTj2.js +7370 -0
  68. package/dist/index-IDmSUe93.js +7370 -0
  69. package/dist/index-nWevLycs.js +7370 -0
  70. package/dist/index-vxW97_xb.js +7370 -0
  71. package/dist/src/auth.d.ts.map +1 -1
  72. package/dist/src/css-variables.d.ts +8 -0
  73. package/dist/src/css-variables.d.ts.map +1 -1
  74. package/dist/src/embed/base.d.ts.map +1 -1
  75. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  76. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  77. package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  78. package/dist/src/hostEventsTypeMapping.d.ts +2 -0
  79. package/dist/src/hostEventsTypeMapping.d.ts.map +1 -0
  80. package/dist/src/types.d.ts +72 -8
  81. package/dist/src/types.d.ts.map +1 -1
  82. package/dist/src/utils/embedApi/contracts.d.ts +101 -0
  83. package/dist/src/utils/embedApi/contracts.d.ts.map +1 -0
  84. package/dist/src/utils/embedApi/embedApiClient.d.ts +12 -0
  85. package/dist/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  86. package/dist/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  87. package/dist/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  88. package/dist/src/utils/resetServices.d.ts +8 -0
  89. package/dist/src/utils/resetServices.d.ts.map +1 -0
  90. package/dist/src/utils/resetServices.spec.d.ts +2 -0
  91. package/dist/src/utils/resetServices.spec.d.ts.map +1 -0
  92. package/dist/src/utils/sessionInfoService.d.ts +14 -2
  93. package/dist/src/utils/sessionInfoService.d.ts.map +1 -1
  94. package/dist/tsembed-react.es.js +85 -15
  95. package/dist/tsembed-react.js +84 -14
  96. package/dist/tsembed.es.js +126 -18
  97. package/dist/tsembed.js +125 -17
  98. package/dist/visual-embed-sdk-react-full.d.ts +94 -10
  99. package/dist/visual-embed-sdk-react.d.ts +94 -10
  100. package/dist/visual-embed-sdk.d.ts +94 -10
  101. package/lib/package.json +1 -1
  102. package/lib/src/auth.d.ts.map +1 -1
  103. package/lib/src/auth.js +3 -2
  104. package/lib/src/auth.js.map +1 -1
  105. package/lib/src/css-variables.d.ts +8 -0
  106. package/lib/src/css-variables.d.ts.map +1 -1
  107. package/lib/src/embed/base.d.ts.map +1 -1
  108. package/lib/src/embed/base.js +2 -2
  109. package/lib/src/embed/base.js.map +1 -1
  110. package/lib/src/embed/base.spec.js +24 -0
  111. package/lib/src/embed/base.spec.js.map +1 -1
  112. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  113. package/lib/src/embed/hostEventClient/host-event-client.js +8 -3
  114. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  115. package/lib/src/embed/hostEventClient/host-event-client.spec.js +54 -0
  116. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  117. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
  118. package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
  119. package/lib/src/embed/searchEmbed-basic-auth.spec.js +101 -0
  120. package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
  121. package/lib/src/hostEventsTypeMapping.d.ts +2 -0
  122. package/lib/src/hostEventsTypeMapping.d.ts.map +1 -0
  123. package/lib/src/hostEventsTypeMapping.js +2 -0
  124. package/lib/src/hostEventsTypeMapping.js.map +1 -0
  125. package/lib/src/types.d.ts +72 -8
  126. package/lib/src/types.d.ts.map +1 -1
  127. package/lib/src/types.js +72 -8
  128. package/lib/src/types.js.map +1 -1
  129. package/lib/src/utils/embedApi/contracts.d.ts +101 -0
  130. package/lib/src/utils/embedApi/contracts.d.ts.map +1 -0
  131. package/lib/src/utils/embedApi/contracts.js +14 -0
  132. package/lib/src/utils/embedApi/contracts.js.map +1 -0
  133. package/lib/src/utils/embedApi/embedApiClient.d.ts +12 -0
  134. package/lib/src/utils/embedApi/embedApiClient.d.ts.map +1 -0
  135. package/lib/src/utils/embedApi/embedApiClient.js +42 -0
  136. package/lib/src/utils/embedApi/embedApiClient.js.map +1 -0
  137. package/lib/src/utils/embedApi/processEmbedApi.d.ts +9 -0
  138. package/lib/src/utils/embedApi/processEmbedApi.d.ts.map +1 -0
  139. package/lib/src/utils/embedApi/processEmbedApi.js +14 -0
  140. package/lib/src/utils/embedApi/processEmbedApi.js.map +1 -0
  141. package/lib/src/utils/resetServices.d.ts +8 -0
  142. package/lib/src/utils/resetServices.d.ts.map +1 -0
  143. package/lib/src/utils/resetServices.js +14 -0
  144. package/lib/src/utils/resetServices.js.map +1 -0
  145. package/lib/src/utils/resetServices.spec.d.ts +2 -0
  146. package/lib/src/utils/resetServices.spec.d.ts.map +1 -0
  147. package/lib/src/utils/resetServices.spec.js +15 -0
  148. package/lib/src/utils/resetServices.spec.js.map +1 -0
  149. package/lib/src/utils/sessionInfoService.d.ts +14 -2
  150. package/lib/src/utils/sessionInfoService.d.ts.map +1 -1
  151. package/lib/src/utils/sessionInfoService.js +16 -2
  152. package/lib/src/utils/sessionInfoService.js.map +1 -1
  153. package/lib/src/visual-embed-sdk.d.ts +94 -10
  154. package/package.json +1 -1
  155. package/src/auth.ts +3 -2
  156. package/src/css-variables.ts +10 -0
  157. package/src/embed/base.spec.ts +26 -0
  158. package/src/embed/base.ts +2 -2
  159. package/src/embed/hostEventClient/host-event-client.spec.ts +61 -0
  160. package/src/embed/hostEventClient/host-event-client.ts +8 -3
  161. package/src/types.ts +72 -8
  162. package/src/utils/resetServices.spec.ts +15 -0
  163. package/src/utils/resetServices.ts +14 -0
  164. package/src/utils/sessionInfoService.ts +17 -2
@@ -0,0 +1,101 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/utils/embedApi/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { HostEvent } from '../../types';
2
+ export var EmbedApiEvent;
3
+ (function (EmbedApiEvent) {
4
+ EmbedApiEvent["addVizToPinboard"] = "addVizToPinboard";
5
+ EmbedApiEvent["saveAnswer"] = "saveAnswer";
6
+ EmbedApiEvent["getA3AnalysisColumns"] = "getA3AnalysisColumns";
7
+ EmbedApiEvent["getPinboardTabInfo"] = "getPinboardTabInfo";
8
+ EmbedApiEvent["getDiscoverabilityStatus"] = "getDiscoverabilityStatus";
9
+ EmbedApiEvent["getAvailableEmbedApis"] = "getAvailableEmbedApis";
10
+ EmbedApiEvent["getAnswerPageConfig"] = "getAnswerPageConfig";
11
+ EmbedApiEvent["getPinboardPageConfig"] = "getPinboardPageConfig";
12
+ EmbedApiEvent["embedApiEventNotFound"] = "embedApiEventNotFound";
13
+ })(EmbedApiEvent || (EmbedApiEvent = {}));
14
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,CAAN,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,KAAb,aAAa,QAUxB"}
@@ -0,0 +1,12 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,42 @@
1
+ import { HostEvent } from '../../types';
2
+ import { processTrigger } from '../processTrigger';
3
+ import { EmbedApiEvent, } from './contracts';
4
+ export class HostEventClient {
5
+ constructor(iFrame, thoughtSpotHost) {
6
+ this.iFrame = iFrame;
7
+ this.thoughtSpotHost = thoughtSpotHost;
8
+ }
9
+ async executeEmbedApi(apiName, parameters) {
10
+ const res = await processTrigger(this.iFrame, HostEvent.UiPassthrough, this.thoughtSpotHost, {
11
+ type: apiName,
12
+ parameters,
13
+ });
14
+ return res;
15
+ }
16
+ async hostEventFallback(hostEvent, data) {
17
+ return processTrigger(this.iFrame, hostEvent, this.thoughtSpotHost, data);
18
+ }
19
+ async handlePinEvent(payload) {
20
+ var _a, _b, _c, _d;
21
+ const res = (await this.executeEmbedApi(EmbedApiEvent.addVizToPinboard, payload))
22
+ .filter((r) => r.error || r.value)[0];
23
+ if (!res) {
24
+ const noVizFoundError = `No viz found${payload.vizId ? ` with id ${payload.vizId}` : ''}`;
25
+ return { error: noVizFoundError };
26
+ }
27
+ if (res.error) {
28
+ return { error: (_a = res === null || res === void 0 ? void 0 : res.error) === null || _a === void 0 ? void 0 : _a.message };
29
+ }
30
+ if ((_c = (_b = res.value) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c.message) {
31
+ return { error: (_d = res === null || res === void 0 ? void 0 : res.value.errors) === null || _d === void 0 ? void 0 : _d.message };
32
+ }
33
+ return { value: res.value };
34
+ }
35
+ async executeHostEvent(hostEvent, payload) {
36
+ if (hostEvent === HostEvent.Pin && typeof payload === 'object') {
37
+ return this.handlePinEvent(payload);
38
+ }
39
+ return this.hostEventFallback(hostEvent, payload);
40
+ }
41
+ }
42
+ //# sourceMappingURL=embedApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedApiClient.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/embedApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAGH,aAAa,GAChB,MAAM,aAAa,CAAC;AAErB,MAAM,OAAO,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,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,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,cAAc,CAAC,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,aAAa,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,SAAS,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"}
@@ -0,0 +1,9 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
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 function isEmbedApiEvent(messageType, payload) {
9
+ if (messageType === HostEvent.Pin && typeof payload === 'object') {
10
+ return true;
11
+ }
12
+ return false;
13
+ }
14
+ //# sourceMappingURL=processEmbedApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processEmbedApi.js","sourceRoot":"","sources":["../../../../src/utils/embedApi/processEmbedApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAMpD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,WAAsB,EAAE,OAAY;IAChE,IAAI,WAAW,KAAK,SAAS,CAAC,GAAG,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC9D,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This function resets all the services that are cached in the SDK.
3
+ * This is to be called when the user logs out of the application and also
4
+ * when init is called again.
5
+ * @version SDK: 1.30.2 | ThoughtSpot: *
6
+ */
7
+ export declare function resetAllCachedServices(): void;
8
+ //# sourceMappingURL=resetServices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resetServices.d.ts","sourceRoot":"","sources":["../../../src/utils/resetServices.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C"}
@@ -0,0 +1,14 @@
1
+ import { resetCachedAuthToken } from '../authToken';
2
+ import { resetCachedPreauthInfo, resetCachedSessionInfo } from './sessionInfoService';
3
+ /**
4
+ * This function resets all the services that are cached in the SDK.
5
+ * This is to be called when the user logs out of the application and also
6
+ * when init is called again.
7
+ * @version SDK: 1.30.2 | ThoughtSpot: *
8
+ */
9
+ export function resetAllCachedServices() {
10
+ resetCachedAuthToken();
11
+ resetCachedSessionInfo();
12
+ resetCachedPreauthInfo();
13
+ }
14
+ //# sourceMappingURL=resetServices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resetServices.js","sourceRoot":"","sources":["../../../src/utils/resetServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB;IAClC,oBAAoB,EAAE,CAAC;IACvB,sBAAsB,EAAE,CAAC;IACzB,sBAAsB,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resetServices.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resetServices.spec.d.ts","sourceRoot":"","sources":["../../../src/utils/resetServices.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import * as authToken from '../authToken';
2
+ import { resetAllCachedServices } from './resetServices';
3
+ import * as sessionInfoService from './sessionInfoService';
4
+ describe('resetAllServices', () => {
5
+ it('should reset all services', () => {
6
+ const resetCachedAuthTokenSpy = jest.spyOn(authToken, 'resetCachedAuthToken');
7
+ const resetCachedSessionInfoSpy = jest.spyOn(sessionInfoService, 'resetCachedSessionInfo');
8
+ const resetCachedPreauthInfoSpy = jest.spyOn(sessionInfoService, 'resetCachedPreauthInfo');
9
+ resetAllCachedServices();
10
+ expect(resetCachedAuthTokenSpy).toHaveBeenCalled();
11
+ expect(resetCachedSessionInfoSpy).toHaveBeenCalled();
12
+ expect(resetCachedPreauthInfoSpy).toHaveBeenCalled();
13
+ });
14
+ });
15
+ //# sourceMappingURL=resetServices.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resetServices.spec.js","sourceRoot":"","sources":["../../../src/utils/resetServices.spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAE3D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,uBAAuB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC9E,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QAC3F,MAAM,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;QAC3F,sBAAsB,EAAE,CAAC;QACzB,MAAM,CAAC,uBAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnD,MAAM,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,CAAC,yBAAyB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -40,9 +40,10 @@ export declare const formatPreauthInfo: (preauthInfoResp: any) => Promise<Preaut
40
40
  */
41
41
  export declare function getPreauthInfo(allowCache?: boolean): Promise<PreauthInfo>;
42
42
  /**
43
- * Returns the session info object and caches it for future use.
43
+ * Returns the cached session info object and caches it for future use.
44
44
  * Once fetched the session info object is cached and returned from the cache on
45
45
  * subsequent calls.
46
+ * This cache is cleared when inti is called OR resetCachedSessionInfo is called.
46
47
  * @example ```js
47
48
  * const sessionInfo = await getSessionInfo();
48
49
  * console.log(sessionInfo);
@@ -85,8 +86,19 @@ export declare const getSessionDetails: (sessionInfoResp: any) => SessionInfo;
85
86
  * const sessionInfo = await getSessionInfo();
86
87
  * console.log(sessionInfo);
87
88
  * ```
88
- * @version SDK: 1.28.3 | ThoughtSpot ts7.april.cl, 7.2.1
89
+ * @version SDK: 1.28.3 | ThoughtSpot: *
89
90
  * @returns {void}
90
91
  */
91
92
  export declare function resetCachedSessionInfo(): void;
93
+ /**
94
+ * Resets the cached preauth info object and forces a new fetch on the next call.
95
+ * @example ```js
96
+ * resetCachedPreauthInfo();
97
+ * const preauthInfo = await getPreauthInfo();
98
+ * console.log(preauthInfo);
99
+ * ```
100
+ * @version SDK: 1.28.3 | ThoughtSpot: *
101
+ * @returns {void}
102
+ */
103
+ export declare function resetCachedPreauthInfo(): void;
92
104
  //# sourceMappingURL=sessionInfoService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionInfoService.d.ts","sourceRoot":"","sources":["../../../src/utils/sessionInfoService.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAKF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,oBAA2B,GAAG,KAAG,QAAQ,WAAW,CAgBjF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,UAAU,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAa5E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAQ3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,oBAAqB,GAAG,KAAG,WAexD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
1
+ {"version":3,"file":"sessionInfoService.d.ts","sourceRoot":"","sources":["../../../src/utils/sessionInfoService.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB,CAAC;AAKF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,oBAA2B,GAAG,KAAG,QAAQ,WAAW,CAgBjF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,UAAU,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAa5E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAQ3D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,GAAG,IAAI,CAEzD;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,oBAAqB,GAAG,KAAG,WAexD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
@@ -58,9 +58,10 @@ export async function getPreauthInfo(allowCache = true) {
58
58
  return preauthInfo;
59
59
  }
60
60
  /**
61
- * Returns the session info object and caches it for future use.
61
+ * Returns the cached session info object and caches it for future use.
62
62
  * Once fetched the session info object is cached and returned from the cache on
63
63
  * subsequent calls.
64
+ * This cache is cleared when inti is called OR resetCachedSessionInfo is called.
64
65
  * @example ```js
65
66
  * const sessionInfo = await getSessionInfo();
66
67
  * console.log(sessionInfo);
@@ -128,10 +129,23 @@ export const getSessionDetails = (sessionInfoResp) => {
128
129
  * const sessionInfo = await getSessionInfo();
129
130
  * console.log(sessionInfo);
130
131
  * ```
131
- * @version SDK: 1.28.3 | ThoughtSpot ts7.april.cl, 7.2.1
132
+ * @version SDK: 1.28.3 | ThoughtSpot: *
132
133
  * @returns {void}
133
134
  */
134
135
  export function resetCachedSessionInfo() {
135
136
  sessionInfo = null;
136
137
  }
138
+ /**
139
+ * Resets the cached preauth info object and forces a new fetch on the next call.
140
+ * @example ```js
141
+ * resetCachedPreauthInfo();
142
+ * const preauthInfo = await getPreauthInfo();
143
+ * console.log(preauthInfo);
144
+ * ```
145
+ * @version SDK: 1.28.3 | ThoughtSpot: *
146
+ * @returns {void}
147
+ */
148
+ export function resetCachedPreauthInfo() {
149
+ preauthInfo = null;
150
+ }
137
151
  //# sourceMappingURL=sessionInfoService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionInfoService.js","sourceRoot":"","sources":["../../../src/utils/sessionInfoService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionInfoService.js","sourceRoot":"","sources":["../../../src/utils/sessionInfoService.ts"],"names":[],"mappings":"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"}
@@ -1888,9 +1888,10 @@ declare module '@thoughtspot/visual-embed-sdk/utils/sessionInfoService' {
1888
1888
  */
1889
1889
  export function getPreauthInfo(allowCache?: boolean): Promise<PreauthInfo>;
1890
1890
  /**
1891
- * Returns the session info object and caches it for future use.
1891
+ * Returns the cached session info object and caches it for future use.
1892
1892
  * Once fetched the session info object is cached and returned from the cache on
1893
1893
  * subsequent calls.
1894
+ * This cache is cleared when inti is called OR resetCachedSessionInfo is called.
1894
1895
  * @example ```js
1895
1896
  * const sessionInfo = await getSessionInfo();
1896
1897
  * console.log(sessionInfo);
@@ -1933,10 +1934,21 @@ declare module '@thoughtspot/visual-embed-sdk/utils/sessionInfoService' {
1933
1934
  * const sessionInfo = await getSessionInfo();
1934
1935
  * console.log(sessionInfo);
1935
1936
  * ```
1936
- * @version SDK: 1.28.3 | ThoughtSpot ts7.april.cl, 7.2.1
1937
+ * @version SDK: 1.28.3 | ThoughtSpot: *
1937
1938
  * @returns {void}
1938
1939
  */
1939
1940
  export function resetCachedSessionInfo(): void;
1941
+ /**
1942
+ * Resets the cached preauth info object and forces a new fetch on the next call.
1943
+ * @example ```js
1944
+ * resetCachedPreauthInfo();
1945
+ * const preauthInfo = await getPreauthInfo();
1946
+ * console.log(preauthInfo);
1947
+ * ```
1948
+ * @version SDK: 1.28.3 | ThoughtSpot: *
1949
+ * @returns {void}
1950
+ */
1951
+ export function resetCachedPreauthInfo(): void;
1940
1952
  }
1941
1953
 
1942
1954
  declare module '@thoughtspot/visual-embed-sdk/types' {
@@ -4505,16 +4517,63 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
4505
4517
  */
4506
4518
  getExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard",
4507
4519
  /**
4508
- * Trigger the **Pin** action on an embedded object
4509
- * @param - Liveboard embed takes the `vizId` as a
4510
- * key. Can be left undefined when embedding Search, full app, or
4511
- * a visualization.
4520
+ * Trigger **Pin** action on an embedded object.
4521
+ * If no parameters are defined, the pin action is triggered
4522
+ * for the Answer that the user is currently on
4523
+ * and a modal opens for Liveboard selection.
4524
+ * To add an Answer or visualization to a Liveboard programmatically without
4525
+ * showing requiring additional user input via *Pin to Liveboard* modal, define
4526
+ * the following parameters:
4527
+ *
4528
+ * @param
4529
+ * `vizId`- GUID of the saved Answer or visualization to pin to a Liveboard.
4530
+ * Optional when pinning a new chart or table generated from a Search query.
4531
+ * @param
4532
+ * `liveboardID` - GUID of the Liveboard to pin an Answer. If there is no Liveboard,
4533
+ * specify the `newLiveboardName` parameter to create a new Liveboard.
4534
+ * @param
4535
+ * `tabId` - GUID of the Liveboard tab. Adds the Answer to the Liveboard tab
4536
+ * specified in the code.
4537
+ * @param
4538
+ * `newVizName` - Name string for the Answer or visualization. If defined,
4539
+ * this parameter adds a new visualization object or creates a copy of the
4540
+ * Answer or visualization specified in `vizId`.
4541
+ * Required attribute.
4542
+ * @param
4543
+ * `newLiveboardName` - Name string for the Liveboard.
4544
+ * Creates a new Liveboard object with the specified name.
4545
+ * @param
4546
+ * `newTabName` - Name of the tab. Adds a new tab Liveboard specified
4547
+ * in the code.
4548
+ *
4512
4549
  * @example
4513
4550
  * ```js
4514
- * appEmbed.trigger(HostEvent.Pin)
4551
+ * const pinResponse = await appEmbed.trigger(HostEvent.Pin, {
4552
+ * vizId: "123",
4553
+ * newVizName: "Sales by region",
4554
+ * liveboardId: "123",
4555
+ * tabId: "123"
4556
+ * });
4515
4557
  * ```
4558
+ * @example
4516
4559
  * ```js
4517
- * searchEmbed.trigger(HostEvent.Pin)
4560
+ * const pinResponse = await appEmbed.trigger(HostEvent.Pin, {
4561
+ * newVizName: "Total sales of Jackets",
4562
+ * liveboardId: "123"
4563
+ * });
4564
+ * ```
4565
+ *
4566
+ * @example
4567
+ * ```js
4568
+ * const pinResponse = await searchEmbed.trigger(HostEvent.Pin, {
4569
+ * newVizName: "Sales by state",
4570
+ * newLiveboardName: "Sales",
4571
+ * newTabName: "Products"
4572
+ * });
4573
+ * ```
4574
+ * @example
4575
+ * ```js
4576
+ * appEmbed.trigger(HostEvent.Pin)
4518
4577
  * ```
4519
4578
  * @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
4520
4579
  */
@@ -5170,8 +5229,25 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
5170
5229
  */
5171
5230
  InfoSuccess = "InfoSuccess",
5172
5231
  /**
5173
- * Triggers the action to get the current view of the liveboard
5174
- * @version SDK: 1.36.0 | Thoughtspot: 10.6.0.cl
5232
+ * Trigger the save action for an Answer.
5233
+ * To programmatically save an answer without opening the
5234
+ * *Describe your Answer* modal, define the `name` and `description`
5235
+ * properties.
5236
+ * If no parameters are specified, the save action is
5237
+ * triggered with a modal to prompt users to
5238
+ * add a name and description for the Answer.
5239
+ * @param - optional attributes to set Answer properties.
5240
+ * `name` - Name string for the Answer.
5241
+ * `description` - Description text for the Answer.
5242
+ *
5243
+ * @example
5244
+ * ```js
5245
+ * const saveAnswerResponse = await searchEmbed.trigger(HostEvent.SaveAnswer, {
5246
+ * name: "Sales by states",
5247
+ * description: "Total sales by states in MidWest"
5248
+ * });
5249
+ * ```
5250
+ * @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
5175
5251
  */
5176
5252
  SaveAnswer = "saveAnswer",
5177
5253
  /**
@@ -6756,6 +6832,14 @@ declare module '@thoughtspot/visual-embed-sdk/css-variables' {
6756
6832
  * panel.
6757
6833
  */
6758
6834
  '--ts-var-search-auto-complete-subtext-font-color'?: string;
6835
+ /**
6836
+ * Background color of the input box in the Spotter page.
6837
+ */
6838
+ '--ts-var-spotter-input-background'?: string;
6839
+ /**
6840
+ * Background color of the previously asked prompt message in the Spotter page.
6841
+ */
6842
+ '--ts-var-spotter-prompt-background': string;
6759
6843
  /**
6760
6844
  * Background color of the data panel.
6761
6845
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.36.0",
3
+ "version": "1.36.2",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
package/src/auth.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import EventEmitter from 'eventemitter3';
2
- import { getAuthenticationToken, resetCachedAuthToken } from './authToken';
2
+ import { getAuthenticationToken } from './authToken';
3
3
  import { getEmbedConfig } from './embed/embedConfig';
4
4
  import { initMixpanel } from './mixpanel-service';
5
5
  import {
@@ -17,6 +17,7 @@ import { isActiveService } from './utils/authService/tokenizedAuthService';
17
17
  import { logger } from './utils/logger';
18
18
  import { getSessionInfo, getPreauthInfo } from './utils/sessionInfoService';
19
19
  import { ERROR_MESSAGE } from './errors';
20
+ import { resetAllCachedServices } from './utils/resetServices';
20
21
 
21
22
  // eslint-disable-next-line import/no-mutable-exports
22
23
  export let loggedInStatus = false;
@@ -470,7 +471,7 @@ export const doOIDCAuth = async (embedConfig: EmbedConfig) => {
470
471
  export const logout = async (embedConfig: EmbedConfig): Promise<boolean> => {
471
472
  const { thoughtSpotHost } = embedConfig;
472
473
  await fetchLogoutService(thoughtSpotHost);
473
- resetCachedAuthToken();
474
+ resetAllCachedServices();
474
475
  const thoughtspotIframes = document.querySelectorAll("[data-ts-iframe='true']");
475
476
  if (thoughtspotIframes?.length) {
476
477
  thoughtspotIframes.forEach((el) => {
@@ -111,6 +111,16 @@ export interface CustomCssVariables {
111
111
  */
112
112
  '--ts-var-search-auto-complete-subtext-font-color'?: string;
113
113
 
114
+ /**
115
+ * Background color of the input box in the Spotter page.
116
+ */
117
+ '--ts-var-spotter-input-background'?: string;
118
+
119
+ /**
120
+ * Background color of the previously asked prompt message in the Spotter page.
121
+ */
122
+ '--ts-var-spotter-prompt-background': string;
123
+
114
124
  /**
115
125
  * Background color of the data panel.
116
126
  */
@@ -4,10 +4,12 @@ import EventEmitter from 'eventemitter3';
4
4
  import { EmbedConfig } from '../index';
5
5
  import * as auth from '../auth';
6
6
  import * as authService from '../utils/authService/authService';
7
+ import * as tokenAuthServices from '../utils/authService/tokenizedAuthService';
7
8
  import * as authTokenService from '../authToken';
8
9
  import * as index from '../index';
9
10
  import * as base from './base';
10
11
  import * as embedConfigInstance from './embedConfig';
12
+ import * as resetService from '../utils/resetServices';
11
13
 
12
14
  import {
13
15
  executeAfterWait,
@@ -413,6 +415,19 @@ describe('Base TS Embed', () => {
413
415
  expect(embedConfigInstance.getEmbedConfig().autoLogin).toBe(false);
414
416
  });
415
417
 
418
+ test('Logout method should reset caches', async () => {
419
+ jest.spyOn(tokenAuthServices, 'fetchLogoutService').mockResolvedValueOnce({});
420
+ jest.spyOn(resetService, 'resetAllCachedServices');
421
+ index.init({
422
+ thoughtSpotHost,
423
+ authType: index.AuthType.None,
424
+ autoLogin: true,
425
+ });
426
+ expect(resetService.resetAllCachedServices).toHaveBeenCalledTimes(1);
427
+ await index.logout();
428
+ expect(resetService.resetAllCachedServices).toHaveBeenCalledTimes(2);
429
+ });
430
+
416
431
  test('config sanity, no ts host', () => {
417
432
  expect(() => {
418
433
  index.init({
@@ -481,3 +496,14 @@ describe('Base without init', () => {
481
496
  expect(logger.error).toHaveBeenCalledTimes(4);
482
497
  });
483
498
  });
499
+
500
+ describe('Init tests', () => {
501
+ test('clear caches on init', () => {
502
+ jest.spyOn(resetService, 'resetAllCachedServices');
503
+ base.init({
504
+ thoughtSpotHost,
505
+ authType: index.AuthType.None,
506
+ });
507
+ expect(resetService.resetAllCachedServices).toBeCalled();
508
+ });
509
+ });