@thoughtspot/visual-embed-sdk 1.35.12 → 1.35.14

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 (132) hide show
  1. package/cjs/package.json +1 -2
  2. package/cjs/src/auth.d.ts +2 -1
  3. package/cjs/src/auth.d.ts.map +1 -1
  4. package/cjs/src/auth.js +3 -1
  5. package/cjs/src/auth.js.map +1 -1
  6. package/cjs/src/embed/app.d.ts.map +1 -1
  7. package/cjs/src/embed/app.js +2 -0
  8. package/cjs/src/embed/app.js.map +1 -1
  9. package/cjs/src/embed/conversation.d.ts +44 -0
  10. package/cjs/src/embed/conversation.d.ts.map +1 -1
  11. package/cjs/src/embed/conversation.js +10 -1
  12. package/cjs/src/embed/conversation.js.map +1 -1
  13. package/cjs/src/embed/conversation.spec.js +36 -0
  14. package/cjs/src/embed/conversation.spec.js.map +1 -1
  15. package/cjs/src/embed/hostEventClient/contracts.d.ts +3 -3
  16. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  17. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  18. package/cjs/src/embed/hostEventClient/host-event-client.js +6 -1
  19. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  21. package/cjs/src/embed/liveboard.js +8 -2
  22. package/cjs/src/embed/liveboard.js.map +1 -1
  23. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  24. package/cjs/src/embed/search-bar.js +4 -2
  25. package/cjs/src/embed/search-bar.js.map +1 -1
  26. package/cjs/src/embed/search.d.ts.map +1 -1
  27. package/cjs/src/embed/search.js +4 -2
  28. package/cjs/src/embed/search.js.map +1 -1
  29. package/cjs/src/embed/search.spec.js +56 -3
  30. package/cjs/src/embed/search.spec.js.map +1 -1
  31. package/cjs/src/embed/ts-embed.d.ts +6 -0
  32. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  33. package/cjs/src/embed/ts-embed.js +38 -13
  34. package/cjs/src/embed/ts-embed.js.map +1 -1
  35. package/cjs/src/embed/ts-embed.spec.js +132 -130
  36. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  37. package/cjs/src/types.d.ts +43 -17
  38. package/cjs/src/types.d.ts.map +1 -1
  39. package/cjs/src/types.js +35 -7
  40. package/cjs/src/types.js.map +1 -1
  41. package/cjs/src/utils/processData.d.ts.map +1 -1
  42. package/cjs/src/utils/processData.js +9 -2
  43. package/cjs/src/utils/processData.js.map +1 -1
  44. package/cjs/src/utils/processData.spec.js +51 -0
  45. package/cjs/src/utils/processData.spec.js.map +1 -1
  46. package/dist/index-B3hd6DTM.js +7370 -0
  47. package/dist/index-vxW97_xb.js +7370 -0
  48. package/dist/src/auth.d.ts +2 -1
  49. package/dist/src/auth.d.ts.map +1 -1
  50. package/dist/src/embed/app.d.ts.map +1 -1
  51. package/dist/src/embed/conversation.d.ts +44 -0
  52. package/dist/src/embed/conversation.d.ts.map +1 -1
  53. package/dist/src/embed/hostEventClient/contracts.d.ts +3 -3
  54. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  55. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  56. package/dist/src/embed/liveboard.d.ts.map +1 -1
  57. package/dist/src/embed/search-bar.d.ts.map +1 -1
  58. package/dist/src/embed/search.d.ts.map +1 -1
  59. package/dist/src/embed/ts-embed.d.ts +6 -0
  60. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  61. package/dist/src/types.d.ts +43 -17
  62. package/dist/src/types.d.ts.map +1 -1
  63. package/dist/src/utils/processData.d.ts.map +1 -1
  64. package/dist/tsembed-react.es.js +122 -34
  65. package/dist/tsembed-react.js +121 -33
  66. package/dist/tsembed.es.js +122 -34
  67. package/dist/tsembed.js +121 -33
  68. package/dist/visual-embed-sdk-react-full.d.ts +92 -21
  69. package/dist/visual-embed-sdk-react.d.ts +92 -21
  70. package/dist/visual-embed-sdk.d.ts +92 -21
  71. package/lib/package.json +1 -2
  72. package/lib/src/auth.d.ts +2 -1
  73. package/lib/src/auth.d.ts.map +1 -1
  74. package/lib/src/auth.js +3 -1
  75. package/lib/src/auth.js.map +1 -1
  76. package/lib/src/embed/app.d.ts.map +1 -1
  77. package/lib/src/embed/app.js +2 -0
  78. package/lib/src/embed/app.js.map +1 -1
  79. package/lib/src/embed/conversation.d.ts +44 -0
  80. package/lib/src/embed/conversation.d.ts.map +1 -1
  81. package/lib/src/embed/conversation.js +10 -1
  82. package/lib/src/embed/conversation.js.map +1 -1
  83. package/lib/src/embed/conversation.spec.js +36 -0
  84. package/lib/src/embed/conversation.spec.js.map +1 -1
  85. package/lib/src/embed/hostEventClient/contracts.d.ts +3 -3
  86. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  87. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  88. package/lib/src/embed/hostEventClient/host-event-client.js +6 -1
  89. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  90. package/lib/src/embed/liveboard.d.ts.map +1 -1
  91. package/lib/src/embed/liveboard.js +8 -2
  92. package/lib/src/embed/liveboard.js.map +1 -1
  93. package/lib/src/embed/search-bar.d.ts.map +1 -1
  94. package/lib/src/embed/search-bar.js +4 -2
  95. package/lib/src/embed/search-bar.js.map +1 -1
  96. package/lib/src/embed/search.d.ts.map +1 -1
  97. package/lib/src/embed/search.js +4 -2
  98. package/lib/src/embed/search.js.map +1 -1
  99. package/lib/src/embed/search.spec.js +56 -3
  100. package/lib/src/embed/search.spec.js.map +1 -1
  101. package/lib/src/embed/ts-embed.d.ts +6 -0
  102. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  103. package/lib/src/embed/ts-embed.js +38 -13
  104. package/lib/src/embed/ts-embed.js.map +1 -1
  105. package/lib/src/embed/ts-embed.spec.js +133 -131
  106. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  107. package/lib/src/types.d.ts +43 -17
  108. package/lib/src/types.d.ts.map +1 -1
  109. package/lib/src/types.js +35 -7
  110. package/lib/src/types.js.map +1 -1
  111. package/lib/src/utils/processData.d.ts.map +1 -1
  112. package/lib/src/utils/processData.js +9 -2
  113. package/lib/src/utils/processData.js.map +1 -1
  114. package/lib/src/utils/processData.spec.js +51 -0
  115. package/lib/src/utils/processData.spec.js.map +1 -1
  116. package/lib/src/visual-embed-sdk.d.ts +92 -21
  117. package/package.json +1 -2
  118. package/src/auth.ts +3 -1
  119. package/src/embed/app.ts +2 -0
  120. package/src/embed/conversation.spec.ts +52 -3
  121. package/src/embed/conversation.ts +60 -1
  122. package/src/embed/hostEventClient/contracts.ts +3 -3
  123. package/src/embed/hostEventClient/host-event-client.ts +7 -1
  124. package/src/embed/liveboard.ts +9 -4
  125. package/src/embed/search-bar.tsx +6 -4
  126. package/src/embed/search.spec.ts +71 -3
  127. package/src/embed/search.ts +6 -5
  128. package/src/embed/ts-embed.spec.ts +153 -180
  129. package/src/embed/ts-embed.ts +46 -30
  130. package/src/types.ts +44 -15
  131. package/src/utils/processData.spec.ts +63 -0
  132. package/src/utils/processData.ts +12 -2
