@thoughtspot/visual-embed-sdk 1.38.0 → 1.39.0
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.
- package/README.md +1 -1
- package/cjs/package.json +1 -1
- package/cjs/src/embed/app.d.ts +96 -156
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +7 -4
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +10 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +4 -4
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +1 -1
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +22 -11
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +1 -1
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +110 -167
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +25 -11
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +11 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +17 -2
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +2 -0
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +16 -6
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +46 -14
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +19 -2
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +49 -0
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +45 -4
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +2 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +2 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +1 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +1 -1
- package/cjs/src/react/util.d.ts +7 -4
- package/cjs/src/react/util.d.ts.map +1 -1
- package/cjs/src/react/util.js.map +1 -1
- package/cjs/src/types.d.ts +482 -251
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +31 -14
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +2 -1
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/processData.d.ts.map +1 -1
- package/cjs/src/utils/processData.js +15 -0
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +15 -0
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +14 -0
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils/processTrigger.spec.js +54 -0
- package/cjs/src/utils/processTrigger.spec.js.map +1 -1
- package/cjs/src/utils.d.ts +11 -2
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +70 -1
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +85 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-BIcnpmMY.js → index-sSREbWM-.js} +1 -1
- package/dist/src/embed/app.d.ts +96 -156
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +4 -4
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +22 -11
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +110 -167
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +17 -2
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +16 -6
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +46 -14
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +19 -2
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/util.d.ts +7 -4
- package/dist/src/react/util.d.ts.map +1 -1
- package/dist/src/types.d.ts +482 -251
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +11 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +3498 -3322
- package/dist/tsembed-react.js +3497 -3321
- package/dist/tsembed.es.js +213 -37
- package/dist/tsembed.js +216 -40
- package/dist/visual-embed-sdk-react-full.d.ts +845 -655
- package/dist/visual-embed-sdk-react.d.ts +845 -655
- package/dist/visual-embed-sdk.d.ts +827 -640
- package/lib/package.json +1 -1
- package/lib/src/embed/app.d.ts +96 -156
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +7 -4
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +10 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +4 -4
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +1 -1
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +22 -11
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +1 -1
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +110 -167
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +25 -11
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +11 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +17 -2
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +2 -0
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +16 -6
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +46 -14
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +19 -2
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +49 -0
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +45 -4
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +1 -1
- package/lib/src/react/util.d.ts +7 -4
- package/lib/src/react/util.d.ts.map +1 -1
- package/lib/src/react/util.js.map +1 -1
- package/lib/src/types.d.ts +482 -251
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +31 -14
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +2 -1
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +15 -0
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js +15 -0
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +14 -0
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js +54 -0
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts +11 -2
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +67 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +86 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +836 -649
- package/package.json +1 -1
- package/src/embed/app.spec.ts +14 -0
- package/src/embed/app.ts +98 -153
- package/src/embed/bodyless-conversation.ts +4 -4
- package/src/embed/conversation.ts +23 -12
- package/src/embed/liveboard.spec.ts +15 -0
- package/src/embed/liveboard.ts +142 -182
- package/src/embed/sage.ts +17 -5
- package/src/embed/search-bar.tsx +16 -17
- package/src/embed/search.ts +47 -21
- package/src/embed/ts-embed.spec.ts +52 -4
- package/src/embed/ts-embed.ts +61 -6
- package/src/index.ts +2 -0
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.tsx +3 -3
- package/src/react/util.ts +6 -4
- package/src/types.ts +488 -253
- package/src/utils/graphql/answerService/answerService.ts +5 -4
- package/src/utils/processData.spec.ts +28 -0
- package/src/utils/processData.ts +17 -0
- package/src/utils/processTrigger.spec.ts +90 -0
- package/src/utils/processTrigger.ts +16 -1
- package/src/utils.spec.ts +113 -0
- package/src/utils.ts +78 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import isUndefined from 'lodash/isUndefined';
|
|
2
2
|
import { ERROR_MESSAGE } from '../errors';
|
|
3
|
-
import {
|
|
3
|
+
import { Param, BaseViewConfig } from '../types';
|
|
4
4
|
import { TsEmbed } from './ts-embed';
|
|
5
5
|
import { getQueryParamString } from '../utils';
|
|
6
6
|
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
8
|
* Configuration for search options
|
|
9
9
|
*/
|
|
10
10
|
export interface SearchOptions {
|
|
@@ -18,9 +18,9 @@ export interface SearchOptions {
|
|
|
18
18
|
* The configuration for the embedded spotterEmbed options.
|
|
19
19
|
* @group Embed components
|
|
20
20
|
*/
|
|
21
|
-
export interface SpotterEmbedViewConfig extends
|
|
21
|
+
export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, 'primaryAction'> {
|
|
22
22
|
/**
|
|
23
|
-
* The ID of the
|
|
23
|
+
* The ID of the data source object. For example, Model, View, or Table. Spotter uses this object to query data and generate Answers.
|
|
24
24
|
*/
|
|
25
25
|
worksheetId: string;
|
|
26
26
|
/**
|
|
@@ -30,10 +30,12 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
30
30
|
/**
|
|
31
31
|
* disableSourceSelection : Disables data source selection
|
|
32
32
|
* but still display the selected data source.
|
|
33
|
+
*
|
|
34
|
+
* Supported embed types: `SpotterEmbed`
|
|
33
35
|
* @example
|
|
34
36
|
* ```js
|
|
35
37
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
36
|
-
* ... //
|
|
38
|
+
* ... //other embed view config
|
|
37
39
|
* disableSourceSelection : true,
|
|
38
40
|
* })
|
|
39
41
|
* ```
|
|
@@ -42,10 +44,12 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
42
44
|
disableSourceSelection?: boolean;
|
|
43
45
|
/**
|
|
44
46
|
* hideSourceSelection : Hide data source selection
|
|
47
|
+
*
|
|
48
|
+
* Supported embed types: `SpotterEmbed`
|
|
45
49
|
* @example
|
|
46
50
|
* ```js
|
|
47
51
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
48
|
-
* ... //
|
|
52
|
+
* ... //other embed view config
|
|
49
53
|
* hideSourceSelection : true,
|
|
50
54
|
* })
|
|
51
55
|
* ```
|
|
@@ -54,12 +58,15 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
54
58
|
hideSourceSelection?: boolean;
|
|
55
59
|
/**
|
|
56
60
|
* Flag to control Data panel experience
|
|
61
|
+
*
|
|
62
|
+
* Supported embed types: `SageEmbed`, `AppEmbed`, `SearchBarEmbed`, `LiveboardEmbed`, `SearchEmbed`
|
|
57
63
|
* @default false
|
|
58
64
|
* @version SDK: 1.36.0 | ThoughtSpot Cloud: 10.4.0.cl
|
|
59
65
|
* @example
|
|
60
66
|
* ```js
|
|
61
|
-
*
|
|
62
|
-
*
|
|
67
|
+
* // Replace <EmbedComponent> with embed component name. For example, SageEmbed, AppEmbed, or SearchBarEmbed
|
|
68
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
69
|
+
* ... // other embed view config
|
|
63
70
|
* dataPanelV2: true,
|
|
64
71
|
* })
|
|
65
72
|
* ```
|
|
@@ -69,10 +76,12 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
69
76
|
* showSpotterLimitations : show limitation text
|
|
70
77
|
* of the spotter underneath the chat input.
|
|
71
78
|
* default is false.
|
|
79
|
+
*
|
|
80
|
+
* Supported embed types: `SpotterEmbed`
|
|
72
81
|
* @example
|
|
73
82
|
* ```js
|
|
74
83
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
75
|
-
* ... //
|
|
84
|
+
* ... //other embed view config
|
|
76
85
|
* showSpotterLimitations : true,
|
|
77
86
|
* })
|
|
78
87
|
* ```
|
|
@@ -82,10 +91,12 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
82
91
|
/**
|
|
83
92
|
* hideSampleQuestions : Hide sample questions on
|
|
84
93
|
* the initial screen of the conversation.
|
|
94
|
+
*
|
|
95
|
+
* Supported embed types: `SpotterEmbed`
|
|
85
96
|
* @example
|
|
86
97
|
* ```js
|
|
87
98
|
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
88
|
-
* ... //
|
|
99
|
+
* ... //other embed view config
|
|
89
100
|
* hideSampleQuestions : true,
|
|
90
101
|
* })
|
|
91
102
|
* ```
|
|
@@ -96,7 +107,7 @@ export interface SpotterEmbedViewConfig extends ViewConfig {
|
|
|
96
107
|
|
|
97
108
|
/**
|
|
98
109
|
* The configuration for the embedded spotterEmbed options.
|
|
99
|
-
* @deprecated from SDK: 1.
|
|
110
|
+
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
100
111
|
* Use {@link SpotterEmbedViewConfig} instead
|
|
101
112
|
* @group Embed components
|
|
102
113
|
*/
|
|
@@ -183,7 +194,7 @@ export class SpotterEmbed extends TsEmbed {
|
|
|
183
194
|
|
|
184
195
|
/**
|
|
185
196
|
* Embed ThoughtSpot AI Conversation.
|
|
186
|
-
* @deprecated from SDK: 1.
|
|
197
|
+
* @deprecated from SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
187
198
|
* Use {@link SpotterEmbed} instead
|
|
188
199
|
* @group Embed components
|
|
189
200
|
* @example
|
|
@@ -142,6 +142,21 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
142
142
|
});
|
|
143
143
|
});
|
|
144
144
|
|
|
145
|
+
test('should set isLiveboardStylingAndGroupingEnabled to true in url', async () => {
|
|
146
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
147
|
+
isLiveboardStylingAndGroupingEnabled: true,
|
|
148
|
+
...defaultViewConfig,
|
|
149
|
+
liveboardId,
|
|
150
|
+
} as LiveboardViewConfig);
|
|
151
|
+
liveboardEmbed.render();
|
|
152
|
+
await executeAfterWait(() => {
|
|
153
|
+
expectUrlMatchesWithParams(
|
|
154
|
+
getIFrameSrc(),
|
|
155
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardStylingAndGroupingEnabled=true${prefixParams}#/embed/viz/${liveboardId}`,
|
|
156
|
+
);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
|
|
145
160
|
test('should set visible actions as empty array', async () => {
|
|
146
161
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
147
162
|
visibleActions: [],
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -17,30 +17,23 @@ import {
|
|
|
17
17
|
RuntimeFilter,
|
|
18
18
|
DOMSelector,
|
|
19
19
|
HostEvent,
|
|
20
|
-
|
|
20
|
+
SearchLiveboardCommonViewConfig as LiveboardOtherViewConfig,
|
|
21
|
+
BaseViewConfig,
|
|
22
|
+
LiveboardAppEmbedViewConfig,
|
|
21
23
|
} from '../types';
|
|
22
24
|
import { getQueryParamString, isUndefined } from '../utils';
|
|
23
25
|
import { getAuthPromise } from './base';
|
|
24
26
|
import { TsEmbed, V1Embed } from './ts-embed';
|
|
25
27
|
import { addPreviewStylesIfNotPresent } from '../utils/global-styles';
|
|
26
28
|
import { TriggerPayload, TriggerResponse } from './hostEventClient/contracts';
|
|
29
|
+
import { logger } from '../utils/logger';
|
|
27
30
|
|
|
28
|
-
const liveboardHeightWhitelistedRoutes = [
|
|
29
|
-
'/embed/viz/',
|
|
30
|
-
'/embed/insights/viz/',
|
|
31
|
-
'/tsl-editor/PINBOARD_ANSWER_BOOK/',
|
|
32
|
-
'/import-tsl/PINBOARD_ANSWER_BOOK/',
|
|
33
|
-
];
|
|
34
31
|
|
|
35
32
|
/**
|
|
36
33
|
* The configuration for the embedded Liveboard or visualization page view.
|
|
37
34
|
* @group Embed components
|
|
38
35
|
*/
|
|
39
|
-
export interface LiveboardViewConfig
|
|
40
|
-
extends Omit<
|
|
41
|
-
ViewConfig,
|
|
42
|
-
'hiddenHomepageModules' | 'hiddenHomeLeftNavItems' | 'reorderedHomepageModules'
|
|
43
|
-
> {
|
|
36
|
+
export interface LiveboardViewConfig extends BaseViewConfig, LiveboardOtherViewConfig, LiveboardAppEmbedViewConfig {
|
|
44
37
|
/**
|
|
45
38
|
* If set to true, the embedded object container dynamically resizes
|
|
46
39
|
* according to the height of the Liveboard.
|
|
@@ -53,6 +46,8 @@ export interface LiveboardViewConfig
|
|
|
53
46
|
* incrementally as users scroll the page to view the charts and tables.
|
|
54
47
|
*
|
|
55
48
|
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
|
|
49
|
+
*
|
|
50
|
+
* Supported embed types: `LiveboardEmbed`
|
|
56
51
|
* @example
|
|
57
52
|
* ```js
|
|
58
53
|
* const embed = new LiveboardEmbed('#embed', {
|
|
@@ -66,6 +61,8 @@ export interface LiveboardViewConfig
|
|
|
66
61
|
* This is the minimum height(in pixels) for a full-height Liveboard.
|
|
67
62
|
* Setting this height helps resolve issues with empty Liveboards and
|
|
68
63
|
* other screens navigable from a Liveboard.
|
|
64
|
+
*
|
|
65
|
+
* Supported embed types: `LiveboardEmbed`
|
|
69
66
|
* @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
|
|
70
67
|
* @default 500
|
|
71
68
|
* @example
|
|
@@ -83,7 +80,7 @@ export interface LiveboardViewConfig
|
|
|
83
80
|
* @example
|
|
84
81
|
* ```js
|
|
85
82
|
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
86
|
-
* ... //
|
|
83
|
+
* ... //other embed view config
|
|
87
84
|
* enableVizTransformations:true,
|
|
88
85
|
* })
|
|
89
86
|
* ```
|
|
@@ -93,11 +90,13 @@ export interface LiveboardViewConfig
|
|
|
93
90
|
/**
|
|
94
91
|
* The Liveboard to display in the embedded view.
|
|
95
92
|
* Use either liveboardId or pinboardId to reference the Liveboard to embed.
|
|
93
|
+
*
|
|
94
|
+
* Supported embed types: `LiveboardEmbed`
|
|
96
95
|
* @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1
|
|
97
96
|
* @example
|
|
98
97
|
* ```js
|
|
99
|
-
* const embed = new LiveboardEmbed('#
|
|
100
|
-
* ... //
|
|
98
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
99
|
+
* ... //other embed view config
|
|
101
100
|
* liveboardId:id of liveboard,
|
|
102
101
|
* })
|
|
103
102
|
*/
|
|
@@ -109,11 +108,13 @@ export interface LiveboardViewConfig
|
|
|
109
108
|
pinboardId?: string;
|
|
110
109
|
/**
|
|
111
110
|
* The visualization within the Liveboard to display.
|
|
111
|
+
*
|
|
112
|
+
* Supported embed types: `LiveboardEmbed`
|
|
112
113
|
* @version SDK: 1.9.1 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
|
|
113
114
|
* @example
|
|
114
115
|
* ```js
|
|
115
|
-
* const embed = new LiveboardEmbed('#
|
|
116
|
-
* ... //
|
|
116
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
117
|
+
* ... //other embed view config
|
|
117
118
|
* vizId:'430496d6-6903-4601-937e-2c691821af3c',
|
|
118
119
|
* })
|
|
119
120
|
* ```
|
|
@@ -122,11 +123,13 @@ export interface LiveboardViewConfig
|
|
|
122
123
|
/**
|
|
123
124
|
* If set to true, all filter chips from a
|
|
124
125
|
* Liveboard page will be read-only (no X buttons)
|
|
126
|
+
*
|
|
127
|
+
* Supported embed types: `LiveboardEmbed`
|
|
125
128
|
* @version SDK: 1.3.0 | ThoughtSpot ts7.aug.cl, 7.2.1.sw
|
|
126
129
|
* @example
|
|
127
130
|
* ```js
|
|
128
|
-
* const embed = new LiveboardEmbed('#
|
|
129
|
-
* ... //
|
|
131
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
132
|
+
* ... //other embed view config
|
|
130
133
|
* preventLiveboardFilterRemoval:true,
|
|
131
134
|
* })
|
|
132
135
|
* ```
|
|
@@ -136,11 +139,13 @@ export interface LiveboardViewConfig
|
|
|
136
139
|
* Array of visualization IDs which should be visible when the Liveboard
|
|
137
140
|
* renders. This can be changed by triggering the `SetVisibleVizs`
|
|
138
141
|
* event.
|
|
142
|
+
*
|
|
143
|
+
* Supported embed types: `LiveboardEmbed`
|
|
139
144
|
* @version SDK: 1.9.1 | ThoughtSpot: 8.1.0.cl, 8.4.1-sw
|
|
140
145
|
* @example
|
|
141
146
|
* ```js
|
|
142
|
-
* const embed = new LiveboardEmbed('#
|
|
143
|
-
* ... //
|
|
147
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
148
|
+
* ... //other embed view config
|
|
144
149
|
* visibleVizs: [
|
|
145
150
|
* '430496d6-6903-4601-937e-2c691821af3c',
|
|
146
151
|
* 'f547ec54-2a37-4516-a222-2b06719af726'
|
|
@@ -156,11 +161,13 @@ export interface LiveboardViewConfig
|
|
|
156
161
|
/**
|
|
157
162
|
* Render embedded Liveboards and visualizations in the
|
|
158
163
|
* new Liveboard experience mode.
|
|
164
|
+
*
|
|
165
|
+
* Supported embed types: `LiveboardEmbed`
|
|
159
166
|
* @version SDK: 1.14.0 | ThoughtSpot: 8.6.0.cl, 8.8.1-sw
|
|
160
167
|
* @example
|
|
161
168
|
* ```js
|
|
162
|
-
* const embed = new LiveboardEmbed('#
|
|
163
|
-
* ... //
|
|
169
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
170
|
+
* ... //other embed view config
|
|
164
171
|
* liveboardV2:true,
|
|
165
172
|
* })
|
|
166
173
|
* ```
|
|
@@ -169,10 +176,12 @@ export interface LiveboardViewConfig
|
|
|
169
176
|
/**
|
|
170
177
|
* Set a Liveboard tab as an active tab.
|
|
171
178
|
* Specify the tab ID.
|
|
179
|
+
*
|
|
180
|
+
* Supported embed types: `LiveboardEmbed`
|
|
172
181
|
* @example
|
|
173
182
|
* ```js
|
|
174
183
|
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
175
|
-
* ... //
|
|
184
|
+
* ... //other embed view config
|
|
176
185
|
* activeTabId:'id-1234',
|
|
177
186
|
* })
|
|
178
187
|
* ```
|
|
@@ -181,96 +190,18 @@ export interface LiveboardViewConfig
|
|
|
181
190
|
activeTabId?: string;
|
|
182
191
|
/**
|
|
183
192
|
* Show or hide the tab panel of the embedded Liveboard.
|
|
193
|
+
*
|
|
194
|
+
* Supported embed types: `LiveboardEmbed`
|
|
184
195
|
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl, 9.8.0.sw
|
|
185
196
|
* @example
|
|
186
197
|
* ```js
|
|
187
|
-
* const embed = new LiveboardEmbed('#
|
|
188
|
-
* ... //
|
|
198
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
199
|
+
* ... //other embed view config
|
|
189
200
|
* hideTabPanel:true,
|
|
190
201
|
* })
|
|
191
202
|
* ```
|
|
192
203
|
*/
|
|
193
204
|
hideTabPanel?: boolean;
|
|
194
|
-
/**
|
|
195
|
-
* Show or hide the Liveboard header.
|
|
196
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
|
|
197
|
-
* @default false
|
|
198
|
-
* @example
|
|
199
|
-
* ```js
|
|
200
|
-
* const embed = new LiveboardEmbed('#embed', {
|
|
201
|
-
* ... // other liveboard view config
|
|
202
|
-
* hideLiveboardHeader:true,
|
|
203
|
-
* });
|
|
204
|
-
* ```
|
|
205
|
-
*/
|
|
206
|
-
hideLiveboardHeader?: boolean;
|
|
207
|
-
/**
|
|
208
|
-
* Show or hide the Liveboard title.
|
|
209
|
-
* @default false
|
|
210
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
|
|
211
|
-
* @example
|
|
212
|
-
* ```js
|
|
213
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
214
|
-
* ... // other options
|
|
215
|
-
* showLiveboardTitle:true,
|
|
216
|
-
* })
|
|
217
|
-
* ```
|
|
218
|
-
*/
|
|
219
|
-
showLiveboardTitle?: boolean;
|
|
220
|
-
/**
|
|
221
|
-
* Show or hide the Liveboard description.
|
|
222
|
-
* @default false
|
|
223
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
|
|
224
|
-
* @example
|
|
225
|
-
* ```js
|
|
226
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
227
|
-
* ... // other options
|
|
228
|
-
* showLiveboardDescription:true,
|
|
229
|
-
* })
|
|
230
|
-
* ```
|
|
231
|
-
*/
|
|
232
|
-
showLiveboardDescription?: boolean;
|
|
233
|
-
/**
|
|
234
|
-
* Control the position and visibility of
|
|
235
|
-
* the Liveboard header as the users scroll down the
|
|
236
|
-
* embedded Liveboard page.
|
|
237
|
-
* @example
|
|
238
|
-
* ```js
|
|
239
|
-
* const embed = new LiveboardEmbed('#embed', {
|
|
240
|
-
* ... // other Liveboard view config
|
|
241
|
-
* isLiveboardHeaderSticky: true,
|
|
242
|
-
* });
|
|
243
|
-
* ```
|
|
244
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl, 9.8.0.sw
|
|
245
|
-
*/
|
|
246
|
-
isLiveboardHeaderSticky?: boolean;
|
|
247
|
-
/**
|
|
248
|
-
* enable or disable ask sage
|
|
249
|
-
* @default false
|
|
250
|
-
* @version SDK: 1.29.0 | Thoughtspot: 9.12.0.cl
|
|
251
|
-
* @example
|
|
252
|
-
* ```js
|
|
253
|
-
* const embed = new SearchEmbed('#tsEmbed', {
|
|
254
|
-
* ... // other options
|
|
255
|
-
* enableAskSage:true,
|
|
256
|
-
* })
|
|
257
|
-
* ```
|
|
258
|
-
*/
|
|
259
|
-
enableAskSage?: boolean;
|
|
260
|
-
/**
|
|
261
|
-
* This flag is used to enable the 2 column layout on a Liveboard
|
|
262
|
-
* @type {boolean}
|
|
263
|
-
* @default false
|
|
264
|
-
* @version SDK: 1.32.0 | ThoughtSpot:10.1.0.cl
|
|
265
|
-
* @example
|
|
266
|
-
* ```js
|
|
267
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
268
|
-
* ... // other options
|
|
269
|
-
* enable2ColumnLayout: true,
|
|
270
|
-
* })
|
|
271
|
-
* ```
|
|
272
|
-
*/
|
|
273
|
-
enable2ColumnLayout?: boolean;
|
|
274
205
|
/**
|
|
275
206
|
* Show a preview image of the visualization before the visualization loads.
|
|
276
207
|
* Only works for visualizations embeds with a viz id.
|
|
@@ -280,9 +211,11 @@ export interface LiveboardViewConfig
|
|
|
280
211
|
*
|
|
281
212
|
* Since, this will show preview images, be careful that it may show
|
|
282
213
|
* undesired data to the user when using row level security.
|
|
214
|
+
*
|
|
215
|
+
* Supported embed types: `LiveboardEmbed`
|
|
283
216
|
* @example
|
|
284
217
|
* ```js
|
|
285
|
-
* const embed = new LiveboardEmbed('#
|
|
218
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
286
219
|
* liveboardId: 'liveboard-id',
|
|
287
220
|
* vizId: 'viz-id',
|
|
288
221
|
* showPreviewLoader: true,
|
|
@@ -292,75 +225,16 @@ export interface LiveboardViewConfig
|
|
|
292
225
|
* @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
|
|
293
226
|
*/
|
|
294
227
|
showPreviewLoader?: boolean;
|
|
295
|
-
/**
|
|
296
|
-
* Enables or disables the compact header feature on a Liveboard.
|
|
297
|
-
* Compact Liveboard header is turned off by default on Liveboards in
|
|
298
|
-
* ThoughtSpot Embedded apps.
|
|
299
|
-
*
|
|
300
|
-
* @type {boolean}
|
|
301
|
-
* @default false
|
|
302
|
-
* @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
|
|
303
|
-
* @example
|
|
304
|
-
* ```js
|
|
305
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
306
|
-
* ... // other options
|
|
307
|
-
* isLiveboardCompactHeaderEnabled: true,
|
|
308
|
-
* })
|
|
309
|
-
* ```
|
|
310
|
-
*/
|
|
311
|
-
isLiveboardCompactHeaderEnabled?: boolean;
|
|
312
|
-
/**
|
|
313
|
-
* This flag is used to show/hide verified icon in the Liveboard compact header
|
|
314
|
-
* @type {boolean}
|
|
315
|
-
* @default true
|
|
316
|
-
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
317
|
-
* @example
|
|
318
|
-
* ```js
|
|
319
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
320
|
-
* ... // other options
|
|
321
|
-
* showLiveboardVerifiedBadge: true,
|
|
322
|
-
* })
|
|
323
|
-
* ```
|
|
324
|
-
*/
|
|
325
|
-
showLiveboardVerifiedBadge?: boolean;
|
|
326
|
-
/**
|
|
327
|
-
* This flag is used to show/hide the re-verify banner
|
|
328
|
-
* in Liveboard compact header
|
|
329
|
-
* @type {boolean}
|
|
330
|
-
* @default true
|
|
331
|
-
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
332
|
-
* @example
|
|
333
|
-
* ```js
|
|
334
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
335
|
-
* ... // other options
|
|
336
|
-
* showLiveboardReverifyBanner: true,
|
|
337
|
-
* })
|
|
338
|
-
* ```
|
|
339
|
-
*/
|
|
340
|
-
showLiveboardReverifyBanner?: boolean;
|
|
341
|
-
/**
|
|
342
|
-
* This flag is used to enable/disable hide irrelevant filters in a Liveboard tab
|
|
343
|
-
* @type {boolean}
|
|
344
|
-
* @default false
|
|
345
|
-
* @version SDK: 1.36.0 | ThoughtSpot:10.6.0.cl
|
|
346
|
-
* @example
|
|
347
|
-
* ```js
|
|
348
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
349
|
-
* ... // other options
|
|
350
|
-
* hideIrrelevantChipsInLiveboardTabs: true,
|
|
351
|
-
* })
|
|
352
|
-
* ```
|
|
353
|
-
*/
|
|
354
|
-
hideIrrelevantChipsInLiveboardTabs?: boolean;
|
|
355
|
-
|
|
356
228
|
/**
|
|
357
229
|
* The Liveboard to run on regular intervals to fetch the cdw token.
|
|
230
|
+
*
|
|
231
|
+
* Supported embed types: `LiveboardEmbed`
|
|
358
232
|
* @hidden
|
|
359
233
|
* @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
|
|
360
234
|
* @example
|
|
361
235
|
* ```js
|
|
362
|
-
* const embed = new LiveboardEmbed('#
|
|
363
|
-
* ... //
|
|
236
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
237
|
+
* ... //other embed view config
|
|
364
238
|
* oAuthPollingInterval: value in milliseconds,
|
|
365
239
|
* })
|
|
366
240
|
*/
|
|
@@ -368,12 +242,14 @@ export interface LiveboardViewConfig
|
|
|
368
242
|
|
|
369
243
|
/**
|
|
370
244
|
* The Liveboard is set to force a token fetch during the initial load.
|
|
245
|
+
*
|
|
246
|
+
* Supported embed types: `LiveboardEmbed`
|
|
371
247
|
* @hidden
|
|
372
248
|
* @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
|
|
373
249
|
* @example
|
|
374
250
|
* ```js
|
|
375
|
-
* const embed = new LiveboardEmbed('#
|
|
376
|
-
* ... //
|
|
251
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
252
|
+
* ... //other embed view config
|
|
377
253
|
* isForceRedirect: false,
|
|
378
254
|
* })
|
|
379
255
|
*/
|
|
@@ -383,10 +259,12 @@ export interface LiveboardViewConfig
|
|
|
383
259
|
* The source connection ID for authentication.
|
|
384
260
|
* @hidden
|
|
385
261
|
* @version SDK: 1.35.0 | ThoughtSpot:10.6.0.cl
|
|
262
|
+
*
|
|
263
|
+
* Supported embed types: `LiveboardEmbed`
|
|
386
264
|
* @example
|
|
387
265
|
* ```js
|
|
388
|
-
* const embed = new LiveboardEmbed('#
|
|
389
|
-
* ... //
|
|
266
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
267
|
+
* ... //other embed view config
|
|
390
268
|
* dataSourceId: '',
|
|
391
269
|
* })
|
|
392
270
|
*/
|
|
@@ -395,18 +273,75 @@ export interface LiveboardViewConfig
|
|
|
395
273
|
/**
|
|
396
274
|
* This flag is for show/hide checkboxes for include or exclude
|
|
397
275
|
* cover page and filters in the Liveboard PDF.
|
|
398
|
-
*
|
|
399
|
-
*
|
|
276
|
+
*
|
|
277
|
+
* Supported embed types: `LiveboardEmbed`
|
|
400
278
|
* @version SDK: 1.37.0 | ThoughtSpot:10.8.0.cl
|
|
279
|
+
* @default true
|
|
280
|
+
* Supported embed types: `LiveboardEmbed`
|
|
401
281
|
* @example
|
|
402
282
|
* ```js
|
|
403
|
-
* const embed = new LiveboardEmbed('#
|
|
404
|
-
* ... //
|
|
283
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
284
|
+
* ... //other embed view config
|
|
405
285
|
* coverAndFilterOptionInPDF: false,
|
|
406
286
|
* })
|
|
407
287
|
* ```
|
|
408
288
|
*/
|
|
409
289
|
coverAndFilterOptionInPDF?: boolean;
|
|
290
|
+
/**
|
|
291
|
+
* The list of tab IDs to hide from the embedded.
|
|
292
|
+
* This Tabs will be hidden from their respective LBs.
|
|
293
|
+
* Use this to hide an tabID.
|
|
294
|
+
*
|
|
295
|
+
* Supported embed types: `LiveboardEmbed`
|
|
296
|
+
* @example
|
|
297
|
+
* ```js
|
|
298
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
299
|
+
* ... // other embed view config
|
|
300
|
+
* hiddenTabs: [
|
|
301
|
+
* '430496d6-6903-4601-937e-2c691821af3c',
|
|
302
|
+
* 'f547ec54-2a37-4516-a222-2b06719af726'
|
|
303
|
+
* ]
|
|
304
|
+
* });
|
|
305
|
+
* ```
|
|
306
|
+
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
|
|
307
|
+
*/
|
|
308
|
+
hiddenTabs?: string[];
|
|
309
|
+
/**
|
|
310
|
+
* The list of tab IDs to show in the embedded Liveboard.
|
|
311
|
+
* Only the tabs specified in the array will be shown in the Liveboard.
|
|
312
|
+
*
|
|
313
|
+
* Use either `visibleTabs` or `hiddenTabs`.
|
|
314
|
+
*
|
|
315
|
+
* Supported embed types: `LiveboardEmbed`
|
|
316
|
+
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 10.1.0.sw
|
|
317
|
+
* @example
|
|
318
|
+
* ```js
|
|
319
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
320
|
+
* ... // other embed view config
|
|
321
|
+
* visibleTabs: [
|
|
322
|
+
* '430496d6-6903-4601-937e-2c691821af3c',
|
|
323
|
+
* 'f547ec54-2a37-4516-a222-2b06719af726'
|
|
324
|
+
* ]
|
|
325
|
+
* })
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
visibleTabs?: string[];
|
|
329
|
+
/**
|
|
330
|
+
* This flag is used to enable/disable the styling and grouping in a Liveboard
|
|
331
|
+
*
|
|
332
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
333
|
+
* @type {boolean}
|
|
334
|
+
* @version SDK: 1.40.0 | ThoughtSpot: 10.11.0.cl
|
|
335
|
+
* @example
|
|
336
|
+
* ```js
|
|
337
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
338
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
339
|
+
* ... // other embed view config
|
|
340
|
+
* isLiveboardStylingAndGroupingEnabled: true,
|
|
341
|
+
* })
|
|
342
|
+
* ```
|
|
343
|
+
*/
|
|
344
|
+
isLiveboardStylingAndGroupingEnabled?: boolean;
|
|
410
345
|
}
|
|
411
346
|
|
|
412
347
|
/**
|
|
@@ -429,11 +364,16 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
429
364
|
|
|
430
365
|
private defaultHeight = 500;
|
|
431
366
|
|
|
432
|
-
|
|
367
|
+
|
|
433
368
|
constructor(domSelector: DOMSelector, viewConfig: LiveboardViewConfig) {
|
|
434
369
|
viewConfig.embedComponentType = 'LiveboardEmbed';
|
|
435
370
|
super(domSelector, viewConfig);
|
|
436
371
|
if (this.viewConfig.fullHeight === true) {
|
|
372
|
+
if (this.viewConfig.vizId) {
|
|
373
|
+
logger.warn('Full height is currently only supported for Liveboard embeds.' +
|
|
374
|
+
'Using full height with vizId might lead to unexpected behavior.');
|
|
375
|
+
}
|
|
376
|
+
|
|
437
377
|
this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
|
|
438
378
|
this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
|
|
439
379
|
this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
|
|
@@ -472,6 +412,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
472
412
|
isForceRedirect,
|
|
473
413
|
dataSourceId,
|
|
474
414
|
coverAndFilterOptionInPDF,
|
|
415
|
+
isLiveboardStylingAndGroupingEnabled,
|
|
475
416
|
} = this.viewConfig;
|
|
476
417
|
|
|
477
418
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -534,6 +475,10 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
534
475
|
params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
|
|
535
476
|
}
|
|
536
477
|
|
|
478
|
+
if (isLiveboardStylingAndGroupingEnabled !== undefined) {
|
|
479
|
+
params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
|
|
480
|
+
}
|
|
481
|
+
|
|
537
482
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
538
483
|
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
539
484
|
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
@@ -592,11 +537,26 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
592
537
|
};
|
|
593
538
|
|
|
594
539
|
private setIframeHeightForNonEmbedLiveboard = (data: MessagePayload) => {
|
|
595
|
-
const
|
|
596
|
-
|
|
540
|
+
const { height: frameHeight } = this.viewConfig.frameParams || {};
|
|
541
|
+
|
|
542
|
+
const liveboardRelatedRoutes = [
|
|
543
|
+
'/pinboard/',
|
|
544
|
+
'/insights/pinboard/',
|
|
545
|
+
'/schedules/',
|
|
546
|
+
'/embed/viz/',
|
|
547
|
+
'/embed/insights/viz/',
|
|
548
|
+
'/liveboard/',
|
|
549
|
+
'/insights/liveboard/',
|
|
550
|
+
'/tsl-editor/PINBOARD_ANSWER_BOOK/',
|
|
551
|
+
'/import-tsl/PINBOARD_ANSWER_BOOK/',
|
|
552
|
+
];
|
|
553
|
+
|
|
554
|
+
if (liveboardRelatedRoutes.some((path) => data.data.currentPath.startsWith(path))) {
|
|
555
|
+
// Ignore the height reset of the frame, if the navigation is
|
|
556
|
+
// only within the liveboard page.
|
|
597
557
|
return;
|
|
598
558
|
}
|
|
599
|
-
this.setIFrameHeight(this.defaultHeight);
|
|
559
|
+
this.setIFrameHeight(frameHeight || this.defaultHeight);
|
|
600
560
|
};
|
|
601
561
|
|
|
602
562
|
private setActiveTab(data: { tabId: string }) {
|