@thoughtspot/visual-embed-sdk 1.45.2 → 1.45.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 (140) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/css-variables.d.ts +48 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +37 -0
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +37 -1
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +24 -0
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/conversation.d.ts +127 -9
  11. package/cjs/src/embed/conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/conversation.js +41 -18
  13. package/cjs/src/embed/conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.spec.js +96 -3
  15. package/cjs/src/embed/conversation.spec.js.map +1 -1
  16. package/cjs/src/embed/liveboard.d.ts +38 -1
  17. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  18. package/cjs/src/embed/liveboard.js +38 -10
  19. package/cjs/src/embed/liveboard.js.map +1 -1
  20. package/cjs/src/embed/liveboard.spec.js +179 -7
  21. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  22. package/cjs/src/errors.d.ts +1 -0
  23. package/cjs/src/errors.d.ts.map +1 -1
  24. package/cjs/src/errors.js +1 -0
  25. package/cjs/src/errors.js.map +1 -1
  26. package/cjs/src/index.d.ts +3 -3
  27. package/cjs/src/index.d.ts.map +1 -1
  28. package/cjs/src/index.js.map +1 -1
  29. package/cjs/src/types.d.ts +192 -40
  30. package/cjs/src/types.d.ts.map +1 -1
  31. package/cjs/src/types.js +184 -19
  32. package/cjs/src/types.js.map +1 -1
  33. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  34. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  35. package/cjs/src/utils/graphql/answerService/answer-queries.js +23 -1
  36. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  37. package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -1
  38. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  39. package/cjs/src/utils/graphql/answerService/answerService.js +9 -1
  40. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  41. package/cjs/src/utils/graphql/answerService/answerService.spec.js +73 -0
  42. package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  43. package/cjs/src/utils.d.ts +15 -0
  44. package/cjs/src/utils.d.ts.map +1 -1
  45. package/cjs/src/utils.js +33 -1
  46. package/cjs/src/utils.js.map +1 -1
  47. package/cjs/src/utils.spec.js +49 -0
  48. package/cjs/src/utils.spec.js.map +1 -1
  49. package/dist/{index-BdkKLLo1.js → index-BuwECGdm.js} +1 -1
  50. package/dist/src/css-variables.d.ts +48 -0
  51. package/dist/src/css-variables.d.ts.map +1 -1
  52. package/dist/src/embed/app.d.ts +37 -0
  53. package/dist/src/embed/app.d.ts.map +1 -1
  54. package/dist/src/embed/conversation.d.ts +127 -9
  55. package/dist/src/embed/conversation.d.ts.map +1 -1
  56. package/dist/src/embed/liveboard.d.ts +38 -1
  57. package/dist/src/embed/liveboard.d.ts.map +1 -1
  58. package/dist/src/errors.d.ts +1 -0
  59. package/dist/src/errors.d.ts.map +1 -1
  60. package/dist/src/index.d.ts +3 -3
  61. package/dist/src/index.d.ts.map +1 -1
  62. package/dist/src/types.d.ts +192 -40
  63. package/dist/src/types.d.ts.map +1 -1
  64. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  65. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  66. package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -1
  67. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  68. package/dist/src/utils.d.ts +15 -0
  69. package/dist/src/utils.d.ts.map +1 -1
  70. package/dist/tsembed-react.es.js +364 -52
  71. package/dist/tsembed-react.js +363 -51
  72. package/dist/tsembed.es.js +364 -52
  73. package/dist/tsembed.js +363 -51
  74. package/dist/visual-embed-sdk-react-full.d.ts +696 -342
  75. package/dist/visual-embed-sdk-react.d.ts +685 -331
  76. package/dist/visual-embed-sdk.d.ts +757 -379
  77. package/lib/package.json +1 -1
  78. package/lib/src/css-variables.d.ts +48 -0
  79. package/lib/src/css-variables.d.ts.map +1 -1
  80. package/lib/src/embed/app.d.ts +37 -0
  81. package/lib/src/embed/app.d.ts.map +1 -1
  82. package/lib/src/embed/app.js +39 -3
  83. package/lib/src/embed/app.js.map +1 -1
  84. package/lib/src/embed/app.spec.js +24 -0
  85. package/lib/src/embed/app.spec.js.map +1 -1
  86. package/lib/src/embed/conversation.d.ts +127 -9
  87. package/lib/src/embed/conversation.d.ts.map +1 -1
  88. package/lib/src/embed/conversation.js +42 -19
  89. package/lib/src/embed/conversation.js.map +1 -1
  90. package/lib/src/embed/conversation.spec.js +96 -3
  91. package/lib/src/embed/conversation.spec.js.map +1 -1
  92. package/lib/src/embed/liveboard.d.ts +38 -1
  93. package/lib/src/embed/liveboard.d.ts.map +1 -1
  94. package/lib/src/embed/liveboard.js +39 -11
  95. package/lib/src/embed/liveboard.js.map +1 -1
  96. package/lib/src/embed/liveboard.spec.js +179 -7
  97. package/lib/src/embed/liveboard.spec.js.map +1 -1
  98. package/lib/src/errors.d.ts +1 -0
  99. package/lib/src/errors.d.ts.map +1 -1
  100. package/lib/src/errors.js +1 -0
  101. package/lib/src/errors.js.map +1 -1
  102. package/lib/src/index.d.ts +3 -3
  103. package/lib/src/index.d.ts.map +1 -1
  104. package/lib/src/index.js.map +1 -1
  105. package/lib/src/types.d.ts +192 -40
  106. package/lib/src/types.d.ts.map +1 -1
  107. package/lib/src/types.js +184 -19
  108. package/lib/src/types.js.map +1 -1
  109. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  110. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  111. package/lib/src/utils/graphql/answerService/answer-queries.js +22 -0
  112. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  113. package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -1
  114. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  115. package/lib/src/utils/graphql/answerService/answerService.js +9 -1
  116. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  117. package/lib/src/utils/graphql/answerService/answerService.spec.js +73 -0
  118. package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
  119. package/lib/src/utils.d.ts +15 -0
  120. package/lib/src/utils.d.ts.map +1 -1
  121. package/lib/src/utils.js +30 -0
  122. package/lib/src/utils.js.map +1 -1
  123. package/lib/src/utils.spec.js +50 -1
  124. package/lib/src/utils.spec.js.map +1 -1
  125. package/package.json +1 -1
  126. package/src/css-variables.ts +60 -0
  127. package/src/embed/app.spec.ts +32 -0
  128. package/src/embed/app.ts +97 -1
  129. package/src/embed/conversation.spec.ts +117 -3
  130. package/src/embed/conversation.ts +188 -29
  131. package/src/embed/liveboard.spec.ts +264 -10
  132. package/src/embed/liveboard.ts +100 -11
  133. package/src/errors.ts +1 -0
  134. package/src/index.ts +5 -1
  135. package/src/types.ts +193 -40
  136. package/src/utils/graphql/answerService/answer-queries.ts +23 -0
  137. package/src/utils/graphql/answerService/answerService.spec.ts +87 -0
  138. package/src/utils/graphql/answerService/answerService.ts +13 -1
  139. package/src/utils.spec.ts +56 -0
  140. package/src/utils.ts +36 -0
