Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/embed/app.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,7 @@ describe('App embed tests', () => {
values: [1000],
},
],
excludeRuntimeFiltersfromURL: undefined,
} as AppViewConfig);

appEmbed.render();
Expand Down
3 changes: 3 additions & 0 deletions src/embed/conversation.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@ describe('ConversationEmbed', () => {
values: [1000],
},
],
excludeRuntimeFiltersfromURL: false,
};

const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
Expand All @@ -219,6 +220,7 @@ describe('ConversationEmbed', () => {
value: '30',
},
],
excludeRuntimeParametersfromURL: false,
};

const conversationEmbed = new SpotterEmbed(getRootEl(), viewConfig);
Expand Down Expand Up @@ -355,6 +357,7 @@ describe('ConversationEmbed', () => {
value: '30',
},
],
excludeRuntimeParametersfromURL: false,
};

// Test with deprecated class
Expand Down
30 changes: 22 additions & 8 deletions src/embed/conversation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,11 +127,13 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
runtimeFilters?: RuntimeFilter[];
/**
* Flag to control whether runtime filters should be included in the URL.
* If true, filters will be passed via app initialization payload instead.
* If false/undefined, filters will be added to URL (default behavior).
* If true, filters will be passed via app initialization payload
* (default behavior from SDK 1.45.0).
* If false/undefined, filters are appended to the iframe URL instead.
* (default behavior before SDK 1.45.0).
*
* Supported embed types: `SpotterEmbed`
* @default false
* @default true
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
*/
excludeRuntimeFiltersfromURL?: boolean;
Expand All @@ -156,11 +158,13 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAct
runtimeParameters?: RuntimeParameter[];
/**
* Flag to control whether runtime parameters should be included in the URL.
* If true, parameters will be passed via app initialization payload instead.
* If false/undefined, parameters will be added to URL (default behavior).
* If true, parameters will be passed via app
* initialization payload (default behavior from SDK 1.45.0).
* If false/undefined, parameters are appended to
* the iframe URL instead (default behavior before SDK 1.45.0).
*
* Supported embed types: `SpotterEmbed`
* @default false
* @default true
* @version SDK: 1.41.0 | ThoughtSpot: 10.13.0.cl
*/
excludeRuntimeParametersfromURL?: boolean;
Expand Down Expand Up @@ -224,7 +228,12 @@ export interface ConversationViewConfig extends SpotterEmbedViewConfig {}
*/
export class SpotterEmbed extends TsEmbed {
constructor(container: HTMLElement, protected viewConfig: SpotterEmbedViewConfig) {
viewConfig.embedComponentType = 'conversation';
viewConfig = {
embedComponentType: 'conversation',
excludeRuntimeFiltersfromURL: true,
excludeRuntimeParametersfromURL: true,
...viewConfig,
}
super(container, viewConfig);
}

Expand Down Expand Up @@ -349,7 +358,12 @@ export class SpotterEmbed extends TsEmbed {
*/
export class ConversationEmbed extends SpotterEmbed {
constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
viewConfig.embedComponentType = 'conversation';
viewConfig = {
embedComponentType: 'conversation',
excludeRuntimeFiltersfromURL: true,
excludeRuntimeParametersfromURL: true,
...viewConfig,
}
super(container, viewConfig);
}
}
1 change: 1 addition & 0 deletions src/embed/embed.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ describe('test view config', () => {
const searchEmbed = new SearchEmbed(getRootEl(), {
...defaultViewConfig,
runtimeFilters,
excludeRuntimeFiltersfromURL: false,
});
searchEmbed.render();

Expand Down
2 changes: 2 additions & 0 deletions src/embed/liveboard.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,7 @@ describe('Liveboard/viz embed tests', () => {
values: [1000],
},
],
excludeRuntimeFiltersfromURL: undefined,
} as LiveboardViewConfig);
liveboardEmbed.render();
const runtimeFilter = 'col1=sales&op1=EQ&val1=1000';
Expand Down Expand Up @@ -890,6 +891,7 @@ describe('Liveboard/viz embed tests', () => {
value: 1,
},
],
excludeRuntimeParametersfromURL: undefined,
} as LiveboardViewConfig);
await liveboardEmbed.render();
await executeAfterWait(() => {
Expand Down
1 change: 1 addition & 0 deletions src/embed/pinboard.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,7 @@ describe('Pinboard/viz embed tests', () => {
values: [1000],
},
],
excludeRuntimeFiltersfromURL: undefined,
} as LiveboardViewConfig);
liveboardEmbed.render();
const runtimeFilter = 'col1=sales&op1=EQ&val1=1000';
Expand Down
2 changes: 2 additions & 0 deletions src/embed/search.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ describe('Search embed tests', () => {
values: ['berkeley'],
},
],
excludeRuntimeFiltersfromURL: undefined,
});
searchEmbed.render();
const runtimeFilter = 'col1=city&op1=EQ&val1=berkeley';
Expand Down Expand Up @@ -485,6 +486,7 @@ describe('Search embed tests', () => {
value: 1,
},
],
excludeRuntimeParametersfromURL: false,
});
searchEmbed.render();
await executeAfterWait(() => {
Expand Down
7 changes: 6 additions & 1 deletion src/embed/search.ts
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,12 @@ export class SearchEmbed extends TsEmbed {
protected viewConfig: SearchViewConfig;

constructor(domSelector: DOMSelector, viewConfig: SearchViewConfig) {
viewConfig.embedComponentType = 'SearchEmbed';
viewConfig = {
embedComponentType: 'SearchEmbed',
excludeRuntimeFiltersfromURL: true,
excludeRuntimeParametersfromURL: true,
...viewConfig,
}
super(domSelector, viewConfig);
}

Expand Down
1 change: 1 addition & 0 deletions src/embed/ts-embed.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,7 @@ describe('Unit test case for ts embed', () => {
const searchEmbed = new SearchEmbed(getRootEl(), {
...defaultViewConfig,
runtimeFilters: mockRuntimeFilters,
excludeRuntimeFiltersfromURL: undefined,
});
searchEmbed.render();
const mockPort: any = {
Expand Down
10 changes: 7 additions & 3 deletions src/embed/ts-embed.ts
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,8 @@ export class TsEmbed {
this.eventHandlerMap = new Map();
this.isError = false;
this.viewConfig = {
excludeRuntimeFiltersfromURL: false,
excludeRuntimeParametersfromURL: false,
excludeRuntimeFiltersfromURL: true,
excludeRuntimeParametersfromURL: true,
...viewConfig,
};
this.registerAppInit();
Expand Down Expand Up @@ -1756,7 +1756,11 @@ export class V1Embed extends TsEmbed {

constructor(domSelector: DOMSelector, viewConfig: ViewConfig) {
super(domSelector, viewConfig);
this.viewConfig = { excludeRuntimeFiltersfromURL: false, ...viewConfig };
this.viewConfig = {
excludeRuntimeFiltersfromURL: true,
excludeRuntimeParametersfromURL: true,
...viewConfig,
};
}

/**
Expand Down
13 changes: 9 additions & 4 deletions src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1277,21 +1277,26 @@ export interface SearchLiveboardCommonViewConfig {
/**
* Boolean to exclude runtimeFilters in the URL
* By default it is true, this flag removes runtime filters from the URL
* when set to false, runtime filters will be included in the URL.
* (default behavior from SDK 1.45.0).
* when set to false, runtime filters will be included in the URL
* (default behavior before SDK 1.45.0).
*
* Irrespective of this flag, runtime filters ( if passed ) will be applied to the
* embedded view.
* @default false
* @default true
* @version SDK: 1.24.0 | ThoughtSpot: 9.5.0.cl
*/
excludeRuntimeFiltersfromURL?: boolean;
/**
* Boolean to exclude runtimeParameters from the URL
* when set to true, this flag removes runtime parameters from the URL.
* when set to true, this flag removes runtime parameters from the URL
* (default behavior from SDK 1.45.0).
* when set to false, runtime parameters will be included in the URL
* (default behavior before SDK 1.45.0).
*
* Irrespective of this flag, runtime filters ( if passed ) will be applied to the
* embedded view.
* @default false
* @default true
* @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl
*/
excludeRuntimeParametersfromURL?: boolean;
Expand Down
Loading