@@ -48,6 +48,37 @@ describe('Unit test for process data', () => {
48
48
  );
49
49
  });
50
50
 
51
+ test('ProcessData, when Action is CustomAction with contextMenuPoints', async () => {
52
+ const processedData = {
53
+ type: EmbedEvent.CustomAction,
54
+ data: {
55
+ contextMenuPoints: {
56
+ selectedPoints: [{ x: 1, y: 2 }],
57
+ },
58
+ },
59
+ };
60
+ jest.spyOn(processDataInstance, 'processCustomAction').mockImplementation(async () => ({}));
61
+ expect(
62
+ processDataInstance.processEventData(
63
+ EmbedEvent.CustomAction,
64
+ processedData,
65
+ thoughtSpotHost,
66
+ null,
67
+ ),
68
+ ).toEqual(
69
+ expect.objectContaining({
70
+ ...processedData,
71
+ answerService: {
72
+ answer: {},
73
+ selectedPoints: [{ x: 1, y: 2 }],
74
+ session: undefined,
75
+ thoughtSpotHost: 'http://localhost',
76
+ tmlOverride: {},
77
+ },
78
+ }),
79
+ );
80
+ });
81
+
51
82
  test('ProcessData, when Action is non CustomAction', () => {
52
83
  const processedData = { type: EmbedEvent.Data };
53
84
  jest.spyOn(processDataInstance, 'processCustomAction').mockImplementation(async () => ({}));
@@ -188,4 +219,36 @@ describe('Unit test for process data', () => {
188
219
  expect(base.notifyAuthFailure).not.toBeCalled();
189
220
  expect(el.innerHTML).not.toBe('Hello');
190
221
  });
222
+
223
+ test('process authFailure AuthType=TrustedAuthToken and autoLogin true', () => {
224
+ const e = { type: EmbedEvent.AuthFailure };
225
+ jest.spyOn(base, 'notifyAuthFailure');
226
+ jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
227
+ loginFailedMessage: 'Hello',
228
+ authType: AuthType.TrustedAuthToken,
229
+ autoLogin: true,
230
+ });
231
+ const el: any = {};
232
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
233
+ type: e.type,
234
+ });
235
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.IDLE_SESSION_TIMEOUT);
236
+ expect(el.innerHTML).toBe('Hello');
237
+ });
238
+
239
+ test('process authFailure with TrustedAuthTokenCookieless and autoLogin', () => {
240
+ const e = { type: EmbedEvent.AuthFailure };
241
+ jest.spyOn(base, 'notifyAuthFailure');
242
+ jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
243
+ loginFailedMessage: 'Hello',
244
+ authType: AuthType.TrustedAuthTokenCookieless,
245
+ autoLogin: true,
246
+ });
247
+ const el: any = {};
248
+ expect(processDataInstance.processEventData(e.type, e, '', el)).toEqual({
249
+ type: e.type,
250
+ });
251
+ expect(base.notifyAuthFailure).toBeCalledWith(auth.AuthFailureType.IDLE_SESSION_TIMEOUT);
252
+ expect(el.innerHTML).toBe('Hello');
253
+ });
191
254
  });
@@ -77,8 +77,18 @@ function processNoCookieAccess(e: any, containerEl: Element) {
77
77
  * @param containerEl
78
78
  */
79
79
  export function processAuthFailure(e: any, containerEl: Element) {
80
- const { loginFailedMessage, authType, disableLoginFailurePage } = getEmbedConfig();
81
- if (authType !== AuthType.None && !disableLoginFailurePage) {
80
+ const {
81
+ loginFailedMessage, authType, disableLoginFailurePage, autoLogin,
82
+ } = getEmbedConfig();
83
+ if (
84
+ autoLogin
85
+ && (authType === AuthType.TrustedAuthToken
86
+ || authType === AuthType.TrustedAuthTokenCookieless)
87
+ ) {
88
+ // eslint-disable-next-line no-param-reassign
89
+ containerEl.innerHTML = loginFailedMessage;
90
+ notifyAuthFailure(AuthFailureType.IDLE_SESSION_TIMEOUT);
91
+ } else if (authType !== AuthType.None && !disableLoginFailurePage) {
82
92
  // eslint-disable-next-line no-param-reassign
83
93
  containerEl.innerHTML = loginFailedMessage;
84
94
  notifyAuthFailure(AuthFailureType.OTHER);