Skip to content

Commit 6a522e9

Browse files
SCAL-266279:added tse flag for link parameters (#322)
1 parent 3e6d3d4 commit 6a522e9

File tree

6 files changed

+3846
-3643
lines changed

6 files changed

+3846
-3643
lines changed

src/embed/app.spec.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,34 @@ describe('App embed tests', () => {
358358
});
359359
});
360360

361+
test('should set isLinkParametersEnabled to true in url', async () => {
362+
const appEmbed = new AppEmbed(getRootEl(), {
363+
...defaultViewConfig,
364+
isLinkParametersEnabled: true,
365+
} as AppViewConfig);
366+
appEmbed.render();
367+
await executeAfterWait(() => {
368+
expectUrlMatchesWithParams(
369+
getIFrameSrc(),
370+
`http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&isLinkParametersEnabled=true${defaultParamsPost}#/home`,
371+
);
372+
});
373+
});
374+
375+
test('should set isLinkParametersEnabled to false in url', async () => {
376+
const appEmbed = new AppEmbed(getRootEl(), {
377+
...defaultViewConfig,
378+
isLinkParametersEnabled: false,
379+
} as AppViewConfig);
380+
appEmbed.render();
381+
await executeAfterWait(() => {
382+
expectUrlMatchesWithParams(
383+
getIFrameSrc(),
384+
`http://${thoughtSpotHost}/?embedApp=true&profileAndHelpInNavBarHidden=false&isLinkParametersEnabled=false${defaultParamsPost}#/home`,
385+
);
386+
});
387+
});
388+
361389
test('should set liveboardXLSXCSVDownload to true in url', async () => {
362390
const appEmbed = new AppEmbed(getRootEl(), {
363391
...defaultViewConfig,

src/embed/app.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -663,6 +663,7 @@ export class AppEmbed extends V1Embed {
663663
liveboardXLSXCSVDownload = false,
664664
isLiveboardStylingAndGroupingEnabled,
665665
isPNGInScheduledEmailsEnabled = false,
666+
isLinkParametersEnabled,
666667
} = this.viewConfig;
667668

668669
let params: any = {};
@@ -750,6 +751,10 @@ export class AppEmbed extends V1Embed {
750751
params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
751752
}
752753

754+
if (isLinkParametersEnabled !== undefined) {
755+
params[Param.isLinkParametersEnabled] = isLinkParametersEnabled;
756+
}
757+
753758
params[Param.DataPanelV2Enabled] = dataPanelV2;
754759
params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
755760
params[Param.ModularHomeExperienceEnabled] = modularHomeExperience;

src/embed/liveboard.spec.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,36 @@ describe('Liveboard/viz embed tests', () => {
183183
});
184184
});
185185

186+
test('should set isLinkParametersEnabled to true in url', async () => {
187+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
188+
isLinkParametersEnabled: true,
189+
...defaultViewConfig,
190+
liveboardId,
191+
} as LiveboardViewConfig);
192+
liveboardEmbed.render();
193+
await executeAfterWait(() => {
194+
expectUrlMatchesWithParams(
195+
getIFrameSrc(),
196+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLinkParametersEnabled=true${prefixParams}#/embed/viz/${liveboardId}`,
197+
);
198+
});
199+
});
200+
201+
test('should set isLinkParametersEnabled to false in url', async () => {
202+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
203+
isLinkParametersEnabled: false,
204+
...defaultViewConfig,
205+
liveboardId,
206+
} as LiveboardViewConfig);
207+
liveboardEmbed.render();
208+
await executeAfterWait(() => {
209+
expectUrlMatchesWithParams(
210+
getIFrameSrc(),
211+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLinkParametersEnabled=false${prefixParams}#/embed/viz/${liveboardId}`,
212+
);
213+
});
214+
});
215+
186216
test('should set visible actions as empty array', async () => {
187217
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
188218
visibleActions: [],

src/embed/liveboard.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ export class LiveboardEmbed extends V1Embed {
477477
isLiveboardStylingAndGroupingEnabled,
478478
isPNGInScheduledEmailsEnabled = false,
479479
showSpotterLimitations,
480+
isLinkParametersEnabled,
480481
} = this.viewConfig;
481482

482483
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
@@ -552,6 +553,10 @@ export class LiveboardEmbed extends V1Embed {
552553
params[Param.ShowSpotterLimitations] = showSpotterLimitations;
553554
}
554555

556+
if (isLinkParametersEnabled !== undefined) {
557+
params[Param.isLinkParametersEnabled] = isLinkParametersEnabled;
558+
}
559+
555560
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
556561
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
557562
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;

src/types.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1512,7 +1512,22 @@ export interface LiveboardAppEmbedViewConfig {
15121512
* ```
15131513
*/
15141514
liveboardXLSXCSVDownload?: boolean;
1515-
1515+
/**
1516+
* This flag is used to enable or disable the link parameters in liveboard.
1517+
*
1518+
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
1519+
* @version SDK: 1.42.0 | ThoughtSpot: 10.14.0.cl
1520+
* @example
1521+
* ```js
1522+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
1523+
* const embed = new <EmbedComponent>('#tsEmbed', {
1524+
* ... // other embed view config
1525+
* isLinkParametersEnabled: true,
1526+
* })
1527+
* ```
1528+
*/
1529+
isLinkParametersEnabled?: boolean;
1530+
15161531
}
15171532

15181533
export interface AllEmbedViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, HomePageConfig, LiveboardAppEmbedViewConfig { }
@@ -4350,6 +4365,7 @@ export enum Param {
43504365
RootMarginForLazyLoad = 'rootMarginForLazyLoad',
43514366
LiveboardXLSXCSVDownload = 'isLiveboardXLSXCSVDownloadEnabled',
43524367
isPNGInScheduledEmailsEnabled = 'isPNGInScheduledEmailsEnabled',
4368+
isLinkParametersEnabled = 'isLinkParametersEnabled',
43534369
}
43544370

43554371
/**

0 commit comments

Comments
 (0)