@thoughtspot/visual-embed-sdk 1.45.0 → 1.45.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 (131) hide show
  1. package/cjs/package.json +2 -2
  2. package/cjs/src/authToken.d.ts +1 -1
  3. package/cjs/src/authToken.d.ts.map +1 -1
  4. package/cjs/src/authToken.js +2 -2
  5. package/cjs/src/authToken.js.map +1 -1
  6. package/cjs/src/authToken.spec.js +71 -0
  7. package/cjs/src/authToken.spec.js.map +1 -1
  8. package/cjs/src/embed/hostEventClient/contracts.d.ts +3 -3
  9. package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  10. package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
  11. package/cjs/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  12. package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  13. package/cjs/src/embed/hostEventClient/host-event-client.js +18 -18
  14. package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
  15. package/cjs/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  16. package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  17. package/cjs/src/embed/liveboard.d.ts +2 -2
  18. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  19. package/cjs/src/embed/liveboard.js +2 -2
  20. package/cjs/src/embed/liveboard.js.map +1 -1
  21. package/cjs/src/embed/liveboard.spec.js +1 -1
  22. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  23. package/cjs/src/embed/ts-embed.d.ts +23 -2
  24. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  25. package/cjs/src/embed/ts-embed.js +64 -22
  26. package/cjs/src/embed/ts-embed.js.map +1 -1
  27. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  28. package/cjs/src/embed/ts-embed.spec.js +138 -19
  29. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  30. package/cjs/src/index.d.ts +2 -2
  31. package/cjs/src/index.d.ts.map +1 -1
  32. package/cjs/src/index.js +3 -2
  33. package/cjs/src/index.js.map +1 -1
  34. package/cjs/src/types.d.ts +164 -2
  35. package/cjs/src/types.d.ts.map +1 -1
  36. package/cjs/src/types.js +43 -1
  37. package/cjs/src/types.js.map +1 -1
  38. package/cjs/src/utils/processTrigger.d.ts +3 -2
  39. package/cjs/src/utils/processTrigger.d.ts.map +1 -1
  40. package/cjs/src/utils/processTrigger.js +4 -2
  41. package/cjs/src/utils/processTrigger.js.map +1 -1
  42. package/cjs/src/utils.d.ts +5 -1
  43. package/cjs/src/utils.d.ts.map +1 -1
  44. package/cjs/src/utils.js +8 -1
  45. package/cjs/src/utils.js.map +1 -1
  46. package/dist/{index-Dk-SLdNk.js → index-BdkKLLo1.js} +1 -1
  47. package/dist/src/authToken.d.ts +1 -1
  48. package/dist/src/authToken.d.ts.map +1 -1
  49. package/dist/src/embed/hostEventClient/contracts.d.ts +3 -3
  50. package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  51. package/dist/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  52. package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  53. package/dist/src/embed/liveboard.d.ts +2 -2
  54. package/dist/src/embed/liveboard.d.ts.map +1 -1
  55. package/dist/src/embed/ts-embed.d.ts +23 -2
  56. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  57. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  58. package/dist/src/index.d.ts +2 -2
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/types.d.ts +164 -2
  61. package/dist/src/types.d.ts.map +1 -1
  62. package/dist/src/utils/processTrigger.d.ts +3 -2
  63. package/dist/src/utils/processTrigger.d.ts.map +1 -1
  64. package/dist/src/utils.d.ts +5 -1
  65. package/dist/src/utils.d.ts.map +1 -1
  66. package/dist/tsembed-react.es.js +140 -49
  67. package/dist/tsembed-react.js +139 -48
  68. package/dist/tsembed.es.js +155 -64
  69. package/dist/tsembed.js +29640 -29549
  70. package/dist/visual-embed-sdk-react-full.d.ts +196 -13
  71. package/dist/visual-embed-sdk-react.d.ts +196 -13
  72. package/dist/visual-embed-sdk.d.ts +196 -13
  73. package/lib/package.json +2 -2
  74. package/lib/src/authToken.d.ts +1 -1
  75. package/lib/src/authToken.d.ts.map +1 -1
  76. package/lib/src/authToken.js +2 -2
  77. package/lib/src/authToken.js.map +1 -1
  78. package/lib/src/authToken.spec.js +72 -1
  79. package/lib/src/authToken.spec.js.map +1 -1
  80. package/lib/src/embed/hostEventClient/contracts.d.ts +3 -3
  81. package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
  82. package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
  83. package/lib/src/embed/hostEventClient/host-event-client.d.ts +8 -8
  84. package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
  85. package/lib/src/embed/hostEventClient/host-event-client.js +18 -18
  86. package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
  87. package/lib/src/embed/hostEventClient/host-event-client.spec.js +7 -7
  88. package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
  89. package/lib/src/embed/liveboard.d.ts +2 -2
  90. package/lib/src/embed/liveboard.d.ts.map +1 -1
  91. package/lib/src/embed/liveboard.js +2 -2
  92. package/lib/src/embed/liveboard.js.map +1 -1
  93. package/lib/src/embed/liveboard.spec.js +1 -1
  94. package/lib/src/embed/liveboard.spec.js.map +1 -1
  95. package/lib/src/embed/ts-embed.d.ts +23 -2
  96. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  97. package/lib/src/embed/ts-embed.js +64 -22
  98. package/lib/src/embed/ts-embed.js.map +1 -1
  99. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  100. package/lib/src/embed/ts-embed.spec.js +139 -20
  101. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  102. package/lib/src/index.d.ts +2 -2
  103. package/lib/src/index.d.ts.map +1 -1
  104. package/lib/src/index.js +2 -2
  105. package/lib/src/index.js.map +1 -1
  106. package/lib/src/types.d.ts +164 -2
  107. package/lib/src/types.d.ts.map +1 -1
  108. package/lib/src/types.js +42 -0
  109. package/lib/src/types.js.map +1 -1
  110. package/lib/src/utils/processTrigger.d.ts +3 -2
  111. package/lib/src/utils/processTrigger.d.ts.map +1 -1
  112. package/lib/src/utils/processTrigger.js +4 -2
  113. package/lib/src/utils/processTrigger.js.map +1 -1
  114. package/lib/src/utils.d.ts +5 -1
  115. package/lib/src/utils.d.ts.map +1 -1
  116. package/lib/src/utils.js +6 -0
  117. package/lib/src/utils.js.map +1 -1
  118. package/package.json +2 -2
  119. package/src/authToken.spec.ts +91 -2
  120. package/src/authToken.ts +2 -2
  121. package/src/embed/hostEventClient/contracts.ts +4 -4
  122. package/src/embed/hostEventClient/host-event-client.spec.ts +7 -1
  123. package/src/embed/hostEventClient/host-event-client.ts +22 -11
  124. package/src/embed/liveboard.spec.ts +1 -1
  125. package/src/embed/liveboard.ts +5 -3
  126. package/src/embed/ts-embed.spec.ts +184 -8
  127. package/src/embed/ts-embed.ts +81 -24
  128. package/src/index.ts +2 -0
  129. package/src/types.ts +171 -0
  130. package/src/utils/processTrigger.ts +6 -3
  131. package/src/utils.ts +8 -0
