@thoughtspot/visual-embed-sdk 1.6.0-alpha.1 → 1.7.0-alpha.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 +8 -8
- package/dist/src/embed/app.d.ts +14 -3
- package/dist/src/embed/liveboard.d.ts +101 -0
- package/dist/src/embed/liveboard.spec.d.ts +1 -0
- package/dist/src/embed/ts-embed.d.ts +2 -11
- package/dist/src/errors.d.ts +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/react/index.d.ts +4 -3
- package/dist/src/types.d.ts +23 -20
- package/dist/tsembed.es.js +83 -70
- package/dist/tsembed.js +82 -68
- package/lib/package.json +4 -1
- package/lib/src/embed/app.d.ts +14 -3
- package/lib/src/embed/app.js +25 -2
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +32 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +55 -2
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +101 -0
- package/lib/src/embed/{pinboard.js → liveboard.js} +34 -26
- package/lib/src/embed/liveboard.js.map +1 -0
- package/lib/src/embed/liveboard.spec.d.ts +1 -0
- package/lib/src/embed/liveboard.spec.js +159 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -0
- package/lib/src/embed/pinboard.spec.js +1 -1
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +2 -11
- package/lib/src/embed/ts-embed.js +2 -22
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +63 -6
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +1 -1
- package/lib/src/errors.js +1 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/index.d.ts +4 -3
- package/lib/src/react/index.js +3 -2
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +23 -20
- package/lib/src/types.js +20 -18
- package/lib/src/types.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +79 -58
- package/package.json +4 -1
- package/src/embed/app.spec.ts +41 -0
- package/src/embed/app.ts +28 -3
- package/src/embed/events.spec.ts +64 -5
- package/src/embed/liveboard.spec.ts +199 -0
- package/src/embed/{pinboard.ts → liveboard.ts} +60 -42
- package/src/embed/pinboard.spec.ts +11 -11
- package/src/embed/ts-embed.spec.ts +81 -8
- package/src/embed/ts-embed.ts +3 -24
- package/src/errors.ts +2 -2
- package/src/index.ts +7 -2
- package/src/react/index.tsx +14 -8
- package/src/types.ts +23 -20
- package/dist/src/embed/pinboard.d.ts +0 -85
- package/lib/src/embed/pinboard.d.ts +0 -85
- package/lib/src/embed/pinboard.js.map +0 -1
package/src/embed/ts-embed.ts
CHANGED
|
@@ -105,7 +105,7 @@ export interface ViewConfig {
|
|
|
105
105
|
visibleActions?: Action[];
|
|
106
106
|
/**
|
|
107
107
|
* The list of runtime filters to apply to a search answer,
|
|
108
|
-
* visualization, or
|
|
108
|
+
* visualization, or Liveboard.
|
|
109
109
|
*/
|
|
110
110
|
runtimeFilters?: RuntimeFilter[];
|
|
111
111
|
}
|
|
@@ -327,7 +327,7 @@ export class TsEmbed {
|
|
|
327
327
|
visibleActions,
|
|
328
328
|
} = this.viewConfig;
|
|
329
329
|
|
|
330
|
-
if (visibleActions
|
|
330
|
+
if (Array.isArray(visibleActions) && Array.isArray(hiddenActions)) {
|
|
331
331
|
this.handleError(
|
|
332
332
|
'You cannot have both hidden actions and visible actions',
|
|
333
333
|
);
|
|
@@ -351,7 +351,7 @@ export class TsEmbed {
|
|
|
351
351
|
|
|
352
352
|
/**
|
|
353
353
|
* Constructs the base URL string to load v1 of the ThoughtSpot app.
|
|
354
|
-
* This is used for embedding
|
|
354
|
+
* This is used for embedding Liveboards, visualizations, and full application.
|
|
355
355
|
* @param queryString The query string to append to the URL.
|
|
356
356
|
* @param isAppEmbed A Boolean parameter to specify if you are embedding
|
|
357
357
|
* the full application.
|
|
@@ -587,27 +587,6 @@ export class TsEmbed {
|
|
|
587
587
|
return this;
|
|
588
588
|
}
|
|
589
589
|
|
|
590
|
-
/**
|
|
591
|
-
* Navigates users to the specified application page.
|
|
592
|
-
* Use this method to navigate users from the embedded
|
|
593
|
-
* ThoughtSpot context to a specific page in your app.
|
|
594
|
-
* @param path The page path string.
|
|
595
|
-
* For example, to navigate users to a pinboard page,
|
|
596
|
-
* define the method as navigateToPage('pinboard/<pinboardId>').
|
|
597
|
-
*/
|
|
598
|
-
public navigateToPage(path: string): void {
|
|
599
|
-
const iframeSrc = this.iFrame?.src;
|
|
600
|
-
if (iframeSrc) {
|
|
601
|
-
const embedPath = '#/embed';
|
|
602
|
-
const currentPath = iframeSrc.includes(embedPath) ? embedPath : '#';
|
|
603
|
-
this.iFrame.src = `${
|
|
604
|
-
iframeSrc.split(currentPath)[0]
|
|
605
|
-
}${currentPath}/${path.replace(/^\/?#?\//, '')}`;
|
|
606
|
-
} else {
|
|
607
|
-
console.log('Please call render before invoking this method');
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
|
|
611
590
|
/**
|
|
612
591
|
* Triggers an event on specific Port registered against
|
|
613
592
|
* for the EmbedEvent
|
package/src/errors.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const ERROR_MESSAGE = {
|
|
2
2
|
INVALID_THOUGHTSPOT_HOST:
|
|
3
3
|
'Error parsing ThoughtSpot host. Please provide a valid URL.',
|
|
4
|
-
|
|
5
|
-
'Please provide either
|
|
4
|
+
LIVEBOARD_VIZ_ID_VALIDATION:
|
|
5
|
+
'Please provide either liveboardId or pinboardId',
|
|
6
6
|
};
|
package/src/index.ts
CHANGED
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
import { AppEmbed, Page, AppViewConfig } from './embed/app';
|
|
12
12
|
import { init, prefetch } from './embed/base';
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
PinboardEmbed,
|
|
15
|
+
LiveboardViewConfig,
|
|
16
|
+
LiveboardEmbed,
|
|
17
|
+
} from './embed/liveboard';
|
|
14
18
|
import { SearchEmbed, SearchViewConfig } from './embed/search';
|
|
15
19
|
import {
|
|
16
20
|
AuthType,
|
|
@@ -28,6 +32,7 @@ export {
|
|
|
28
32
|
prefetch,
|
|
29
33
|
SearchEmbed,
|
|
30
34
|
PinboardEmbed,
|
|
35
|
+
LiveboardEmbed,
|
|
31
36
|
AppEmbed,
|
|
32
37
|
// types
|
|
33
38
|
Page,
|
|
@@ -40,6 +45,6 @@ export {
|
|
|
40
45
|
Action,
|
|
41
46
|
EmbedConfig,
|
|
42
47
|
SearchViewConfig,
|
|
43
|
-
|
|
48
|
+
LiveboardViewConfig,
|
|
44
49
|
AppViewConfig,
|
|
45
50
|
};
|
package/src/react/index.tsx
CHANGED
|
@@ -2,9 +2,9 @@ import React from 'react';
|
|
|
2
2
|
import { SearchEmbed as _SearchEmbed, SearchViewConfig } from '../embed/search';
|
|
3
3
|
import { AppEmbed as _AppEmbed, AppViewConfig } from '../embed/app';
|
|
4
4
|
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
} from '../embed/
|
|
5
|
+
LiveboardEmbed as _LiveboardEmbed,
|
|
6
|
+
LiveboardViewConfig,
|
|
7
|
+
} from '../embed/liveboard';
|
|
8
8
|
import { TsEmbed, ViewConfig } from '../embed/ts-embed';
|
|
9
9
|
|
|
10
10
|
import { EmbedEvent, MessageCallback } from '../types';
|
|
@@ -55,10 +55,16 @@ export const AppEmbed = componentFactory<
|
|
|
55
55
|
AppViewConfig
|
|
56
56
|
>(_AppEmbed);
|
|
57
57
|
|
|
58
|
-
interface
|
|
58
|
+
interface LiveboardProps extends EmbedProps, LiveboardViewConfig {}
|
|
59
|
+
|
|
60
|
+
export const LiveboardEmbed = componentFactory<
|
|
61
|
+
typeof _LiveboardEmbed,
|
|
62
|
+
LiveboardProps,
|
|
63
|
+
LiveboardViewConfig
|
|
64
|
+
>(_LiveboardEmbed);
|
|
59
65
|
|
|
60
66
|
export const PinboardEmbed = componentFactory<
|
|
61
|
-
typeof
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
>(
|
|
67
|
+
typeof _LiveboardEmbed,
|
|
68
|
+
LiveboardProps,
|
|
69
|
+
LiveboardViewConfig
|
|
70
|
+
>(_LiveboardEmbed);
|
package/src/types.ts
CHANGED
|
@@ -124,13 +124,14 @@ export interface EmbedConfig {
|
|
|
124
124
|
* When there are multiple embeds, queue the render of embed to start
|
|
125
125
|
* after the previous embed's render is complete. This helps in the load performance
|
|
126
126
|
* by decreasing the load on the browser.
|
|
127
|
+
* @version 1.5.0 or later
|
|
127
128
|
* @default false
|
|
128
129
|
*/
|
|
129
130
|
queueMultiRenders?: boolean;
|
|
130
131
|
|
|
131
132
|
/**
|
|
132
133
|
* Dynamic CSS Url to be injected in the loaded application.
|
|
133
|
-
*
|
|
134
|
+
* @version 1.6.0 or later
|
|
134
135
|
* @default ''
|
|
135
136
|
*/
|
|
136
137
|
customCssUrl?: string;
|
|
@@ -212,7 +213,7 @@ export enum RuntimeFilterOp {
|
|
|
212
213
|
}
|
|
213
214
|
|
|
214
215
|
/**
|
|
215
|
-
* A filter that can be applied to ThoughtSpot answers,
|
|
216
|
+
* A filter that can be applied to ThoughtSpot answers, Liveboards, or
|
|
216
217
|
* visualizations at runtime.
|
|
217
218
|
*/
|
|
218
219
|
export interface RuntimeFilter {
|
|
@@ -252,12 +253,12 @@ export enum EmbedEvent {
|
|
|
252
253
|
*/
|
|
253
254
|
Load = 'load',
|
|
254
255
|
/**
|
|
255
|
-
* Data pertaining to answer or
|
|
256
|
-
* @return data - The answer or
|
|
256
|
+
* Data pertaining to answer or Liveboard is received
|
|
257
|
+
* @return data - The answer or Liveboard data
|
|
257
258
|
*/
|
|
258
259
|
Data = 'data',
|
|
259
260
|
/**
|
|
260
|
-
* Search/answer/
|
|
261
|
+
* Search/answer/Liveboard filters have been applied/updated
|
|
261
262
|
* @hidden
|
|
262
263
|
*/
|
|
263
264
|
FiltersChanged = 'filtersChanged',
|
|
@@ -280,13 +281,13 @@ export enum EmbedEvent {
|
|
|
280
281
|
/**
|
|
281
282
|
* A custom action has been triggered
|
|
282
283
|
* @return actionId - The id of the custom action
|
|
283
|
-
* @return data - The answer or
|
|
284
|
+
* @return data - The answer or Liveboard data
|
|
284
285
|
*/
|
|
285
286
|
CustomAction = 'customAction',
|
|
286
287
|
/**
|
|
287
288
|
* A double click has been triggered on table/chart
|
|
288
289
|
* @return ContextMenuInputPoints - data point that is double clicked
|
|
289
|
-
*
|
|
290
|
+
* @version 1.5.0 or later
|
|
290
291
|
*/
|
|
291
292
|
VizPointDoubleClick = 'vizPointDoubleClick',
|
|
292
293
|
/**
|
|
@@ -304,8 +305,8 @@ export enum EmbedEvent {
|
|
|
304
305
|
*/
|
|
305
306
|
AuthExpire = 'ThoughtspotAuthExpired',
|
|
306
307
|
/**
|
|
307
|
-
* The height of the embedded
|
|
308
|
-
* @return data - The height of the embedded
|
|
308
|
+
* The height of the embedded Liveboard or visualization has been computed.
|
|
309
|
+
* @return data - The height of the embedded Liveboard or visualization
|
|
309
310
|
* @hidden
|
|
310
311
|
*/
|
|
311
312
|
EmbedHeight = 'EMBED_HEIGHT',
|
|
@@ -317,7 +318,6 @@ export enum EmbedEvent {
|
|
|
317
318
|
EmbedIframeCenter = 'EmbedIframeCenter',
|
|
318
319
|
/**
|
|
319
320
|
* Detects the route change.
|
|
320
|
-
* @hidden
|
|
321
321
|
*/
|
|
322
322
|
RouteChange = 'ROUTE_CHANGE',
|
|
323
323
|
/**
|
|
@@ -329,7 +329,7 @@ export enum EmbedEvent {
|
|
|
329
329
|
* Emitted when the embed does not have cookie access. This
|
|
330
330
|
* happens on Safari where third-party cookies are blocked by default.
|
|
331
331
|
*
|
|
332
|
-
* @version 1.1.0
|
|
332
|
+
* @version 1.1.0 or later
|
|
333
333
|
*/
|
|
334
334
|
NoCookieAccess = 'noCookieAccess',
|
|
335
335
|
/**
|
|
@@ -340,12 +340,12 @@ export enum EmbedEvent {
|
|
|
340
340
|
SAMLComplete = 'samlComplete',
|
|
341
341
|
/**
|
|
342
342
|
* Emitted when any modal is opened in the app
|
|
343
|
-
*
|
|
343
|
+
* @version 1.6.0 or later
|
|
344
344
|
*/
|
|
345
345
|
DialogOpen = 'dialog-open',
|
|
346
346
|
/**
|
|
347
347
|
* Emitted when any modal is closed in the app
|
|
348
|
-
*
|
|
348
|
+
* @version 1.6.0 or later
|
|
349
349
|
*/
|
|
350
350
|
DialogClose = 'dialog-close',
|
|
351
351
|
}
|
|
@@ -368,7 +368,7 @@ export enum HostEvent {
|
|
|
368
368
|
* eg. { selectedPoints: []}
|
|
369
369
|
* @param columnGuid - a string guid of the column to drill by. This is optional,
|
|
370
370
|
* if not provided it will auto drill by the configured column. \
|
|
371
|
-
*
|
|
371
|
+
* @version 1.5.0 or later
|
|
372
372
|
*/
|
|
373
373
|
DrillDown = 'triggerDrillDown',
|
|
374
374
|
/**
|
|
@@ -382,10 +382,10 @@ export enum HostEvent {
|
|
|
382
382
|
*/
|
|
383
383
|
Reload = 'reload',
|
|
384
384
|
/**
|
|
385
|
-
* Set the visible
|
|
386
|
-
* @param - an array of ids of
|
|
385
|
+
* Set the visible visualizations on a Liveboard.
|
|
386
|
+
* @param - an array of ids of visualizations to show, the ids not passed
|
|
387
387
|
* will be hidden.
|
|
388
|
-
*
|
|
388
|
+
* @version 1.6.0 or later
|
|
389
389
|
*/
|
|
390
390
|
SetVisibleVizs = 'SetPinboardVisibleVizs',
|
|
391
391
|
}
|
|
@@ -421,7 +421,7 @@ export enum Param {
|
|
|
421
421
|
DisableActions = 'disableAction',
|
|
422
422
|
DisableActionReason = 'disableHint',
|
|
423
423
|
ForceTable = 'forceTable',
|
|
424
|
-
|
|
424
|
+
preventLiveboardFilterRemoval = 'preventPinboardFilterRemoval', // update-TSCB
|
|
425
425
|
SearchQuery = 'searchQuery',
|
|
426
426
|
HideActions = 'hideAction',
|
|
427
427
|
HideObjects = 'hideObjects',
|
|
@@ -444,7 +444,7 @@ export enum Param {
|
|
|
444
444
|
|
|
445
445
|
/**
|
|
446
446
|
* The list of actions that can be performed on visual ThoughtSpot
|
|
447
|
-
* entities, such as answers and
|
|
447
|
+
* entities, such as answers and Liveboards.
|
|
448
448
|
*/
|
|
449
449
|
// eslint-disable-next-line no-shadow
|
|
450
450
|
export enum Action {
|
|
@@ -455,7 +455,6 @@ export enum Action {
|
|
|
455
455
|
MakeACopy = 'makeACopy',
|
|
456
456
|
EditACopy = 'editACopy',
|
|
457
457
|
CopyLink = 'embedDocument',
|
|
458
|
-
PinboardSnapshot = 'pinboardSnapshot',
|
|
459
458
|
ResetLayout = 'resetLayout',
|
|
460
459
|
Schedule = 'schedule',
|
|
461
460
|
SchedulesList = 'schedule-list',
|
|
@@ -488,7 +487,11 @@ export enum Action {
|
|
|
488
487
|
Describe = 'describe',
|
|
489
488
|
Relate = 'relate',
|
|
490
489
|
CustomizeHeadlines = 'customizeHeadlines',
|
|
490
|
+
/**
|
|
491
|
+
* @hidden
|
|
492
|
+
*/
|
|
491
493
|
PinboardInfo = 'pinboardInfo',
|
|
494
|
+
LiveboardInfo = 'pinboardInfo',
|
|
492
495
|
SendAnswerFeedback = 'sendFeedback',
|
|
493
496
|
/**
|
|
494
497
|
* @deprecated Will be removed in next version
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2021
|
|
3
|
-
*
|
|
4
|
-
* Embed a ThoughtSpot pinboard or visualization
|
|
5
|
-
* https://developers.thoughtspot.com/docs/?pageid=embed-pinboard
|
|
6
|
-
* https://developers.thoughtspot.com/docs/?pageid=embed-a-viz
|
|
7
|
-
*
|
|
8
|
-
* @summary Pinboard & visualization embed
|
|
9
|
-
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
10
|
-
*/
|
|
11
|
-
import { DOMSelector } from '../types';
|
|
12
|
-
import { V1Embed, ViewConfig } from './ts-embed';
|
|
13
|
-
/**
|
|
14
|
-
* The configuration for the embedded pinboard or visualization page view.
|
|
15
|
-
* @Category Pinboards and Charts
|
|
16
|
-
*/
|
|
17
|
-
export interface PinboardViewConfig extends ViewConfig {
|
|
18
|
-
/**
|
|
19
|
-
* If set to true, the embedded object container dynamically resizes
|
|
20
|
-
* according to the height of the pinboard.
|
|
21
|
-
*/
|
|
22
|
-
fullHeight?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* This is the minimum height(in pixels) for a full height pinboard.
|
|
25
|
-
* Setting this height helps resolves issues with empty pinboards and
|
|
26
|
-
* other screens navigable from a pinboard.
|
|
27
|
-
* @default 500
|
|
28
|
-
* * _since 1.5.0_
|
|
29
|
-
*/
|
|
30
|
-
defaultHeight?: number;
|
|
31
|
-
/**
|
|
32
|
-
* If set to true, the context menu in visualizations will be enabled.
|
|
33
|
-
*/
|
|
34
|
-
enableVizTransformations?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* The pinboard to display in the embedded view.
|
|
37
|
-
*/
|
|
38
|
-
pinboardId: string;
|
|
39
|
-
/**
|
|
40
|
-
* The visualization within the pinboard to display.
|
|
41
|
-
*/
|
|
42
|
-
vizId?: string;
|
|
43
|
-
/**
|
|
44
|
-
* If set to true, all filter chips from a
|
|
45
|
-
* pinboard page will be read-only (no X buttons)
|
|
46
|
-
*/
|
|
47
|
-
preventPinboardFilterRemoval?: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Embed a ThoughtSpot pinboard or visualization
|
|
51
|
-
* @Category Pinboards and Charts
|
|
52
|
-
*/
|
|
53
|
-
export declare class PinboardEmbed extends V1Embed {
|
|
54
|
-
protected viewConfig: PinboardViewConfig;
|
|
55
|
-
private defaultHeight;
|
|
56
|
-
constructor(domSelector: DOMSelector, viewConfig: PinboardViewConfig);
|
|
57
|
-
/**
|
|
58
|
-
* Construct a map of params to be passed on to the
|
|
59
|
-
* embedded pinboard or visualization.
|
|
60
|
-
*/
|
|
61
|
-
private getEmbedParams;
|
|
62
|
-
/**
|
|
63
|
-
* Construct the URL of the embedded ThoughtSpot pinboard or visualization
|
|
64
|
-
* to be loaded within the iframe.
|
|
65
|
-
* @param pinboardId The GUID of the pinboard.
|
|
66
|
-
* @param vizId The optional GUID of a visualization within the pinboard.
|
|
67
|
-
* @param runtimeFilters A list of runtime filters to be applied to
|
|
68
|
-
* the pinboard or visualization on load.
|
|
69
|
-
*/
|
|
70
|
-
private getIFrameSrc;
|
|
71
|
-
/**
|
|
72
|
-
* Set the iframe height as per the computed height received
|
|
73
|
-
* from the ThoughtSpot app.
|
|
74
|
-
* @param data The event payload
|
|
75
|
-
*/
|
|
76
|
-
private updateIFrameHeight;
|
|
77
|
-
private embedIframeCenter;
|
|
78
|
-
private handleRouteChangeFullHeightPinboard;
|
|
79
|
-
/**
|
|
80
|
-
* Render an embedded ThoughtSpot pinboard or visualization
|
|
81
|
-
* @param renderOptions An object specifying the pinboard ID,
|
|
82
|
-
* visualization ID and the runtime filters.
|
|
83
|
-
*/
|
|
84
|
-
render(): PinboardEmbed;
|
|
85
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2021
|
|
3
|
-
*
|
|
4
|
-
* Embed a ThoughtSpot pinboard or visualization
|
|
5
|
-
* https://developers.thoughtspot.com/docs/?pageid=embed-pinboard
|
|
6
|
-
* https://developers.thoughtspot.com/docs/?pageid=embed-a-viz
|
|
7
|
-
*
|
|
8
|
-
* @summary Pinboard & visualization embed
|
|
9
|
-
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
10
|
-
*/
|
|
11
|
-
import { DOMSelector } from '../types';
|
|
12
|
-
import { V1Embed, ViewConfig } from './ts-embed';
|
|
13
|
-
/**
|
|
14
|
-
* The configuration for the embedded pinboard or visualization page view.
|
|
15
|
-
* @Category Pinboards and Charts
|
|
16
|
-
*/
|
|
17
|
-
export interface PinboardViewConfig extends ViewConfig {
|
|
18
|
-
/**
|
|
19
|
-
* If set to true, the embedded object container dynamically resizes
|
|
20
|
-
* according to the height of the pinboard.
|
|
21
|
-
*/
|
|
22
|
-
fullHeight?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* This is the minimum height(in pixels) for a full height pinboard.
|
|
25
|
-
* Setting this height helps resolves issues with empty pinboards and
|
|
26
|
-
* other screens navigable from a pinboard.
|
|
27
|
-
* @default 500
|
|
28
|
-
* * _since 1.5.0_
|
|
29
|
-
*/
|
|
30
|
-
defaultHeight?: number;
|
|
31
|
-
/**
|
|
32
|
-
* If set to true, the context menu in visualizations will be enabled.
|
|
33
|
-
*/
|
|
34
|
-
enableVizTransformations?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* The pinboard to display in the embedded view.
|
|
37
|
-
*/
|
|
38
|
-
pinboardId: string;
|
|
39
|
-
/**
|
|
40
|
-
* The visualization within the pinboard to display.
|
|
41
|
-
*/
|
|
42
|
-
vizId?: string;
|
|
43
|
-
/**
|
|
44
|
-
* If set to true, all filter chips from a
|
|
45
|
-
* pinboard page will be read-only (no X buttons)
|
|
46
|
-
*/
|
|
47
|
-
preventPinboardFilterRemoval?: boolean;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Embed a ThoughtSpot pinboard or visualization
|
|
51
|
-
* @Category Pinboards and Charts
|
|
52
|
-
*/
|
|
53
|
-
export declare class PinboardEmbed extends V1Embed {
|
|
54
|
-
protected viewConfig: PinboardViewConfig;
|
|
55
|
-
private defaultHeight;
|
|
56
|
-
constructor(domSelector: DOMSelector, viewConfig: PinboardViewConfig);
|
|
57
|
-
/**
|
|
58
|
-
* Construct a map of params to be passed on to the
|
|
59
|
-
* embedded pinboard or visualization.
|
|
60
|
-
*/
|
|
61
|
-
private getEmbedParams;
|
|
62
|
-
/**
|
|
63
|
-
* Construct the URL of the embedded ThoughtSpot pinboard or visualization
|
|
64
|
-
* to be loaded within the iframe.
|
|
65
|
-
* @param pinboardId The GUID of the pinboard.
|
|
66
|
-
* @param vizId The optional GUID of a visualization within the pinboard.
|
|
67
|
-
* @param runtimeFilters A list of runtime filters to be applied to
|
|
68
|
-
* the pinboard or visualization on load.
|
|
69
|
-
*/
|
|
70
|
-
private getIFrameSrc;
|
|
71
|
-
/**
|
|
72
|
-
* Set the iframe height as per the computed height received
|
|
73
|
-
* from the ThoughtSpot app.
|
|
74
|
-
* @param data The event payload
|
|
75
|
-
*/
|
|
76
|
-
private updateIFrameHeight;
|
|
77
|
-
private embedIframeCenter;
|
|
78
|
-
private handleRouteChangeFullHeightPinboard;
|
|
79
|
-
/**
|
|
80
|
-
* Render an embedded ThoughtSpot pinboard or visualization
|
|
81
|
-
* @param renderOptions An object specifying the pinboard ID,
|
|
82
|
-
* visualization ID and the runtime filters.
|
|
83
|
-
*/
|
|
84
|
-
render(): PinboardEmbed;
|
|
85
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pinboard.js","sourceRoot":"","sources":["../../../src/embed/pinboard.ts"],"names":[],"mappings":"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"}
|