@@ -10,7 +10,7 @@
10
10
  import { getPreview } from '../utils/graphql/preview-service';
11
11
  import { ERROR_MESSAGE } from '../errors';
12
12
  import { EmbedEvent, Param, HostEvent, ErrorDetailsTypes, EmbedErrorCodes, } from '../types';
13
- import { calculateVisibleElementData, getQueryParamString, isUndefined, isValidCssMargin } from '../utils';
13
+ import { calculateVisibleElementData, getQueryParamString, isUndefined, isValidCssMargin, setParamIfDefined } from '../utils';
14
14
  import { V1Embed } from './ts-embed';
15
15
  import { addPreviewStylesIfNotPresent } from '../utils/global-styles';
16
16
  import { logger } from '../utils/logger';
@@ -91,6 +91,7 @@ export class LiveboardEmbed extends V1Embed {
91
91
  liveboardId: this.viewConfig.liveboardId,
92
92
  vizId: this.viewConfig.vizId,
93
93
  activeTabId: this.viewConfig.activeTabId,
94
+ personalizedViewId: this.viewConfig.personalizedViewId,
94
95
  };
95
96
  if (this.viewConfig.fullHeight === true) {
96
97
  if (this.viewConfig.vizId) {
@@ -115,7 +116,7 @@ export class LiveboardEmbed extends V1Embed {
115
116
  getEmbedParamsObject() {
116
117
  let params = {};
117
118
  params = this.getBaseQueryParams(params);
118
- const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, isEnhancedFilterInteractivityEnabled = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, isThisPeriodInDateFiltersEnabled, } = this.viewConfig;
119
+ const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, isEnhancedFilterInteractivityEnabled = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, spotterChatConfig, isThisPeriodInDateFiltersEnabled, } = this.viewConfig;
119
120
  const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
120
121
  || this.viewConfig.preventPinboardFilterRemoval;
121
122
  if (fullHeight === true) {
@@ -189,6 +190,12 @@ export class LiveboardEmbed extends V1Embed {
189
190
  if (showSpotterLimitations !== undefined) {
190
191
  params[Param.ShowSpotterLimitations] = showSpotterLimitations;
191
192
  }
193
+ // Handle spotterChatConfig params
194
+ if (spotterChatConfig) {
195
+ const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, } = spotterChatConfig;
196
+ setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
197
+ setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
198
+ }
192
199
  if (isLinkParametersEnabled !== undefined) {
193
200
  params[Param.isLinkParametersEnabled] = isLinkParametersEnabled;
194
201
  }
@@ -212,15 +219,31 @@ export class LiveboardEmbed extends V1Embed {
212
219
  const queryParams = getQueryParamString(params, true);
213
220
  return params;
214
221
  }
215
- getIframeSuffixSrc(liveboardId, vizId, activeTabId) {
216
- let suffix = `/embed/viz/${liveboardId}`;
222
+ getIframeSuffixSrc(liveboardId, vizId, activeTabId, personalizedViewId) {
223
+ // Extract view from liveboardId if passed along with it (legacy approach)
224
+ // View must be appended as query param at the end, not embedded in path
225
+ let liveboardGuid = liveboardId;
226
+ let legacyViewId;
227
+ if (liveboardId === null || liveboardId === void 0 ? void 0 : liveboardId.includes('?')) {
228
+ const [id, query] = liveboardId.split('?');
229
+ liveboardGuid = id;
230
+ const params = new URLSearchParams(query);
231
+ legacyViewId = params.get('view') || undefined;
232
+ }
233
+ // personalizedViewId takes precedence over legacyViewId (when passed as part of liveboardId)
234
+ const effectiveViewId = personalizedViewId || legacyViewId;
235
+ let suffix = `/embed/viz/${liveboardGuid}`;
217
236
  if (activeTabId) {
218
- suffix = `${suffix}/tab/${activeTabId} `;
237
+ suffix = `${suffix}/tab/${activeTabId}`;
219
238
  }
220
239
  if (vizId) {
221
240
  suffix = `${suffix}/${vizId}`;
222
241
  }
223
- const tsPostHashParams = this.getThoughtSpotPostUrlParams();
242
+ const additionalParams = {};
243
+ if (effectiveViewId) {
244
+ additionalParams.view = effectiveViewId;
245
+ }
246
+ const tsPostHashParams = this.getThoughtSpotPostUrlParams(additionalParams);
224
247
  suffix = `${suffix}${tsPostHashParams}`;
225
248
  return suffix;
226
249
  }
@@ -230,7 +253,7 @@ export class LiveboardEmbed extends V1Embed {
230
253
  */
231
254
  getIFrameSrc() {
232
255
  var _a;
233
- const { vizId, activeTabId } = this.viewConfig;
256
+ const { vizId, activeTabId, personalizedViewId } = this.viewConfig;
234
257
  const liveboardId = (_a = this.viewConfig.liveboardId) !== null && _a !== void 0 ? _a : this.viewConfig.pinboardId;
235
258
  if (!liveboardId) {
236
259
  this.handleError({
@@ -240,7 +263,7 @@ export class LiveboardEmbed extends V1Embed {
240
263
  error: ERROR_MESSAGE.LIVEBOARD_VIZ_ID_VALIDATION,
241
264
  });
242
265
  }
243
- return `${this.getRootIframeSrc()}${this.getIframeSuffixSrc(liveboardId, vizId, activeTabId)}`;
266
+ return `${this.getRootIframeSrc()}${this.getIframeSuffixSrc(liveboardId, vizId, activeTabId, personalizedViewId)}`;
244
267
  }
245
268
  setActiveTab(data) {
246
269
  if (!this.viewConfig.vizId) {
@@ -279,12 +302,13 @@ export class LiveboardEmbed extends V1Embed {
279
302
  beforePrerenderVisible() {
280
303
  const embedObj = this.getPreRenderObj();
281
304
  this.executeAfterEmbedContainerLoaded(() => {
282
- this.navigateToLiveboard(this.viewConfig.liveboardId, this.viewConfig.vizId, this.viewConfig.activeTabId);
305
+ this.navigateToLiveboard(this.viewConfig.liveboardId, this.viewConfig.vizId, this.viewConfig.activeTabId, this.viewConfig.personalizedViewId);
283
306
  if (embedObj) {
284
307
  embedObj.currentLiveboardState = {
285
308
  liveboardId: this.viewConfig.liveboardId,
286
309
  vizId: this.viewConfig.vizId,
287
310
  activeTabId: this.viewConfig.activeTabId,
311
+ personalizedViewId: this.viewConfig.personalizedViewId,
288
312
  };
289
313
  }
290
314
  });
@@ -349,11 +373,12 @@ export class LiveboardEmbed extends V1Embed {
349
373
  this.postRender();
350
374
  return this;
351
375
  }
352
- navigateToLiveboard(liveboardId, vizId, activeTabId) {
353
- const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
376
+ navigateToLiveboard(liveboardId, vizId, activeTabId, personalizedViewId) {
377
+ const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId, personalizedViewId);
354
378
  this.viewConfig.liveboardId = liveboardId;
355
379
  this.viewConfig.activeTabId = activeTabId;
356
380
  this.viewConfig.vizId = vizId;
381
+ this.viewConfig.personalizedViewId = personalizedViewId;
357
382
  if (this.isRendered) {
358
383
  this.trigger(HostEvent.Navigate, path.substring(1));
359
384
  }
@@ -377,6 +402,9 @@ export class LiveboardEmbed extends V1Embed {
377
402
  if (this.viewConfig.vizId) {
378
403
  url = `${url}/${this.viewConfig.vizId}`;
379
404
  }
405
+ if (this.viewConfig.personalizedViewId) {
406
+ url = `${url}?view=${this.viewConfig.personalizedViewId}`;
407
+ }
380
408
  return url;
381
409
  }
382
410
  }
@@ -1 +1 @@
1
- {"version":3,"file":"liveboard.js","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"liveboard.js","sourceRoot":"","sources":["../../../src/embed/liveboard.ts"],"names":[],"mappings":"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"}
@@ -637,6 +637,152 @@ describe('Liveboard/viz embed tests', () => {
637
637
  expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true${defaultParams}&hideTabPanel=true&isLiveboardEmbed=true&isPinboardV2Enabled=true#/embed/viz/${liveboardId}/tab/${activeTabId}`);
638
638
  });
639
639
  });
640
+ describe('personalizedViewId functionality', () => {
641
+ const personalizedViewId = 'view-456-guid';
642
+ test('should render liveboard with personalizedViewId', async () => {
643
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
644
+ ...defaultViewConfig,
645
+ liveboardId,
646
+ personalizedViewId,
647
+ });
648
+ liveboardEmbed.render();
649
+ await executeAfterWait(() => {
650
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), { view: personalizedViewId });
651
+ });
652
+ });
653
+ test('should render liveboard with personalizedViewId and activeTabId together', async () => {
654
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
655
+ ...defaultViewConfig,
656
+ liveboardId,
657
+ personalizedViewId,
658
+ activeTabId,
659
+ });
660
+ liveboardEmbed.render();
661
+ await executeAfterWait(() => {
662
+ // URL should be: #/embed/viz/{id}/tab/{tabId}?view={viewId}
663
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}/tab/${activeTabId}\\?view=${personalizedViewId}`));
664
+ });
665
+ });
666
+ test('should render liveboard with personalizedViewId and vizId together', async () => {
667
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
668
+ ...defaultViewConfig,
669
+ liveboardId,
670
+ personalizedViewId,
671
+ vizId,
672
+ });
673
+ liveboardEmbed.render();
674
+ await executeAfterWait(() => {
675
+ // URL should be: #/embed/viz/{id}/{vizId}?view={viewId}
676
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}/${vizId}\\?view=${personalizedViewId}`));
677
+ });
678
+ });
679
+ test('should render liveboard with personalizedViewId, activeTabId, and vizId together', async () => {
680
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
681
+ ...defaultViewConfig,
682
+ liveboardId,
683
+ personalizedViewId,
684
+ activeTabId,
685
+ vizId,
686
+ });
687
+ liveboardEmbed.render();
688
+ await executeAfterWait(() => {
689
+ // URL should be: #/embed/viz/{id}/tab/{tabId}/{vizId}?view={viewId}
690
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}/tab/${activeTabId}/${vizId}\\?view=${personalizedViewId}`));
691
+ });
692
+ });
693
+ test('should not include view param when personalizedViewId is not provided', async () => {
694
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
695
+ ...defaultViewConfig,
696
+ liveboardId,
697
+ });
698
+ liveboardEmbed.render();
699
+ await executeAfterWait(() => {
700
+ expect(getIFrameSrc()).not.toContain('view=');
701
+ });
702
+ });
703
+ test('should include personalizedViewId in getLiveboardUrl', async () => {
704
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
705
+ ...defaultViewConfig,
706
+ liveboardId,
707
+ personalizedViewId,
708
+ });
709
+ await liveboardEmbed.render();
710
+ expect(liveboardEmbed.getLiveboardUrl()).toBe(`http://${thoughtSpotHost}/#/pinboard/${liveboardId}?view=${personalizedViewId}`);
711
+ });
712
+ test('should include personalizedViewId with activeTabId in getLiveboardUrl', async () => {
713
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
714
+ ...defaultViewConfig,
715
+ liveboardId,
716
+ personalizedViewId,
717
+ activeTabId,
718
+ });
719
+ await liveboardEmbed.render();
720
+ expect(liveboardEmbed.getLiveboardUrl()).toBe(`http://${thoughtSpotHost}/#/pinboard/${liveboardId}/tab/${activeTabId}?view=${personalizedViewId}`);
721
+ });
722
+ test('personalizedViewId should work with runtime filters', async () => {
723
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
724
+ ...defaultViewConfig,
725
+ liveboardId,
726
+ personalizedViewId,
727
+ runtimeFilters: [
728
+ {
729
+ columnName: 'sales',
730
+ operator: RuntimeFilterOp.EQ,
731
+ values: [1000],
732
+ },
733
+ ],
734
+ excludeRuntimeFiltersfromURL: false,
735
+ });
736
+ liveboardEmbed.render();
737
+ await executeAfterWait(() => {
738
+ expectUrlToHaveParamsWithValues(getIFrameSrc(), {
739
+ view: personalizedViewId,
740
+ col1: 'sales',
741
+ op1: 'EQ',
742
+ val1: '1000',
743
+ });
744
+ });
745
+ });
746
+ describe('backward compatibility with liveboardId?view= workaround', () => {
747
+ const workaroundViewId = 'workaround-view-id';
748
+ const liveboardIdWithView = `${liveboardId}?view=${workaroundViewId}`;
749
+ test('should extract view from workaround and add at end of URL', async () => {
750
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
751
+ ...defaultViewConfig,
752
+ liveboardId: liveboardIdWithView,
753
+ });
754
+ liveboardEmbed.render();
755
+ await executeAfterWait(() => {
756
+ // URL: #/embed/viz/{cleanId}?view={workaroundViewId}
757
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}\\?view=${workaroundViewId}`));
758
+ });
759
+ });
760
+ test('should extract view and place after tab when activeTabId is provided', async () => {
761
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
762
+ ...defaultViewConfig,
763
+ liveboardId: liveboardIdWithView,
764
+ activeTabId,
765
+ });
766
+ liveboardEmbed.render();
767
+ await executeAfterWait(() => {
768
+ // URL: #/embed/viz/{id}/tab/{tabId}?view={viewId} (view at END, not middle)
769
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}/tab/${activeTabId}\\?view=${workaroundViewId}`));
770
+ });
771
+ });
772
+ test('should use personalizedViewId over workaround when both provided', async () => {
773
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
774
+ ...defaultViewConfig,
775
+ liveboardId: liveboardIdWithView,
776
+ personalizedViewId,
777
+ });
778
+ liveboardEmbed.render();
779
+ await executeAfterWait(() => {
780
+ // personalizedViewId wins, workaround stripped
781
+ expect(getIFrameSrc()).toMatch(new RegExp(`#/embed/viz/${liveboardId}\\?view=${personalizedViewId}`));
782
+ });
783
+ });
784
+ });
785
+ });
640
786
  test('navigateToLiveboard should trigger the navigate event with the correct path', async () => {
641
787
  mockMessageChannel();
642
788
  // mock getSessionInfo
@@ -741,6 +887,32 @@ describe('Liveboard/viz embed tests', () => {
741
887
  expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&updatedSpotterChatPrompt=false#/embed/viz/${liveboardId}`);
742
888
  });
743
889
  });