@@ -5,7 +5,7 @@
5
5
  * @summary Utils
6
6
  * @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
7
7
  */
8
- import { EmbedConfig, QueryParams, RuntimeFilter, CustomisationsInterface, DOMSelector, RuntimeParameter, AllEmbedViewConfig } from './types';
8
+ import { EmbedConfig, QueryParams, RuntimeFilter, CustomisationsInterface, DOMSelector, RuntimeParameter, AllEmbedViewConfig, BaseViewConfig } from './types';
9
9
  /**
10
10
  * Construct a runtime filters query string from the given filters.
11
11
  * Refer to the following docs for more details on runtime filter syntax:
@@ -170,6 +170,10 @@ export declare const calculateVisibleElementData: (element: HTMLElement) => {
170
170
  * // Returns: 'Expected string, but received number'
171
171
  */
172
172
  export declare const formatTemplate: (template: string, values: Record<string, any>) => string;
173
+ export declare const getHostEventsConfig: (viewConfig: BaseViewConfig) => {
174
+ shouldBypassPayloadValidation: boolean;
175
+ useHostEventsV2: boolean;
176
+ };
173
177
  /**
174
178
  * Check if the window is undefined
175
179
  * If the window is undefined, it means the code is running in a SSR environment.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/lib/src/utils.js CHANGED
@@ -470,6 +470,12 @@ export const formatTemplate = (template, values) => {
470
470
  return values[key] !== undefined ? String(values[key]) : match;
471
471
  });
472
472
  };
473
+ export const getHostEventsConfig = (viewConfig) => {
474
+ return {
475
+ shouldBypassPayloadValidation: viewConfig.shouldBypassPayloadValidation,
476
+ useHostEventsV2: viewConfig.useHostEventsV2,
477
+ };
478
+ };
473
479
  /**
474
480
  * Check if the window is undefined
475
481
  * If the window is undefined, it means the code is running in a SSR environment.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,cAAc,CAAC;AAUjC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,cAA+B,EAAiB,EAAE;IAC7E,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,EAAE;QACzC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACxE,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,UAAU,CAAC,IAAI,CACX,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC1E,OAAO,MAAM,KAAK,IAAI,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACf,CAAC;YAEF,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KACjC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,iBAAqC,EAAU,EAAE;IAClF,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,EAAE;QAC/C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnE,UAAU,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAEvE,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KAChC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE;IAClC,mCAAmC;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QACtF,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEvF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,WAAwB,EACxB,0BAA0B,GAAG,KAAK,EAC5B,EAAE;IACR,MAAM,EAAE,GAAa,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,KAAK,SAAS,EAAE;YACnB,MAAM,eAAe,GAAG,0BAA0B;gBAC9C,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC;gBACrB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,EAAE,CAAC,CAAC;SACxC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACvB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAsB,EAAU,EAAE;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,GAAG,KAAK,IAAI,CAAC;KACvB;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAW,EAAE;IACvD,IAAG,WAAW,CAAC,KAAK,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC;KAChB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;KAChB;IAED,iEAAiE;IACjE,4DAA4D;IAC5D,MAAM,cAAc,GAAG,6CAA6C,CAAC;IACrE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAClB,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,WAAW,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,WAAW,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC7C,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACvD,OAAO,eAAe,iBAAiB,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,cAAsB,EAAE,EAAE;IACnE,IAAI,SAAS,GAAG,GAAG,CAAC;IACpB,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,eAAe,iBAAiB,EAAE,CAAC;IAElD,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACvB,qEAAqE;QACrE,qCAAqC;QACrC,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;KAChE;SAAM;QACH,UAAU,GAAG,IAAI,CAAC;KACrB;IACD,SAAS,GAAG,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,EAAE,CAAC;IAEjD,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,cAAsB,EAAE,IAAI,GAAG,EAAE;IACzE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1E,OAAO,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC/D,IAAI,CAAC,WAAW,EAAE;QACd,OAAO,WAAW,CAAC;KACtB;IACD,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAY,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,OAAoB,EACpB,UAAwD,EACpD,EAAE;IACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEpE,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACrC,cAAsB,EACtB,mBAA4B,EACrB,EAAE;IACT,IAAI,cAAc,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;QAC1D,MAAM,sBAAsB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,YAAY,GAAG,CAAC,CAAC;QACvC,OAAO,CAAC,mBAAmB,IAAI,aAAa,CAAC;KAChD;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,WAAwB,EACxB,UAA8B,EACP,EAAE;;IACzB,MAAM,4BAA4B,GAAG,UAAU,CAAC,cAAc,CAAC;IAC/D,MAAM,6BAA6B,GAAG,WAAW,CAAC,cAAc;WACvD,WAAmB,CAAC,cAA0C,CAAC;IAExE,MAAM,cAAc,GAA4B;QAC5C,KAAK,EAAE;YACH,GAAG,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,KAAK;YACvC,GAAG,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,KAAK;YACtC,SAAS,EAAE;gBACP,GAAG,MAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,KAAK,0CAAE,SAAS;gBAClD,GAAG,MAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,KAAK,0CAAE,SAAS;aACpD;YACD,YAAY,EACR,CAAA,MAAA,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,KAAK,0CAAE,YAAY;oBAC9C,MAAA,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,KAAK,0CAAE,YAAY,CAAA;SAC5D;QACD,OAAO,EAAE;YACL,GAAG,6BAA6B,aAA7B,6BAA6B,uBAA7B,6BAA6B,CAAE,OAAO;YACzC,GAAG,4BAA4B,aAA5B,4BAA4B,uBAA5B,4BAA4B,CAAE,OAAO;SAC3C;KACJ,CAAC;IACF,OAAO,cAAc,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,cAAmB,EAAE,EAAE,CAAC,cAAc,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;AAE/F;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,WAAwB;IAC/C,OAAO,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AAC/F,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAW,EAAE,MAAW,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,EAAE;IACvD,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAQ;IACnC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAGhD,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,GAAG,KAAK,YAAY,EAAE;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;SACnB;aAAM,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;YACrC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5B;KACJ;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,OAAoB,EACpB,eAA6C,EACzC,EAAE;IACN,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA;QAAE,OAAO;IAC5B,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACnD,MAAM,QAAQ,GAAG,aAA0C,CAAC;QAC5D,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE;YACpB,OAAO,CAAC,KAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;SACvD;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AACF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAoB,EAAE,eAAyB,EAAQ,EAAE;IAC3F,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA;QAAE,OAAO;IAC5B,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACtC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAW,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;AAExE,sDAAsD;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAoB,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC7B;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAC/B;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC5B,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KACjC;IACD,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,aAAoB,CAAC;AAE1C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAC9B,GAAW,EACX,KAAQ,EACR,UAA+C,EAAE;IAEjD,IAAI,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QACtB,MAAc,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;KACtC;IAED,IAAI,OAAO,CAAC,qBAAqB,IAAI,GAAG,IAAK,MAAc,CAAC,YAAY,CAAC,EAAE;QACvE,OAAQ,MAAc,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;KAC7C;IAEA,MAAc,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC3C,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAU,GAAW,EAAiB,EAAE;;IACtE,IAAI,iBAAiB,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,MAAC,MAAc,aAAd,MAAM,uBAAN,MAAM,CAAW,YAAY,CAAC,0CAAG,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AACF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAuB,EAAE,GAAW,EAAW,EAAE;IACjF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC5C,IAAI,iBAAiB,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;QAC7B,OAAQ,MAAc,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,cAAc,GAAG,GAAY,EAAE;IACjC,OAAO,CAAC,CAAC,CACL,QAAQ,CAAC,iBAAiB;QACzB,QAAgB,CAAC,uBAAuB;QACxC,QAAgB,CAAC,oBAAoB;QACrC,QAAgB,CAAC,mBAAmB,CACxC,CAAC;AACN,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,MAAyB,EAAiB,EAAE;IACjF,IAAI,cAAc,EAAE,EAAE;QAClB,OAAO,CAAC,wBAAwB;KACnC;IAED,oDAAoD;IACpD,MAAM,iBAAiB,GAAG;QACtB,mBAAmB;QACnB,yBAAyB;QACzB,sBAAsB;QACtB,qBAAqB,CAAK,UAAU;KACvC,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE;QACpC,IAAI,OAAQ,MAAc,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;YAC/C,IAAI;gBACA,MAAM,MAAM,GAAI,MAAc,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO;aACV;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,IAAI,CAAC,oCAAoC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;aACrE;SACJ;KACJ;IAED,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;IAC3D,IAAI,CAAC,cAAc,EAAE,EAAE;QACnB,OAAO,CAAC,oBAAoB;KAC/B;IAED,MAAM,qBAAqB,GAAG;QAC1B,gBAAgB;QAChB,sBAAsB;QACtB,qBAAqB;QACrB,kBAAkB,CAAO,UAAU;KACtC,CAAC;IAEF,kCAAkC;IAClC,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE;QACxC,IAAI,OAAQ,QAAgB,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE;YACjD,IAAI;gBACA,MAAM,MAAM,GAAI,QAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO;aACV;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,IAAI,CAAC,mCAAmC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;aACpE;SACJ;KACJ;IAED,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,OAAoB,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAE7C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;IACxC,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;IAEtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEjD,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG;QACT,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,gBAAgB,CAAC;QAC3D,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACjC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;KAC7D,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,MAA2B,EAAU,EAAE;IACpF,uEAAuE;IACvE,2DAA2D;IAC3D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACjD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAY,EAAE;IAC3C,IAAG,OAAO,MAAM,KAAK,WAAW,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thoughtspot/visual-embed-sdk",
3
- "version": "1.45.0",
3
+ "version": "1.45.2",
4
4
  "description": "ThoughtSpot Embed SDK",
5
5
  "module": "lib/src/index.js",
6
6
  "main": "dist/tsembed.js",
@@ -70,7 +70,7 @@
70
70
  "dependencies": {
71
71
  "classnames": "^2.3.1",
72
72
  "eventemitter3": "^4.0.7",
73
- "lodash": "^4.17.21",
73
+ "lodash": "^4.17.23",
74
74
  "mixpanel-browser": "2.47.0",
75
75
  "ts-deepmerge": "^6.0.2",
76
76
  "tslib": "^2.5.3",
@@ -1,7 +1,8 @@
1
1
  import { getAuthenticationToken, resetCachedAuthToken, validateAuthToken } from './authToken';
2
+ import * as authTokenModule from './authToken';
2
3
  import * as authServiceInstance from './utils/authService/authService';
3
- import { EmbedConfig } from './types';
4
- import { formatTemplate } from './utils';
4
+ import { EmbedConfig, AuthType } from './types';
5
+ import { formatTemplate, storeValueInWindow } from './utils';
5
6
  import { logger } from './utils/logger';
6
7
  import { ERROR_MESSAGE } from './errors';
7
8
 
@@ -75,4 +76,92 @@ describe('AuthToken Unit tests', () => {
75
76
 
76
77
  loggerSpy.mockRestore();
77
78
  });
79
+
80
+ describe('getAuthenticationToken: cached token skip validation condition', () => {
81
+ beforeEach(() => {
82
+ resetCachedAuthToken();
83
+ jest.clearAllMocks();
84
+ });
85
+
86
+ test('should validate cached token when validation is not skipped', async () => {
87
+ const cachedToken = 'cached-token-123';
88
+ storeValueInWindow('cachedAuthToken', cachedToken);
89
+
90
+ const validateAuthTokenSpy = jest.spyOn(authTokenModule, 'validateAuthToken')
91
+ .mockImplementation(() => Promise.resolve(true));
92
+
93
+ const getAuthTokenMock = jest.fn().mockResolvedValue('new-token-456');
94
+ const config: EmbedConfig = {
95
+ thoughtSpotHost: 'test',
96
+ authType: AuthType.TrustedAuthToken,
97
+ getAuthToken: getAuthTokenMock,
98
+ disableTokenVerification: false,
99
+ };
100
+
101
+ const token = await getAuthenticationToken(config, false);
102
+
103
+ expect(token).toBe(cachedToken);
104
+ // Should validate cached token (condition at line 23 is true)
105
+ expect(validateAuthTokenSpy).toHaveBeenCalledWith(config, cachedToken, true);
106
+ expect(getAuthTokenMock).not.toHaveBeenCalled();
107
+
108
+ validateAuthTokenSpy.mockReset();
109
+ });
110
+
111
+ test('should skip cached token validation when disableTokenVerification is true', async () => {
112
+ const cachedToken = 'cached-token-123';
113
+ storeValueInWindow('cachedAuthToken', cachedToken);
114
+
115
+ const validateAuthTokenSpy = jest.spyOn(authTokenModule, 'validateAuthToken')
116
+ .mockImplementation(() => Promise.resolve(true));
117
+
118
+ const newToken = 'new-token-456';
119
+ const getAuthTokenMock = jest.fn().mockResolvedValue(newToken);
120
+ const config: EmbedConfig = {
121
+ thoughtSpotHost: 'test',
122
+ authType: AuthType.TrustedAuthToken,
123
+ getAuthToken: getAuthTokenMock,
124
+ disableTokenVerification: true,
125
+ };
126
+
127
+ const token = await getAuthenticationToken(config, false);
128
+
129
+ expect(token).toBe(newToken);
130
+ // Should not validate cached token (condition at line 23 is false)
131
+ expect(validateAuthTokenSpy).not.toHaveBeenCalledWith(config, cachedToken, true);
132
+ // But should validate new token (though it returns early when disableTokenVerification is true)
133
+ expect(validateAuthTokenSpy).toHaveBeenCalledWith(config, newToken);
134
+ expect(getAuthTokenMock).toHaveBeenCalled();
135
+
136
+ validateAuthTokenSpy.mockReset();
137
+ });
138
+
139
+ test('should skip cached token validation when skipvalidation is true', async () => {
140
+ const cachedToken = 'cached-token-123';
141
+ storeValueInWindow('cachedAuthToken', cachedToken);
142
+
143
+ const validateAuthTokenSpy = jest.spyOn(authTokenModule, 'validateAuthToken')
144
+ .mockImplementation(() => Promise.resolve(true));
145
+
146
+ const newToken = 'new-token-456';
147
+ const getAuthTokenMock = jest.fn().mockResolvedValue(newToken);
148
+ const config: EmbedConfig = {
149
+ thoughtSpotHost: 'test',
150
+ authType: AuthType.TrustedAuthToken,
151
+ getAuthToken: getAuthTokenMock,
152
+ disableTokenVerification: false,
153
+ };
154
+
155
+ const token = await getAuthenticationToken(config, true);
156
+
157
+ expect(token).toBe(newToken);
158
+ // Should not validate cached token (condition at line 23 is false)
159
+ expect(validateAuthTokenSpy).not.toHaveBeenCalledWith(config, cachedToken, true);
160
+ // But should validate new token
161
+ expect(validateAuthTokenSpy).toHaveBeenCalledWith(config, newToken);
162
+ expect(getAuthTokenMock).toHaveBeenCalled();
163
+
164
+ validateAuthTokenSpy.mockReset();
165
+ });
166
+ });
78
167
  });
package/src/authToken.ts CHANGED
@@ -16,11 +16,11 @@ const storeAuthTokenInCache = (token: string): void => {
16
16
  *
17
17
  * @param embedConfig
18
18
  */
