@thoughtspot/visual-embed-sdk 1.8.0-alpha.1 → 1.8.0-plugins.1
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/dist/src/embed/liveboard.d.ts +1 -1
- package/dist/src/embed/pinboard.d.ts +6 -0
- package/dist/src/embed/ts-embed.d.ts +19 -2
- package/dist/src/index.d.ts +2 -2
- package/dist/src/types.d.ts +15 -5
- package/dist/src/utils/plugin.d.ts +0 -0
- package/dist/src/v1/api.d.ts +19 -0
- package/dist/tsembed.es.js +25 -7
- package/dist/tsembed.js +25 -7
- package/lib/package.json +2 -2
- package/lib/src/embed/liveboard.d.ts +1 -1
- package/lib/src/embed/pinboard.d.ts +6 -0
- package/lib/src/embed/pinboard.js +4 -1
- package/lib/src/embed/pinboard.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +19 -2
- package/lib/src/embed/ts-embed.js +17 -1
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +24 -5
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/types.d.ts +15 -5
- package/lib/src/types.js +8 -5
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/plugin.d.ts +0 -0
- package/lib/src/utils/plugin.js +1 -0
- package/lib/src/utils/plugin.js.map +1 -0
- package/lib/src/visual-embed-sdk.d.ts +36 -10
- package/package.json +2 -2
- package/src/embed/liveboard.ts +1 -1
- package/src/embed/ts-embed.spec.ts +29 -6
- package/src/embed/ts-embed.ts +35 -1
- package/src/index.ts +2 -0
- package/src/types.ts +16 -5
- package/src/utils/plugin.ts +2 -0
- package/lib/src/utils/fetchAnswers.d.ts +0 -3
- package/lib/src/utils/fetchAnswers.js +0 -49
- package/lib/src/utils/fetchAnswers.js.map +0 -1
|
@@ -20,6 +20,9 @@ const thoughtSpotHost = 'tshost';
|
|
|
20
20
|
const defaultParamsForPinboardEmbed = `hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}`;
|
|
21
21
|
describe('Unit test case for ts embed', () => {
|
|
22
22
|
const mockMixPanelEvent = jest.spyOn(mixpanelInstance, 'uploadMixpanelEvent');
|
|
23
|
+
beforeEach(() => {
|
|
24
|
+
document.body.innerHTML = getDocumentBody();
|
|
25
|
+
});
|
|
23
26
|
describe('when thoughtSpotHost have value and authPromise return success response', () => {
|
|
24
27
|
beforeAll(() => {
|
|
25
28
|
init({
|
|
@@ -28,7 +31,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
28
31
|
});
|
|
29
32
|
});
|
|
30
33
|
beforeEach(() => {
|
|
31
|
-
document.body.innerHTML = getDocumentBody();
|
|
32
34
|
jest.spyOn(window, 'addEventListener').mockImplementationOnce((event, handler, options) => {
|
|
33
35
|
handler({
|
|
34
36
|
data: {
|
|
@@ -66,7 +68,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
66
68
|
});
|
|
67
69
|
});
|
|
68
70
|
beforeEach(() => {
|
|
69
|
-
document.body.innerHTML = getDocumentBody();
|
|
70
71
|
jest.spyOn(baseInstance, 'getAuthPromise').mockRejectedValueOnce(() => Promise.reject());
|
|
71
72
|
const tsEmbed = new SearchEmbed(getRootEl(), {});
|
|
72
73
|
const iFrame = document.createElement('div');
|
|
@@ -149,9 +150,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
149
150
|
authType: AuthType.None,
|
|
150
151
|
});
|
|
151
152
|
});
|
|
152
|
-
beforeEach(() => {
|
|
153
|
-
document.body.innerHTML = getDocumentBody();
|
|
154
|
-
});
|
|
155
153
|
test('Error should be true', async () => {
|
|
156
154
|
const tsEmbed = new SearchEmbed(getRootEl(), {});
|
|
157
155
|
tsEmbed.render();
|
|
@@ -221,5 +219,26 @@ describe('Unit test case for ts embed', () => {
|
|
|
221
219
|
expect(getIFrameSrc()).toBe(`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}#/${path}`);
|
|
222
220
|
});
|
|
223
221
|
});
|
|
222
|
+
describe('additionalFlags config', () => {
|
|
223
|
+
beforeEach(() => {
|
|
224
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
225
|
+
});
|
|
226
|
+
it('should set the additional flags correctly on the iframe src', async () => {
|
|
227
|
+
const appEmbed = new AppEmbed(getRootEl(), {
|
|
228
|
+
frameParams: {
|
|
229
|
+
width: '100%',
|
|
230
|
+
height: '100%',
|
|
231
|
+
},
|
|
232
|
+
additionalFlags: {
|
|
233
|
+
foo: 'bar',
|
|
234
|
+
baz: 1,
|
|
235
|
+
bool: true,
|
|
236
|
+
},
|
|
237
|
+
});
|
|
238
|
+
await appEmbed.render();
|
|
239
|
+
expect(getIFrameSrc()).toBe(`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}` +
|
|
240
|
+
'&foo=bar&baz=1&bool=true#/home');
|
|
241
|
+
});
|
|
242
|
+
});
|
|
224
243
|
});
|
|
225
244
|
//# sourceMappingURL=ts-embed.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-embed.spec.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EACH,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,WAAW,EACX,aAAa,EAEb,QAAQ,EACR,cAAc,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,iBAAiB,GAAG;IACtB,WAAW,EAAE;QACT,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,GAAG;KACd;CACJ,CAAC;AACF,MAAM,UAAU,GAAG,sCAAsC,CAAC;AAC1D,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAC3D,MAAM,eAAe,GAAG,QAAQ,CAAC;AACjC,MAAM,6BAA6B,GAAG,0EAA0E,OAAO,EAAE,CAAC;AAE1H,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACzC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAChC,gBAAgB,EAChB,qBAAqB,CACxB,CAAC;IACF,QAAQ,CAAC,yEAAyE,EAAE,GAAG,EAAE;QACrF,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,CAAC;gBACD,eAAe;gBACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;aAC1B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,EAAE;YACZ,
|
|
1
|
+
{"version":3,"file":"ts-embed.spec.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/src/index.d.ts
CHANGED
|
@@ -11,5 +11,5 @@ import { AppEmbed, Page, AppViewConfig } from './embed/app';
|
|
|
11
11
|
import { init, prefetch } from './embed/base';
|
|
12
12
|
import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from './embed/liveboard';
|
|
13
13
|
import { SearchEmbed, SearchViewConfig } from './embed/search';
|
|
14
|
-
import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig } from './types';
|
|
15
|
-
export { init, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, };
|
|
14
|
+
import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, Plugin } from './types';
|
|
15
|
+
export { init, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, Plugin, };
|
package/lib/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAiB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACH,aAAa,EAEb,cAAc,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EACH,QAAQ,EAER,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAiB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EACH,aAAa,EAEb,cAAc,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EACH,QAAQ,EAER,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,GAGT,MAAM,SAAS,CAAC;AAEjB,OAAO,EACH,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,cAAc,EACd,QAAQ;AACR,QAAQ;AACR,IAAI,EACJ,QAAQ,EAER,eAAe,EACf,UAAU,EACV,SAAS,EACT,oBAAoB,EACpB,MAAM,GAMT,CAAC"}
|
package/lib/src/types.d.ts
CHANGED
|
@@ -122,6 +122,7 @@ export interface EmbedConfig {
|
|
|
122
122
|
queueMultiRenders?: boolean;
|
|
123
123
|
/**
|
|
124
124
|
* Dynamic CSS Url to be injected in the loaded application.
|
|
125
|
+
* You would also need to set `style-src` in the CSP settings.
|
|
125
126
|
* @version 1.6.0 or later
|
|
126
127
|
* @default ''
|
|
127
128
|
*/
|
|
@@ -261,6 +262,12 @@ export declare enum EmbedEvent {
|
|
|
261
262
|
* @return dataSourceIds - the list of data sources
|
|
262
263
|
*/
|
|
263
264
|
DataSourceSelected = "dataSourceSelected",
|
|
265
|
+
/**
|
|
266
|
+
* One or more data columns have been selected.
|
|
267
|
+
* @return columnIds - the list of columns
|
|
268
|
+
* @version SDK: 1.9.0 | ThoughtSpot: 8.2.0.cl
|
|
269
|
+
*/
|
|
270
|
+
AddRemoveColumns = "addRemoveColumns",
|
|
264
271
|
/**
|
|
265
272
|
* A custom action has been triggered
|
|
266
273
|
* @return actionId - The id of the custom action
|
|
@@ -373,7 +380,8 @@ export declare enum HostEvent {
|
|
|
373
380
|
*/
|
|
374
381
|
SetVisibleVizs = "SetPinboardVisibleVizs",
|
|
375
382
|
/**
|
|
376
|
-
* Update the runtime filters
|
|
383
|
+
* Update the runtime filters. The runtime filters passed here are extended
|
|
384
|
+
* on to the existing runtime filters if they exist.
|
|
377
385
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
378
386
|
* @version 1.8.0 or later
|
|
379
387
|
*/
|
|
@@ -478,10 +486,6 @@ export declare enum Action {
|
|
|
478
486
|
PinboardInfo = "pinboardInfo",
|
|
479
487
|
LiveboardInfo = "pinboardInfo",
|
|
480
488
|
SendAnswerFeedback = "sendFeedback",
|
|
481
|
-
/**
|
|
482
|
-
* @deprecated Will be removed in next version
|
|
483
|
-
*/
|
|
484
|
-
CustomAction = "customAction",
|
|
485
489
|
DownloadEmbraceQueries = "downloadEmbraceQueries",
|
|
486
490
|
Pin = "pin",
|
|
487
491
|
AnalysisInfo = "analysisInfo",
|
|
@@ -533,3 +537,9 @@ export declare enum OperationType {
|
|
|
533
537
|
export interface AnswerServiceType {
|
|
534
538
|
getAnswer?: (offset: number, batchSize: number) => any;
|
|
535
539
|
}
|
|
540
|
+
export interface Plugin {
|
|
541
|
+
name: string;
|
|
542
|
+
handlers: {
|
|
543
|
+
[key in EmbedEvent]: (payload: any) => void;
|
|
544
|
+
};
|
|
545
|
+
}
|
package/lib/src/types.js
CHANGED
|
@@ -147,6 +147,12 @@ export var EmbedEvent;
|
|
|
147
147
|
* @return dataSourceIds - the list of data sources
|
|
148
148
|
*/
|
|
149
149
|
EmbedEvent["DataSourceSelected"] = "dataSourceSelected";
|
|
150
|
+
/**
|
|
151
|
+
* One or more data columns have been selected.
|
|
152
|
+
* @return columnIds - the list of columns
|
|
153
|
+
* @version SDK: 1.9.0 | ThoughtSpot: 8.2.0.cl
|
|
154
|
+
*/
|
|
155
|
+
EmbedEvent["AddRemoveColumns"] = "addRemoveColumns";
|
|
150
156
|
/**
|
|
151
157
|
* A custom action has been triggered
|
|
152
158
|
* @return actionId - The id of the custom action
|
|
@@ -261,7 +267,8 @@ export var HostEvent;
|
|
|
261
267
|
*/
|
|
262
268
|
HostEvent["SetVisibleVizs"] = "SetPinboardVisibleVizs";
|
|
263
269
|
/**
|
|
264
|
-
* Update the runtime filters
|
|
270
|
+
* Update the runtime filters. The runtime filters passed here are extended
|
|
271
|
+
* on to the existing runtime filters if they exist.
|
|
265
272
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
266
273
|
* @version 1.8.0 or later
|
|
267
274
|
*/
|
|
@@ -372,10 +379,6 @@ export var Action;
|
|
|
372
379
|
Action["PinboardInfo"] = "pinboardInfo";
|
|
373
380
|
Action["LiveboardInfo"] = "pinboardInfo";
|
|
374
381
|
Action["SendAnswerFeedback"] = "sendFeedback";
|
|
375
|
-
/**
|
|
376
|
-
* @deprecated Will be removed in next version
|
|
377
|
-
*/
|
|
378
|
-
Action["CustomAction"] = "customAction";
|
|
379
382
|
Action["DownloadEmbraceQueries"] = "downloadEmbraceQueries";
|
|
380
383
|
Action["Pin"] = "pin";
|
|
381
384
|
Action["AnalysisInfo"] = "analysisInfo";
|
package/lib/src/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;GAGG;AACH,qCAAqC;AACrC,MAAM,CAAN,IAAY,QAwBX;AAxBD,WAAY,QAAQ;IAChB;;OAEG;IACH,yBAAa,CAAA;IACb;;OAEG;IACH,4BAAgB,CAAA;IAChB;;OAEG;IACH,6BAAiB,CAAA;IACjB;;OAEG;IACH,qCAAyB,CAAA;IACzB;;;;;OAKG;IACH,2BAAe,CAAA;AACnB,CAAC,EAxBW,QAAQ,KAAR,QAAQ,QAwBnB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/utils/plugin.ts"],"names":[],"mappings":""}
|
|
@@ -14,8 +14,8 @@ declare module '@thoughtspot/visual-embed-sdk' {
|
|
|
14
14
|
import { init, prefetch } from '@thoughtspot/visual-embed-sdk/embed/base';
|
|
15
15
|
import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/embed/liveboard';
|
|
16
16
|
import { SearchEmbed, SearchViewConfig } from '@thoughtspot/visual-embed-sdk/embed/search';
|
|
17
|
-
import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
18
|
-
export { init, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, };
|
|
17
|
+
import { AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, Plugin } from '@thoughtspot/visual-embed-sdk/types';
|
|
18
|
+
export { init, prefetch, SearchEmbed, PinboardEmbed, LiveboardEmbed, AppEmbed, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, EmbedConfig, SearchViewConfig, LiveboardViewConfig, AppViewConfig, Plugin, };
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
declare module '@thoughtspot/visual-embed-sdk/embed/app' {
|
|
@@ -174,7 +174,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
174
174
|
* This is the minimum height(in pixels) for a full height Liveboard.
|
|
175
175
|
* Setting this height helps resolves issues with empty Liveboards and
|
|
176
176
|
* other screens navigable from a Liveboard.
|
|
177
|
-
*
|
|
177
|
+
* @version 1.5.0 or later
|
|
178
178
|
* @default 500
|
|
179
179
|
*/
|
|
180
180
|
defaultHeight?: number;
|
|
@@ -439,6 +439,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
439
439
|
queueMultiRenders?: boolean;
|
|
440
440
|
/**
|
|
441
441
|
* Dynamic CSS Url to be injected in the loaded application.
|
|
442
|
+
* You would also need to set `style-src` in the CSP settings.
|
|
442
443
|
* @version 1.6.0 or later
|
|
443
444
|
* @default ''
|
|
444
445
|
*/
|
|
@@ -578,6 +579,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
578
579
|
* @return dataSourceIds - the list of data sources
|
|
579
580
|
*/
|
|
580
581
|
DataSourceSelected = "dataSourceSelected",
|
|
582
|
+
/**
|
|
583
|
+
* One or more data columns have been selected.
|
|
584
|
+
* @return columnIds - the list of columns
|
|
585
|
+
* @version SDK: 1.9.0 | ThoughtSpot: 8.2.0.cl
|
|
586
|
+
*/
|
|
587
|
+
AddRemoveColumns = "addRemoveColumns",
|
|
581
588
|
/**
|
|
582
589
|
* A custom action has been triggered
|
|
583
590
|
* @return actionId - The id of the custom action
|
|
@@ -690,7 +697,8 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
690
697
|
*/
|
|
691
698
|
SetVisibleVizs = "SetPinboardVisibleVizs",
|
|
692
699
|
/**
|
|
693
|
-
* Update the runtime filters
|
|
700
|
+
* Update the runtime filters. The runtime filters passed here are extended
|
|
701
|
+
* on to the existing runtime filters if they exist.
|
|
694
702
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
695
703
|
* @version 1.8.0 or later
|
|
696
704
|
*/
|
|
@@ -795,10 +803,6 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
795
803
|
PinboardInfo = "pinboardInfo",
|
|
796
804
|
LiveboardInfo = "pinboardInfo",
|
|
797
805
|
SendAnswerFeedback = "sendFeedback",
|
|
798
|
-
/**
|
|
799
|
-
* @deprecated Will be removed in next version
|
|
800
|
-
*/
|
|
801
|
-
CustomAction = "customAction",
|
|
802
806
|
DownloadEmbraceQueries = "downloadEmbraceQueries",
|
|
803
807
|
Pin = "pin",
|
|
804
808
|
AnalysisInfo = "analysisInfo",
|
|
@@ -850,6 +854,12 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
850
854
|
export interface AnswerServiceType {
|
|
851
855
|
getAnswer?: (offset: number, batchSize: number) => any;
|
|
852
856
|
}
|
|
857
|
+
export interface Plugin {
|
|
858
|
+
name: string;
|
|
859
|
+
handlers: {
|
|
860
|
+
[key in EmbedEvent]: (payload: any) => void;
|
|
861
|
+
};
|
|
862
|
+
}
|
|
853
863
|
}
|
|
854
864
|
|
|
855
865
|
declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
@@ -861,7 +871,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
861
871
|
* @summary Base classes
|
|
862
872
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
863
873
|
*/
|
|
864
|
-
import { DOMSelector, HostEvent, EmbedEvent, MessageCallback, Action, RuntimeFilter, EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
874
|
+
import { DOMSelector, HostEvent, EmbedEvent, MessageCallback, Action, RuntimeFilter, EmbedConfig, Plugin } from '@thoughtspot/visual-embed-sdk/types';
|
|
865
875
|
export interface LayoutConfig {
|
|
866
876
|
}
|
|
867
877
|
/**
|
|
@@ -914,7 +924,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
914
924
|
/**
|
|
915
925
|
* The list of actions to display from the primary menu, more menu
|
|
916
926
|
* (...), and the contextual menu.
|
|
917
|
-
*
|
|
927
|
+
* @version 1.6.0 or later
|
|
918
928
|
*/
|
|
919
929
|
visibleActions?: Action[];
|
|
920
930
|
/**
|
|
@@ -922,6 +932,22 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
922
932
|
* visualization, or Liveboard.
|
|
923
933
|
*/
|
|
924
934
|
runtimeFilters?: RuntimeFilter[];
|
|
935
|
+
/**
|
|
936
|
+
* This is an object (key/val) of override flags which will be applied
|
|
937
|
+
* to the internal embedded object. This can be used to add any
|
|
938
|
+
* URL flag.
|
|
939
|
+
* @version 1.8.0
|
|
940
|
+
*/
|
|
941
|
+
additionalFlags?: {
|
|
942
|
+
[key: string]: string | number | boolean;
|
|
943
|
+
};
|
|
944
|
+
/**
|
|
945
|
+
* Provide a list of plugins, the plugins are executed in the order
|
|
946
|
+
* provided below,
|
|
947
|
+
*
|
|
948
|
+
* @version alpha
|
|
949
|
+
*/
|
|
950
|
+
plugins?: Plugin[];
|
|
925
951
|
}
|
|
926
952
|
/**
|
|
927
953
|
* Base class for embedding v2 experience
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.8.0-
|
|
3
|
+
"version": "1.8.0-plugins.1",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"test": "npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",
|
|
35
35
|
"posttest": "cat ./coverage/lcov.info | coveralls",
|
|
36
36
|
"prepublishOnly": "npm run test; npm run tsc; npm run bundle-dts; npm run build",
|
|
37
|
-
"publish-dev": "npm publish --tag
|
|
37
|
+
"publish-dev": "npm publish --tag plugins",
|
|
38
38
|
"publish-prod": "npm publish --tag latest"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -35,7 +35,7 @@ export interface LiveboardViewConfig extends ViewConfig {
|
|
|
35
35
|
* This is the minimum height(in pixels) for a full height Liveboard.
|
|
36
36
|
* Setting this height helps resolves issues with empty Liveboards and
|
|
37
37
|
* other screens navigable from a Liveboard.
|
|
38
|
-
*
|
|
38
|
+
* @version 1.5.0 or later
|
|
39
39
|
* @default 500
|
|
40
40
|
*/
|
|
41
41
|
defaultHeight?: number;
|
|
@@ -34,6 +34,9 @@ describe('Unit test case for ts embed', () => {
|
|
|
34
34
|
mixpanelInstance,
|
|
35
35
|
'uploadMixpanelEvent',
|
|
36
36
|
);
|
|
37
|
+
beforeEach(() => {
|
|
38
|
+
document.body.innerHTML = getDocumentBody();
|
|
39
|
+
});
|
|
37
40
|
describe('when thoughtSpotHost have value and authPromise return success response', () => {
|
|
38
41
|
beforeAll(() => {
|
|
39
42
|
init({
|
|
@@ -43,7 +46,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
43
46
|
});
|
|
44
47
|
|
|
45
48
|
beforeEach(() => {
|
|
46
|
-
document.body.innerHTML = getDocumentBody();
|
|
47
49
|
jest.spyOn(window, 'addEventListener').mockImplementationOnce(
|
|
48
50
|
(event, handler, options) => {
|
|
49
51
|
handler({
|
|
@@ -98,7 +100,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
98
100
|
});
|
|
99
101
|
|
|
100
102
|
beforeEach(() => {
|
|
101
|
-
document.body.innerHTML = getDocumentBody();
|
|
102
103
|
jest.spyOn(
|
|
103
104
|
baseInstance,
|
|
104
105
|
'getAuthPromise',
|
|
@@ -206,10 +207,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
206
207
|
});
|
|
207
208
|
});
|
|
208
209
|
|
|
209
|
-
beforeEach(() => {
|
|
210
|
-
document.body.innerHTML = getDocumentBody();
|
|
211
|
-
});
|
|
212
|
-
|
|
213
210
|
test('Error should be true', async () => {
|
|
214
211
|
const tsEmbed = new SearchEmbed(getRootEl(), {});
|
|
215
212
|
tsEmbed.render();
|
|
@@ -300,4 +297,30 @@ describe('Unit test case for ts embed', () => {
|
|
|
300
297
|
);
|
|
301
298
|
});
|
|
302
299
|
});
|
|
300
|
+
|
|
301
|
+
describe('additionalFlags config', () => {
|
|
302
|
+
beforeEach(() => {
|
|
303
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
304
|
+
() => 'http://tshost',
|
|
305
|
+
);
|
|
306
|
+
});
|
|
307
|
+
it('should set the additional flags correctly on the iframe src', async () => {
|
|
308
|
+
const appEmbed = new AppEmbed(getRootEl(), {
|
|
309
|
+
frameParams: {
|
|
310
|
+
width: '100%',
|
|
311
|
+
height: '100%',
|
|
312
|
+
},
|
|
313
|
+
additionalFlags: {
|
|
314
|
+
foo: 'bar',
|
|
315
|
+
baz: 1,
|
|
316
|
+
bool: true,
|
|
317
|
+
},
|
|
318
|
+
});
|
|
319
|
+
await appEmbed.render();
|
|
320
|
+
expect(getIFrameSrc()).toBe(
|
|
321
|
+
`http://${thoughtSpotHost}/?embedApp=true&primaryNavHidden=true&profileAndHelpInNavBarHidden=false&${defaultParamsForPinboardEmbed}` +
|
|
322
|
+
'&foo=bar&baz=1&bool=true#/home',
|
|
323
|
+
);
|
|
324
|
+
});
|
|
325
|
+
});
|
|
303
326
|
});
|
package/src/embed/ts-embed.ts
CHANGED
|
@@ -28,10 +28,12 @@ import {
|
|
|
28
28
|
RuntimeFilter,
|
|
29
29
|
Param,
|
|
30
30
|
EmbedConfig,
|
|
31
|
+
Plugin,
|
|
31
32
|
} from '../types';
|
|
32
33
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from '../mixpanel-service';
|
|
33
34
|
import { getProcessData } from '../utils/processData';
|
|
34
35
|
import { processTrigger } from '../utils/processTrigger';
|
|
36
|
+
// eslint-disable-next-line import/no-cycle
|
|
35
37
|
import pkgInfo from '../../package.json';
|
|
36
38
|
import { getAuthPromise, getEmbedConfig, renderInQueue } from './base';
|
|
37
39
|
|
|
@@ -102,7 +104,7 @@ export interface ViewConfig {
|
|
|
102
104
|
/**
|
|
103
105
|
* The list of actions to display from the primary menu, more menu
|
|
104
106
|
* (...), and the contextual menu.
|
|
105
|
-
*
|
|
107
|
+
* @version 1.6.0 or later
|
|
106
108
|
*/
|
|
107
109
|
visibleActions?: Action[];
|
|
108
110
|
/**
|
|
@@ -110,6 +112,20 @@ export interface ViewConfig {
|
|
|
110
112
|
* visualization, or Liveboard.
|
|
111
113
|
*/
|
|
112
114
|
runtimeFilters?: RuntimeFilter[];
|
|
115
|
+
/**
|
|
116
|
+
* This is an object (key/val) of override flags which will be applied
|
|
117
|
+
* to the internal embedded object. This can be used to add any
|
|
118
|
+
* URL flag.
|
|
119
|
+
* @version 1.8.0
|
|
120
|
+
*/
|
|
121
|
+
additionalFlags?: { [key: string]: string | number | boolean };
|
|
122
|
+
/**
|
|
123
|
+
* Provide a list of plugins, the plugins are executed in the order
|
|
124
|
+
* provided below,
|
|
125
|
+
*
|
|
126
|
+
* @version alpha
|
|
127
|
+
*/
|
|
128
|
+
plugins?: Plugin[];
|
|
113
129
|
}
|
|
114
130
|
|
|
115
131
|
/**
|
|
@@ -178,6 +194,8 @@ export class TsEmbed {
|
|
|
178
194
|
this.isError = false;
|
|
179
195
|
this.viewConfig = viewConfig;
|
|
180
196
|
this.shouldEncodeUrlQueryParams = this.embedConfig.shouldEncodeUrlQueryParams;
|
|
197
|
+
this.registerPlugins(viewConfig?.plugins);
|
|
198
|
+
|
|
181
199
|
if (!this.embedConfig.suppressNoCookieAccessAlert) {
|
|
182
200
|
this.on(EmbedEvent.NoCookieAccess, () => {
|
|
183
201
|
// eslint-disable-next-line no-alert
|
|
@@ -188,6 +206,18 @@ export class TsEmbed {
|
|
|
188
206
|
}
|
|
189
207
|
}
|
|
190
208
|
|
|
209
|
+
private registerPlugins(plugins: Plugin[]) {
|
|
210
|
+
if (!plugins) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
plugins.forEach((plugin) => {
|
|
214
|
+
Object.keys(plugin.handlers).forEach((eventName: EmbedEvent) => {
|
|
215
|
+
const listener = plugin[eventName];
|
|
216
|
+
this.on(eventName, listener);
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
|
|
191
221
|
/**
|
|
192
222
|
* Gets a reference to the root DOM node where
|
|
193
223
|
* the embedded content will appear.
|
|
@@ -327,6 +357,7 @@ export class TsEmbed {
|
|
|
327
357
|
disabledActionReason,
|
|
328
358
|
hiddenActions,
|
|
329
359
|
visibleActions,
|
|
360
|
+
additionalFlags,
|
|
330
361
|
} = this.viewConfig;
|
|
331
362
|
|
|
332
363
|
if (Array.isArray(visibleActions) && Array.isArray(hiddenActions)) {
|
|
@@ -348,6 +379,9 @@ export class TsEmbed {
|
|
|
348
379
|
if (Array.isArray(visibleActions)) {
|
|
349
380
|
queryParams[Param.VisibleActions] = visibleActions;
|
|
350
381
|
}
|
|
382
|
+
if (additionalFlags && additionalFlags.constructor.name === 'Object') {
|
|
383
|
+
Object.assign(queryParams, additionalFlags);
|
|
384
|
+
}
|
|
351
385
|
return queryParams;
|
|
352
386
|
}
|
|
353
387
|
|
package/src/index.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -135,6 +135,7 @@ export interface EmbedConfig {
|
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
137
|
* Dynamic CSS Url to be injected in the loaded application.
|
|
138
|
+
* You would also need to set `style-src` in the CSP settings.
|
|
138
139
|
* @version 1.6.0 or later
|
|
139
140
|
* @default ''
|
|
140
141
|
*/
|
|
@@ -282,6 +283,12 @@ export enum EmbedEvent {
|
|
|
282
283
|
* @return dataSourceIds - the list of data sources
|
|
283
284
|
*/
|
|
284
285
|
DataSourceSelected = 'dataSourceSelected',
|
|
286
|
+
/**
|
|
287
|
+
* One or more data columns have been selected.
|
|
288
|
+
* @return columnIds - the list of columns
|
|
289
|
+
* @version SDK: 1.9.0 | ThoughtSpot: 8.2.0.cl
|
|
290
|
+
*/
|
|
291
|
+
AddRemoveColumns = 'addRemoveColumns',
|
|
285
292
|
/**
|
|
286
293
|
* A custom action has been triggered
|
|
287
294
|
* @return actionId - The id of the custom action
|
|
@@ -396,7 +403,8 @@ export enum HostEvent {
|
|
|
396
403
|
*/
|
|
397
404
|
SetVisibleVizs = 'SetPinboardVisibleVizs',
|
|
398
405
|
/**
|
|
399
|
-
* Update the runtime filters
|
|
406
|
+
* Update the runtime filters. The runtime filters passed here are extended
|
|
407
|
+
* on to the existing runtime filters if they exist.
|
|
400
408
|
* @param - {@link RuntimeFilter}[] an array of {@link RuntimeFilter} Types.
|
|
401
409
|
* @version 1.8.0 or later
|
|
402
410
|
*/
|
|
@@ -507,10 +515,6 @@ export enum Action {
|
|
|
507
515
|
PinboardInfo = 'pinboardInfo',
|
|
508
516
|
LiveboardInfo = 'pinboardInfo',
|
|
509
517
|
SendAnswerFeedback = 'sendFeedback',
|
|
510
|
-
/**
|
|
511
|
-
* @deprecated Will be removed in next version
|
|
512
|
-
*/
|
|
513
|
-
CustomAction = 'customAction',
|
|
514
518
|
DownloadEmbraceQueries = 'downloadEmbraceQueries',
|
|
515
519
|
Pin = 'pin',
|
|
516
520
|
AnalysisInfo = 'analysisInfo',
|
|
@@ -563,3 +567,10 @@ export enum OperationType {
|
|
|
563
567
|
export interface AnswerServiceType {
|
|
564
568
|
getAnswer?: (offset: number, batchSize: number) => any;
|
|
565
569
|
}
|
|
570
|
+
|
|
571
|
+
export interface Plugin {
|
|
572
|
+
name: string;
|
|
573
|
+
handlers: {
|
|
574
|
+
[key in EmbedEvent]: (payload: any) => void;
|
|
575
|
+
};
|
|
576
|
+
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { OperationType } from '../types';
|
|
2
|
-
function FetchAnswers(session, query, operation, thoughtSpotHost) {
|
|
3
|
-
let variable;
|
|
4
|
-
const fetchQuery = async (variables) => {
|
|
5
|
-
try {
|
|
6
|
-
const response = await fetch(`${thoughtSpotHost}/prism/?op=${operation}`, {
|
|
7
|
-
method: 'POST',
|
|
8
|
-
headers: {
|
|
9
|
-
'content-type': 'application/json;charset=UTF-8',
|
|
10
|
-
'x-requested-by': 'ThoughtSpot',
|
|
11
|
-
accept: '*/*',
|
|
12
|
-
'accept-language': 'en-us',
|
|
13
|
-
},
|
|
14
|
-
body: JSON.stringify({
|
|
15
|
-
operationName: operation,
|
|
16
|
-
query,
|
|
17
|
-
variables,
|
|
18
|
-
}),
|
|
19
|
-
credentials: 'include'
|
|
20
|
-
});
|
|
21
|
-
const result = await response.json();
|
|
22
|
-
return result.data;
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
return error;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const getAnswer = (offset, batchSize) => {
|
|
29
|
-
if (operation === OperationType.GetChartWithData) {
|
|
30
|
-
variable = { batchSize, offset };
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
variable = {
|
|
34
|
-
dataPaginationParams: {
|
|
35
|
-
isClientPaginated: true,
|
|
36
|
-
offset,
|
|
37
|
-
size: batchSize,
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
return fetchQuery({
|
|
42
|
-
session,
|
|
43
|
-
...variable,
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
return getAnswer;
|
|
47
|
-
}
|
|
48
|
-
export default FetchAnswers;
|
|
49
|
-
//# sourceMappingURL=fetchAnswers.js.map
|