890
+ test('should set hideToolResponseCardBranding parameter in url params via spotterChatConfig', async () => {
891
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
892
+ ...defaultViewConfig,
893
+ liveboardId,
894
+ spotterChatConfig: {
895
+ hideToolResponseCardBranding: true,
896
+ },
897
+ });
898
+ await liveboardEmbed.render();
899
+ await executeAfterWait(() => {
900
+ expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&hideToolResponseCardBranding=true#/embed/viz/${liveboardId}`);
901
+ });
902
+ });
903
+ test('should set toolResponseCardBrandingLabel parameter in url params via spotterChatConfig', async () => {
904
+ const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
905
+ ...defaultViewConfig,
906
+ liveboardId,
907
+ spotterChatConfig: {
908
+ toolResponseCardBrandingLabel: 'MyBrand',
909
+ },
910
+ });
911
+ await liveboardEmbed.render();
912
+ await executeAfterWait(() => {
913
+ expectUrlMatchesWithParams(getIFrameSrc(), `http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&toolResponseCardBrandingLabel=MyBrand#/embed/viz/${liveboardId}`);
914
+ });
915
+ });
744
916
  test('SetActiveTab Hostevent should not trigger the navigate event with the correct path, for vizEmbed', async () => {
745
917
  const mockProcessTrigger = jest.spyOn(tsEmbed.TsEmbed.prototype, 'trigger');
746
918
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -874,7 +1046,7 @@ describe('Liveboard/viz embed tests', () => {
874
1046
  await executeAfterWait(() => {
875
1047
  const iFrame = document.getElementById(libEmbed.getPreRenderIds().child);
876
1048
  // should render the generic link
877
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId');
1049
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId', undefined);
878
1050
  expect(iFrame.src).toMatch(/http:\/\/tshost\/.*&isLiveboardEmbed=true.*#$/);
879
1051
  expect(consoleSpy).toHaveBeenCalledTimes(0);
880
1052
  });
@@ -920,7 +1092,7 @@ describe('Liveboard/viz embed tests', () => {
920
1092
  await executeAfterWait(() => {
921
1093
  const iFrame = document.getElementById(libEmbed.getPreRenderIds().child);
922
1094
  // should render the generic link
923
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId');
1095
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(testLiveboardId, 'testVizId', 'testActiveTabId', undefined);
924
1096
  expect(iFrame.src).toMatch(/http:\/\/tshost\/.*&isLiveboardEmbed=true.*#$/);
925
1097
  expect(consoleSpy).toHaveBeenCalledTimes(0);
926
1098
  }, 1005);
@@ -1218,7 +1390,7 @@ describe('Liveboard/viz embed tests', () => {
1218
1390
  liveboardEmbed.isEmbedContainerLoaded = true;
1219
1391
  liveboardEmbed['executeEmbedContainerReadyCallbacks']();
1220
1392
  // Now navigateToLiveboard should be called
1221
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1393
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId, undefined);
1222
1394
  });
1223
1395
  test('should update currentLiveboardState for prerender object when embed container loads', async () => {
1224
1396
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -1259,7 +1431,7 @@ describe('Liveboard/viz embed tests', () => {
1259
1431
  // Call beforePrerenderVisible
1260
1432
  liveboardEmbed['beforePrerenderVisible']();
1261
1433
  // navigateToLiveboard should be called immediately
1262
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1434
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId, undefined);
1263
1435
  });
1264
1436
  test('should handle beforePrerenderVisible without prerender object', async () => {
1265
1437
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -1278,7 +1450,7 @@ describe('Liveboard/viz embed tests', () => {
1278
1450
  liveboardEmbed.isEmbedContainerLoaded = true;
1279
1451
  liveboardEmbed['executeEmbedContainerReadyCallbacks']();
1280
1452
  // navigateToLiveboard should still be called
1281
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId);
1453
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, vizId, activeTabId, undefined);
1282
1454
  });
1283
1455
  test('should work with all liveboard parameters', async () => {
1284
1456
  const customLiveboardId = 'custom-liveboard-id';
@@ -1296,7 +1468,7 @@ describe('Liveboard/viz embed tests', () => {
1296
1468
  // Call beforePrerenderVisible
1297
1469
  liveboardEmbed['beforePrerenderVisible']();
1298
1470
  // Check that all parameters are passed correctly
1299
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(customLiveboardId, customVizId, customActiveTabId);
1471
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(customLiveboardId, customVizId, customActiveTabId, undefined);
1300
1472
  });
1301
1473
  test('should work with minimal liveboard parameters', async () => {
1302
1474
  const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
@@ -1309,7 +1481,7 @@ describe('Liveboard/viz embed tests', () => {
1309
1481
  // Call beforePrerenderVisible
1310
1482
  liveboardEmbed['beforePrerenderVisible']();
1311
1483
  // Check that undefined parameters are passed correctly
1312
- expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, undefined, undefined);
1484
+ expect(navigateToLiveboardSpy).toHaveBeenCalledWith(liveboardId, undefined, undefined, undefined);
1313
1485
  });
1314
1486
  });
1315
1487
  describe('Liveboard Embed Default Height and Minimum Height Handling', () => {