19
- export async function getAuthenticationToken(embedConfig: EmbedConfig): Promise<string> {
19
+ export async function getAuthenticationToken(embedConfig: EmbedConfig, skipvalidation: boolean = false): Promise<string> {
20
20
  const cachedAuthToken = getCacheAuthToken();
21
21
  // Since we don't have token validation enabled , we cannot tell if the
22
22
  // cached token is valid or not. So we will always fetch a new token.
23
- if (cachedAuthToken && !embedConfig.disableTokenVerification) {
23
+ if (cachedAuthToken && !embedConfig.disableTokenVerification && !skipvalidation) {
24
24
  let isCachedTokenStillValid;
25
25
  try {
26
26
  isCachedTokenStillValid = await validateAuthToken(embedConfig, cachedAuthToken, true);
@@ -1,4 +1,4 @@
1
- import { HostEvent } from '../../types';
1
+ import { ContextType, HostEvent } from '../../types';
2
2
 
3
3
  export enum UIPassthroughEvent {
4
4
  PinAnswerToLiveboard = 'addVizToPinboard',
@@ -103,7 +103,7 @@ export type HostEventRequest<HostEventT extends HostEvent> =
103
103
  ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]>
104
104
  : any;
105
105
 
106
- export type HostEventResponse<HostEventT extends HostEvent> =
106
+ export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> =
107
107
  HostEventT extends keyof EmbedApiHostEventMapping
108
108
  ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]>
109
109
  : any;
@@ -111,5 +111,5 @@ export type HostEventResponse<HostEventT extends HostEvent> =
111
111
  // trigger response and request
112
112
  export type TriggerPayload<PayloadT, HostEventT extends HostEvent> =
113
113
  PayloadT | HostEventRequest<HostEventT>;
114
- export type TriggerResponse<PayloadT, HostEventT extends HostEvent> =
115
- PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT> : any;
114
+ export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> =
115
+ PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
@@ -54,6 +54,7 @@ describe('HostEventClient', () => {
54
54
  type: apiName,
55
55
  parameters,
56
56
  },
57
+ undefined,
57
58
  );
58
59
  expect(result).toEqual(await triggerResponse);
59
60
  });
@@ -148,6 +149,7 @@ describe('HostEventClient', () => {
148
149
  HostEvent.UIPassthrough,
149
150
  'http://localhost',
150
151
  { parameters: payload, type: UIPassthroughEvent.PinAnswerToLiveboard },
152
+ undefined,
151
153
  );
152
154
  expect(result).toEqual(mockResponse.value);
153
155
  });
@@ -185,6 +187,7 @@ describe('HostEventClient', () => {
185
187
  parameters: payload,
186
188
  type: 'saveAnswer',
187
189
  },
190
+ undefined,
188
191
  );
189
192
  expect(result).toEqual({ answerId: 'newAnswer', ...mockResponse[0].value });
190
193
  });
@@ -198,7 +201,7 @@ describe('HostEventClient', () => {
198
201
 
199
202
  const result = await client.triggerHostEvent(hostEvent, payload);
200
203
 
201
- expect(client.hostEventFallback).toHaveBeenCalledWith(hostEvent, payload);
204
+ expect(client.hostEventFallback).toHaveBeenCalledWith(hostEvent, payload, undefined);
202
205
  expect(result).toEqual(mockResponse);
203
206
  });
204
207
 
@@ -223,6 +226,7 @@ describe('HostEventClient', () => {
223
226
  HostEvent.Pin,
224
227
  mockThoughtSpotHost,
225
228
  {},
229
+ undefined,
226
230
  );
227
231
  expect(result).toEqual([mockResponse]);
228
232
  });
@@ -248,6 +252,7 @@ describe('HostEventClient', () => {
248
252
  HostEvent.Save,
249
253
  mockThoughtSpotHost,
250
254
  {},
255
+ undefined,
251
256
  );
252
257
  expect(result).toEqual([mockResponse]);
253
258
  });
@@ -303,6 +308,7 @@ describe('HostEventClient', () => {
303
308
  parameters: { ...payload, pinboardId: 'test', newPinboardName: 'testLiveboard' },
304
309
  type: 'addVizToPinboard',
305
310
  },
311
+ undefined,
306
312
  );
307
313
  expect(result).toEqual({
308
314
  pinboardId: 'testLiveboard',
@@ -1,4 +1,4 @@
1
- import { HostEvent } from '../../types';
1
+ import { ContextType, HostEvent } from '../../types';
2
2
  import { processTrigger as processTriggerService } from '../../utils/processTrigger';
3
3
  import { getEmbedConfig } from '../embedConfig';
4
4
  import {
@@ -23,7 +23,7 @@ export class HostEventClient {
23
23
  * @param {any} data Data to send with the host event
24
24
  * @returns {Promise<any>} - the response from the process trigger
25
25
  */
26
- protected async processTrigger(message: HostEvent, data: any): Promise<any> {
26
+ protected async processTrigger(message: HostEvent, data: any, context?: ContextType): Promise<any> {
27
27
  if (!this.iFrame) {
28
28
  throw new Error('Iframe element is not set');
29
29
  }
@@ -34,14 +34,16 @@ export class HostEventClient {
34
34
  message,
35
35
  thoughtspotHost,
36
36
  data,
37
+ context,
37
38
  );
38
39
  }
39
40
 
40
41
  public async handleHostEventWithParam<UIPassthroughEventT extends UIPassthroughEvent>(
41
42
  apiName: UIPassthroughEventT,
42
43
  parameters: UIPassthroughRequest<UIPassthroughEventT>,
44
+ context?: ContextType,
43
45
  ): Promise<UIPassthroughResponse<UIPassthroughEventT>> {
44
- const response = (await this.triggerUIPassthroughApi(apiName, parameters))
46
+ const response = (await this.triggerUIPassthroughApi(apiName, parameters, context))
45
47
  ?.filter?.((r) => r.error || r.value)[0];
46
48
 
47
49
  if (!response) {
@@ -65,8 +67,9 @@ export class HostEventClient {
65
67
  public async hostEventFallback(
66
68
  hostEvent: HostEvent,
67
69
  data: any,
70
+ context?: ContextType,
68
71
  ): Promise<any> {
69
- return this.processTrigger(hostEvent, data);
72
+ return this.processTrigger(hostEvent, data, context);
70
73
  }
71
74
 
72
75
  /**
@@ -80,20 +83,22 @@ export class HostEventClient {
80
83
  public async triggerUIPassthroughApi<UIPassthroughEventT extends UIPassthroughEvent>(
81
84
  apiName: UIPassthroughEventT,
82
85
  parameters: UIPassthroughRequest<UIPassthroughEventT>,
86
+ context?: ContextType,
83
87
  ): Promise<UIPassthroughArrayResponse<UIPassthroughEventT>> {
84
88
  const res = await this.processTrigger(HostEvent.UIPassthrough, {
85
89
  type: apiName,
86
90
  parameters,
87
- });
91
+ }, context);
88
92
 
89
93
  return res;
90
94
  }
91
95
 
92
96
  protected async handlePinEvent(
93
97
  payload: HostEventRequest<HostEvent.Pin>,
94
- ): Promise<HostEventResponse<HostEvent.Pin>> {
98
+ context?: ContextType,
99
+ ): Promise<HostEventResponse<HostEvent.Pin, ContextType>> {
95
100
  if (!payload || !('newVizName' in payload)) {
96
- return this.hostEventFallback(HostEvent.Pin, payload);
101
+ return this.hostEventFallback(HostEvent.Pin, payload, context);
97
102
  }
98
103
 
99
104
  const formattedPayload = {
@@ -104,6 +109,7 @@ export class HostEventClient {
104
109
 
105
110
  const data = await this.handleHostEventWithParam(
106
111
  UIPassthroughEvent.PinAnswerToLiveboard, formattedPayload,
112
+ context as ContextType,
107
113
  );
108
114
 
109
115
  return {
@@ -114,14 +120,16 @@ export class HostEventClient {
114
120
 
115
121
  protected async handleSaveAnswerEvent(
116
122
  payload: HostEventRequest<HostEvent.SaveAnswer>,
123
+ context?: ContextType,
117
124
  ): Promise<any> {
118
125
  if (!payload || !('name' in payload) || !('description' in payload)) {
119
126
  // Save is the fallback for SaveAnswer
120
- return this.hostEventFallback(HostEvent.Save, payload);
127
+ return this.hostEventFallback(HostEvent.Save, payload, context);
121
128
  }
122
129
 
123
130
  const data = await this.handleHostEventWithParam(
124
131
  UIPassthroughEvent.SaveAnswer, payload,
132
+ context as ContextType,
125
133
  );
126
134
  return {
127
135
  ...data,
@@ -132,19 +140,22 @@ export class HostEventClient {
132
140
  public async triggerHostEvent<
133
141
  HostEventT extends HostEvent,
134
142
  PayloadT,
143
+ ContextT extends ContextType,
135
144
  >(
136
145
  hostEvent: HostEventT,
137
146
  payload?: TriggerPayload<PayloadT, HostEventT>,
138
- ): Promise<TriggerResponse<PayloadT, HostEventT>> {
147
+ context?: ContextT,
148
+ ): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>> {
139
149
  switch (hostEvent) {
140
150
  case HostEvent.Pin:
141
- return this.handlePinEvent(payload as HostEventRequest<HostEvent.Pin>) as any;
151
+ return this.handlePinEvent(payload as HostEventRequest<HostEvent.Pin>, context as ContextType) as any;
142
152
  case HostEvent.SaveAnswer:
143
153
  return this.handleSaveAnswerEvent(
144
154
  payload as HostEventRequest<HostEvent.SaveAnswer>,
155
+ context as ContextType,
145
156
  ) as any;
146
157
  default:
147
- return this.hostEventFallback(hostEvent, payload);
158
+ return this.hostEventFallback(hostEvent, payload, context);
148
159
  }
149
160
  }
150
161
  }
@@ -1530,7 +1530,7 @@ describe('Liveboard/viz embed tests', () => {
1530
1530
  await liveboardEmbed.trigger(HostEvent.Save);
1531
1531
  expect(mockProcessTrigger).toHaveBeenCalledWith(HostEvent.Save, {
1532
1532
  vizId: 'testViz',
1533
- });
1533
+ }, undefined);
1534
1534
  });
1535
1535
  });
1536
1536
  });
@@ -22,6 +22,7 @@ import {
22
22
  LiveboardAppEmbedViewConfig,
23
23
  ErrorDetailsTypes,
24
24
  EmbedErrorCodes,
25
+ ContextType,
25
26
  } from '../types';
26
27
  import { calculateVisibleElementData, getQueryParamString, isUndefined, isValidCssMargin } from '../utils';
27
28
  import { getAuthPromise } from './base';
@@ -842,10 +843,11 @@ export class LiveboardEmbed extends V1Embed {
842
843
  * @param {any} data The payload to send with the message
843
844
  * @returns A promise that resolves with the response from the embedded app
844
845
  */
845
- public trigger<HostEventT extends HostEvent, PayloadT>(
846
+ public trigger<HostEventT extends HostEvent, PayloadT, ContextT extends ContextType>(
846
847
  messageType: HostEventT,
847
848
  data: TriggerPayload<PayloadT, HostEventT> = ({} as any),
848
- ): Promise<TriggerResponse<PayloadT, HostEventT>> {
849
+ context?: ContextT,
850
+ ): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>> {
849
851
  const dataWithVizId: any = data;
850
852
  if (messageType === HostEvent.SetActiveTab) {
851
853
  this.setActiveTab(data as { tabId: string });
@@ -854,7 +856,7 @@ export class LiveboardEmbed extends V1Embed {
854
856
  if (typeof dataWithVizId === 'object' && this.viewConfig.vizId) {
855
857
  dataWithVizId.vizId = this.viewConfig.vizId;
856
858
  }
857
- return super.trigger(messageType, dataWithVizId);
859
+ return super.trigger(messageType, dataWithVizId, context);
858
860
  }
859
861
  /**
860
862
  * Destroys the ThoughtSpot embed, and remove any nodes from the DOM.