@thoughtspot/visual-embed-sdk 1.52.1 → 1.52.2-beta.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/cjs/package.json +10 -3
- package/cjs/src/contracts/host-event-contracts.d.ts +49 -11
- package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +4 -3
- package/cjs/src/embed/app.d.ts.map +1 -1
- 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/auto-frame-renderer.spec.js +24 -13
- package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +1 -0
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +3 -3
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +35 -24
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/embedConfig.spec.js +2 -1
- package/cjs/src/embed/embedConfig.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +2 -2
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +16 -10
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +14 -8
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts +9 -0
- package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.js +49 -3
- package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +4 -3
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +17 -12
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +2 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +8 -1
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +14 -1
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +26 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +35 -10
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +108 -73
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +203 -30
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.js +1 -1
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +2 -1
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -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/types.d.ts +45 -22
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +44 -21
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
- package/cjs/src/utils/custom-actions.spec.js +4 -2
- package/cjs/src/utils/custom-actions.spec.js.map +1 -1
- package/cjs/src/utils/filterConverter.d.ts +106 -0
- package/cjs/src/utils/filterConverter.d.ts.map +1 -0
- package/cjs/src/utils/filterConverter.js +215 -0
- package/cjs/src/utils/filterConverter.js.map +1 -0
- package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
- package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/cjs/src/utils/filterConverter.spec.js +709 -0
- package/cjs/src/utils/filterConverter.spec.js.map +1 -0
- package/cjs/src/utils/processData.spec.js +2 -1
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/dist/{index-C1pmYb5H.js → index-BrJMbt8r.js} +1 -1
- package/dist/src/contracts/host-event-contracts.d.ts +49 -11
- package/dist/src/contracts/host-event-contracts.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +4 -3
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +1 -0
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +2 -2
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/utils.d.ts +9 -0
- package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +4 -3
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +8 -1
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +35 -10
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -1
- 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/types.d.ts +45 -22
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/filterConverter.d.ts +106 -0
- package/dist/src/utils/filterConverter.d.ts.map +1 -0
- package/dist/src/utils/filterConverter.spec.d.ts +2 -0
- package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/dist/tsembed-react.es.js +252 -126
- package/dist/tsembed-react.js +251 -125
- package/dist/tsembed.es.js +460 -127
- package/dist/tsembed.js +459 -125
- package/dist/visual-embed-sdk-react-full.d.ts +233 -49
- package/dist/visual-embed-sdk-react.d.ts +139 -49
- package/dist/visual-embed-sdk.d.ts +233 -49
- package/lib/package.json +10 -3
- package/lib/src/contracts/host-event-contracts.d.ts +49 -11
- package/lib/src/contracts/host-event-contracts.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +4 -3
- package/lib/src/embed/app.d.ts.map +1 -1
- 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/auto-frame-renderer.spec.js +24 -13
- package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +1 -0
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +4 -4
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +35 -24
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/embedConfig.spec.js +2 -1
- package/lib/src/embed/embedConfig.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +2 -2
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +17 -11
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +14 -8
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.d.ts +9 -0
- package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/utils.js +47 -2
- package/lib/src/embed/hostEventClient/utils.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
- package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +4 -3
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +17 -12
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +2 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +8 -1
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +12 -0
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +27 -1
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +35 -10
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +109 -74
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +203 -30
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.js +1 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +2 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -1
- 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/types.d.ts +45 -22
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +44 -21
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
- package/lib/src/utils/custom-actions.spec.js +4 -2
- package/lib/src/utils/custom-actions.spec.js.map +1 -1
- package/lib/src/utils/filterConverter.d.ts +106 -0
- package/lib/src/utils/filterConverter.d.ts.map +1 -0
- package/lib/src/utils/filterConverter.js +210 -0
- package/lib/src/utils/filterConverter.js.map +1 -0
- package/lib/src/utils/filterConverter.spec.d.ts +2 -0
- package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/lib/src/utils/filterConverter.spec.js +707 -0
- package/lib/src/utils/filterConverter.spec.js.map +1 -0
- package/lib/src/utils/processData.spec.js +2 -1
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +233 -49
- package/package.json +10 -3
- package/src/contracts/host-event-contracts.ts +55 -11
- package/src/embed/app.spec.ts +15 -0
- package/src/embed/app.ts +4 -3
- package/src/embed/auto-frame-renderer.spec.ts +24 -13
- package/src/embed/conversation.spec.ts +38 -27
- package/src/embed/conversation.ts +4 -4
- package/src/embed/embedConfig.spec.ts +2 -1
- package/src/embed/hostEventClient/host-event-client.spec.ts +14 -8
- package/src/embed/hostEventClient/host-event-client.ts +18 -10
- package/src/embed/hostEventClient/utils.spec.ts +176 -1
- package/src/embed/hostEventClient/utils.ts +51 -2
- package/src/embed/liveboard.spec.ts +4 -3
- package/src/embed/liveboard.ts +21 -15
- package/src/embed/spotter-utils.spec.ts +29 -0
- package/src/embed/spotter-utils.ts +16 -0
- package/src/embed/ts-embed.spec.ts +245 -30
- package/src/embed/ts-embed.ts +107 -74
- package/src/errors.ts +1 -1
- package/src/index.ts +10 -0
- package/src/react/all-types-export.ts +4 -0
- package/src/types.ts +44 -21
- package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
- package/src/utils/custom-actions.spec.ts +4 -2
- package/src/utils/filterConverter.spec.ts +801 -0
- package/src/utils/filterConverter.ts +304 -0
- package/src/utils/processData.spec.ts +2 -1
|
@@ -231,4 +231,30 @@ describe('buildStarterPromptsAppInitData', () => {
|
|
|
231
231
|
expect((_a = result.embedParams) === null || _a === void 0 ? void 0 : _a.starterPrompts).toEqual({ enable: true, liveboard });
|
|
232
232
|
});
|
|
233
233
|
});
|
|
234
|
+
describe('buildSpotterAnalystAppInitData', () => {
|
|
235
|
+
const base = { type: 'APP_INIT' };
|
|
236
|
+
it('returns the payload unchanged when analystId is absent', () => {
|
|
237
|
+
expect((0, spotter_utils_1.buildSpotterAnalystAppInitData)(base, {})).toBe(base);
|
|
238
|
+
expect((0, spotter_utils_1.buildSpotterAnalystAppInitData)(base, { spotterAnalystConfig: {} })).toBe(base);
|
|
239
|
+
});
|
|
240
|
+
it('nests spotterAnalystConfig under embedParams', () => {
|
|
241
|
+
var _a;
|
|
242
|
+
const result = (0, spotter_utils_1.buildSpotterAnalystAppInitData)(base, {
|
|
243
|
+
spotterAnalystConfig: { analystId: 'analyst-id-1234' },
|
|
244
|
+
});
|
|
245
|
+
expect((_a = result.embedParams) === null || _a === void 0 ? void 0 : _a.spotterAnalystConfig).toEqual({ analystId: 'analyst-id-1234' });
|
|
246
|
+
});
|
|
247
|
+
it('preserves existing embedParams keys', () => {
|
|
248
|
+
var _a, _b;
|
|
249
|
+
const withExisting = {
|
|
250
|
+
...base,
|
|
251
|
+
embedParams: { spotterSidebarConfig: { enablePastConversationsSidebar: true } },
|
|
252
|
+
};
|
|
253
|
+
const result = (0, spotter_utils_1.buildSpotterAnalystAppInitData)(withExisting, {
|
|
254
|
+
spotterAnalystConfig: { analystId: 'analyst-id-1234' },
|
|
255
|
+
});
|
|
256
|
+
expect((_a = result.embedParams) === null || _a === void 0 ? void 0 : _a.spotterSidebarConfig).toEqual({ enablePastConversationsSidebar: true });
|
|
257
|
+
expect((_b = result.embedParams) === null || _b === void 0 ? void 0 : _b.spotterAnalystConfig).toEqual({ analystId: 'analyst-id-1234' });
|
|
258
|
+
});
|
|
259
|
+
});
|
|
234
260
|
//# sourceMappingURL=spotter-utils.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spotter-utils.spec.js","sourceRoot":"","sources":["../../../src/embed/spotter-utils.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"spotter-utils.spec.js","sourceRoot":"","sources":["../../../src/embed/spotter-utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,7 @@ export declare class TsEmbed {
|
|
|
87
87
|
private defaultHiddenActions;
|
|
88
88
|
private resizeObserver;
|
|
89
89
|
private preRenderContainerEl;
|
|
90
|
-
|
|
90
|
+
/** Last height the embedded app reported, once fullHeight has measured one. */
|
|
91
91
|
protected hostEventClient: HostEventClient;
|
|
92
92
|
protected isReadyForRenderPromise: Promise<void>;
|
|
93
93
|
protected shouldWaitForRenderPromise: boolean;
|
|
@@ -343,10 +343,26 @@ export declare class TsEmbed {
|
|
|
343
343
|
*/
|
|
344
344
|
private createPreRenderPlaceholder;
|
|
345
345
|
/**
|
|
346
|
-
* Resolves the configured preRenderContainer to a live element
|
|
347
|
-
*
|
|
348
|
-
*
|
|
349
|
-
*
|
|
346
|
+
* Resolves the configured preRenderContainer to a live element. A string
|
|
347
|
+
* selector is re-queried on every call so a remounted container (E.g.: React
|
|
348
|
+
* replacing the node) resolves to the fresh element; an element passed
|
|
349
|
+
* directly cannot be re-resolved.
|
|
350
|
+
*
|
|
351
|
+
* With nothing configured the frame goes into the host element's nearest
|
|
352
|
+
* scrolling ancestor, falling back to `document.body`.
|
|
353
|
+
*
|
|
354
|
+
* The wrapper is absolutely positioned, so it follows the page for free —
|
|
355
|
+
* but only while it sits inside whatever scrolls. `document.body` is right
|
|
356
|
+
* only when the document itself is the scroller; an app that scrolls an
|
|
357
|
+
* inner element instead left the frame pinned to the viewport while the page
|
|
358
|
+
* moved under it (SCAL-338563). Being inside the scroller also lets wheel
|
|
359
|
+
* events chain out of the frame into it, which they cannot do from
|
|
360
|
+
* `document.body`.
|
|
361
|
+
*
|
|
362
|
+
* A scrolling ancestor is layout chrome rather than route content, so it
|
|
363
|
+
* outlives the embed in practice; and if it does go, the host element goes
|
|
364
|
+
* with it and this instance is remounting anyway.
|
|
365
|
+
* `reconcilePreRenderContainer` re-runs this on a detached container.
|
|
350
366
|
*/
|
|
351
367
|
private resolvePreRenderContainerTarget;
|
|
352
368
|
private inheritPreRenderContainer;
|
|
@@ -363,8 +379,9 @@ export declare class TsEmbed {
|
|
|
363
379
|
* Re-attaches the wrapper to a live container when the previously resolved
|
|
364
380
|
* one has been detached or no longer holds the wrapper — e.g. the host app
|
|
365
381
|
* remounted a custom preRenderContainer, which would otherwise leave a stale
|
|
366
|
-
* reference and collapse the wrapper.
|
|
367
|
-
* re-resolved; a container passed as an element
|
|
382
|
+
* reference and collapse the wrapper. Selectors and the auto-resolved
|
|
383
|
+
* scrolling ancestor are both re-resolved; a container passed as an element
|
|
384
|
+
* is left untouched, as there is nothing to re-query.
|
|
368
385
|
*/
|
|
369
386
|
private reconcilePreRenderContainer;
|
|
370
387
|
protected insertIntoDOMForPreRender(child: string | Node): void;
|
|
@@ -580,9 +597,17 @@ export declare class TsEmbed {
|
|
|
580
597
|
*/
|
|
581
598
|
private restorePreRenderContainerPosition;
|
|
582
599
|
/**
|
|
583
|
-
*
|
|
584
|
-
|
|
585
|
-
|
|
600
|
+
* Re-sizes the wrapper when its placeholder changes size.
|
|
601
|
+
*
|
|
602
|
+
* Position deliberately has no equivalent. An absolutely positioned wrapper
|
|
603
|
+
* follows its containing block for free, so a correctly placed frame is the
|
|
604
|
+
* browser's job and costs nothing; repositioning it on scroll would mean a
|
|
605
|
+
* layout read and a style write per frame to compensate for placing it in
|
|
606
|
+
* the wrong box. Size is the one thing the browser will not do for us: the
|
|
607
|
+
* placeholder grows when the embedded app reports a new height, and the
|
|
608
|
+
* wrapper has to be told.
|
|
609
|
+
*/
|
|
610
|
+
private observePreRenderSize;
|
|
586
611
|
/**
|
|
587
612
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
588
613
|
* @version SDK: 1.19.1 | ThoughtSpot: *
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-embed.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,EACH,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACvB,MAAM,uCAAuC,CAAC;AAI/C,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,eAAe,EAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"ts-embed.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,11 +43,15 @@ const TS_EMBED_ID = '_thoughtspot-embed';
|
|
|
43
43
|
*/
|
|
44
44
|
const PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY = 'tsEmbedOriginalPosition';
|
|
45
45
|
const PRERENDER_WRAPPER_ID_PREFIX = 'tsEmbed-pre-render-wrapper-';
|
|
46
|
+
const PRERENDER_PARKED_TRANSFORM = 'translateY(-100%)';
|
|
47
|
+
/** The height createPreRenderWrapper() seeds before anything is measured. */
|
|
48
|
+
const UNMEASURED_WRAPPER_HEIGHT = '100vh';
|
|
46
49
|
// The container applies UpdateEmbedParams through React state, so a delivered
|
|
47
50
|
// post is not the same as the params being in effect.
|
|
48
51
|
const UPDATE_EMBED_PARAMS_SETTLE_MS = 200;
|
|
49
|
-
// The container ignores runtimeFilterParams/runtimeParameterParams unless
|
|
50
|
-
// null or '' leaves the previous embed's values in place. '&' is
|
|
52
|
+
// The container ignores runtimeFilterParams/runtimeParameterParams unless
|
|
53
|
+
// truthy, so null or '' leaves the previous embed's values in place. '&' is
|
|
54
|
+
// truthy and parses to {}.
|
|
51
55
|
const NO_RUNTIME_PARAMS = '&';
|
|
52
56
|
/**
|
|
53
57
|
* The event id map from v2 event names to v1 event id
|
|
@@ -86,7 +90,6 @@ class TsEmbed {
|
|
|
86
90
|
this.shouldEncodeUrlQueryParams = false;
|
|
87
91
|
this.defaultHiddenActions = [types_1.Action.ReportError];
|
|
88
92
|
this.preRenderContainerEl = document.body;
|
|
89
|
-
this.containerScrollListener = null;
|
|
90
93
|
/**
|
|
91
94
|
* Handler for fullscreen change events
|
|
92
95
|
*/
|
|
@@ -245,7 +248,8 @@ class TsEmbed {
|
|
|
245
248
|
const AUTH_INIT_FALLBACK_DELAY = 1000;
|
|
246
249
|
// Wait for 1 second to ensure the embed container is loaded
|
|
247
250
|
// This is a workaround to ensure the embed container is loaded
|
|
248
|
-
// this is needed until all clusters have EmbedListenerReady
|
|
251
|
+
// this is needed until all clusters have EmbedListenerReady
|
|
252
|
+
// event
|
|
249
253
|
setTimeout(processEmbedContainerReady, AUTH_INIT_FALLBACK_DELAY);
|
|
250
254
|
}
|
|
251
255
|
else if (source === types_1.EmbedEvent.EmbedListenerReady) {
|
|
@@ -253,7 +257,8 @@ class TsEmbed {
|
|
|
253
257
|
}
|
|
254
258
|
};
|
|
255
259
|
// Subclasses that navigate the pre-render on show must await this before
|
|
256
|
-
// triggering Navigate. Resolves even on failure, so navigation is never
|
|
260
|
+
// triggering Navigate. Resolves even on failure, so navigation is never
|
|
261
|
+
// blocked.
|
|
257
262
|
this.preRenderParamsApplied = Promise.resolve();
|
|
258
263
|
this.hostElement = (0, utils_1.getDOMNode)(domSelector);
|
|
259
264
|
this.eventHandlerMap = new Map();
|
|
@@ -583,8 +588,9 @@ class TsEmbed {
|
|
|
583
588
|
...this.viewConfig,
|
|
584
589
|
...queryParams,
|
|
585
590
|
...appInitData,
|
|
586
|
-
// A show cycle has no URL to carry these, so the payload always
|
|
587
|
-
// — including "none", which is the case that leaks the
|
|
591
|
+
// A show cycle has no URL to carry these, so the payload always
|
|
592
|
+
// states them — including "none", which is the case that leaks the
|
|
593
|
+
// previous filters.
|
|
588
594
|
runtimeFilterParams: (0, utils_1.getFilterQuery)((_a = this.viewConfig.runtimeFilters) !== null && _a !== void 0 ? _a : []) || NO_RUNTIME_PARAMS,
|
|
589
595
|
runtimeParameterParams: (0, utils_1.getRuntimeParameters)((_b = this.viewConfig.runtimeParameters) !== null && _b !== void 0 ? _b : [])
|
|
590
596
|
|| NO_RUNTIME_PARAMS,
|
|
@@ -931,7 +937,7 @@ class TsEmbed {
|
|
|
931
937
|
top: '0',
|
|
932
938
|
left: '0',
|
|
933
939
|
width: '100vw',
|
|
934
|
-
height:
|
|
940
|
+
height: UNMEASURED_WRAPPER_HEIGHT,
|
|
935
941
|
};
|
|
936
942
|
(0, utils_1.setStyleProperties)(preRenderWrapper, initialPreRenderWrapperStyle);
|
|
937
943
|
return preRenderWrapper;
|
|
@@ -999,10 +1005,26 @@ class TsEmbed {
|
|
|
999
1005
|
return placeholder;
|
|
1000
1006
|
}
|
|
1001
1007
|
/**
|
|
1002
|
-
* Resolves the configured preRenderContainer to a live element
|
|
1003
|
-
*
|
|
1004
|
-
*
|
|
1005
|
-
*
|
|
1008
|
+
* Resolves the configured preRenderContainer to a live element. A string
|
|
1009
|
+
* selector is re-queried on every call so a remounted container (E.g.: React
|
|
1010
|
+
* replacing the node) resolves to the fresh element; an element passed
|
|
1011
|
+
* directly cannot be re-resolved.
|
|
1012
|
+
*
|
|
1013
|
+
* With nothing configured the frame goes into the host element's nearest
|
|
1014
|
+
* scrolling ancestor, falling back to `document.body`.
|
|
1015
|
+
*
|
|
1016
|
+
* The wrapper is absolutely positioned, so it follows the page for free —
|
|
1017
|
+
* but only while it sits inside whatever scrolls. `document.body` is right
|
|
1018
|
+
* only when the document itself is the scroller; an app that scrolls an
|
|
1019
|
+
* inner element instead left the frame pinned to the viewport while the page
|
|
1020
|
+
* moved under it (SCAL-338563). Being inside the scroller also lets wheel
|
|
1021
|
+
* events chain out of the frame into it, which they cannot do from
|
|
1022
|
+
* `document.body`.
|
|
1023
|
+
*
|
|
1024
|
+
* A scrolling ancestor is layout chrome rather than route content, so it
|
|
1025
|
+
* outlives the embed in practice; and if it does go, the host element goes
|
|
1026
|
+
* with it and this instance is remounting anyway.
|
|
1027
|
+
* `reconcilePreRenderContainer` re-runs this on a detached container.
|
|
1006
1028
|
*/
|
|
1007
1029
|
resolvePreRenderContainerTarget() {
|
|
1008
1030
|
var _a;
|
|
@@ -1022,7 +1044,13 @@ class TsEmbed {
|
|
|
1022
1044
|
else if (containerConfig) {
|
|
1023
1045
|
container = containerConfig;
|
|
1024
1046
|
}
|
|
1025
|
-
|
|
1047
|
+
if (container) {
|
|
1048
|
+
return container;
|
|
1049
|
+
}
|
|
1050
|
+
if (!this.hostElement) {
|
|
1051
|
+
return document.body;
|
|
1052
|
+
}
|
|
1053
|
+
return (_a = (0, utils_1.getScrollableAncestors)(this.hostElement)[0]) !== null && _a !== void 0 ? _a : document.body;
|
|
1026
1054
|
}
|
|
1027
1055
|
inheritPreRenderContainer() {
|
|
1028
1056
|
var _a;
|
|
@@ -1067,8 +1095,9 @@ class TsEmbed {
|
|
|
1067
1095
|
* Re-attaches the wrapper to a live container when the previously resolved
|
|
1068
1096
|
* one has been detached or no longer holds the wrapper — e.g. the host app
|
|
1069
1097
|
* remounted a custom preRenderContainer, which would otherwise leave a stale
|
|
1070
|
-
* reference and collapse the wrapper.
|
|
1071
|
-
* re-resolved; a container passed as an element
|
|
1098
|
+
* reference and collapse the wrapper. Selectors and the auto-resolved
|
|
1099
|
+
* scrolling ancestor are both re-resolved; a container passed as an element
|
|
1100
|
+
* is left untouched, as there is nothing to re-query.
|
|
1072
1101
|
*/
|
|
1073
1102
|
reconcilePreRenderContainer() {
|
|
1074
1103
|
const wrapper = this.preRenderWrapper;
|
|
@@ -1087,14 +1116,6 @@ class TsEmbed {
|
|
|
1087
1116
|
if (resolved === stored && stored.contains(wrapper)) {
|
|
1088
1117
|
return;
|
|
1089
1118
|
}
|
|
1090
|
-
if (this.containerScrollListener && stored !== resolved) {
|
|
1091
|
-
if (stored !== document.body) {
|
|
1092
|
-
stored.removeEventListener('scroll', this.containerScrollListener);
|
|
1093
|
-
}
|
|
1094
|
-
if (resolved !== document.body) {
|
|
1095
|
-
resolved.addEventListener('scroll', this.containerScrollListener);
|
|
1096
|
-
}
|
|
1097
|
-
}
|
|
1098
1119
|
this.preRenderContainerEl = resolved;
|
|
1099
1120
|
this.applyPreRenderContainerPositioning();
|
|
1100
1121
|
if (wrapper.parentNode !== resolved) {
|
|
@@ -1156,11 +1177,12 @@ class TsEmbed {
|
|
|
1156
1177
|
*/
|
|
1157
1178
|
setIFrameHeight(height) {
|
|
1158
1179
|
if (this.isPreRendered) {
|
|
1180
|
+
const next = (0, utils_1.getCssDimension)(height);
|
|
1159
1181
|
if (this.insertedDomEl) {
|
|
1160
|
-
this.insertedDomEl.style.height =
|
|
1182
|
+
this.insertedDomEl.style.height = next;
|
|
1161
1183
|
}
|
|
1162
1184
|
else if (this.preRenderWrapper) {
|
|
1163
|
-
this.preRenderWrapper.style.height =
|
|
1185
|
+
this.preRenderWrapper.style.height = next;
|
|
1164
1186
|
}
|
|
1165
1187
|
}
|
|
1166
1188
|
else {
|
|
@@ -1313,8 +1335,9 @@ class TsEmbed {
|
|
|
1313
1335
|
return;
|
|
1314
1336
|
this.preRenderWrapper[this.embedNodeKey] = this;
|
|
1315
1337
|
}
|
|
1316
|
-
// The flag lives on the wrapper because it describes the iframe: an
|
|
1317
|
-
// hidden when the container announced itself would otherwise
|
|
1338
|
+
// The flag lives on the wrapper because it describes the iframe: an
|
|
1339
|
+
// instance hidden when the container announced itself would otherwise
|
|
1340
|
+
// report false forever.
|
|
1318
1341
|
markEmbedContainerLoaded() {
|
|
1319
1342
|
this.isEmbedContainerLoaded = true;
|
|
1320
1343
|
if (this.preRenderWrapper) {
|
|
@@ -1594,34 +1617,47 @@ class TsEmbed {
|
|
|
1594
1617
|
delete container.dataset[PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY];
|
|
1595
1618
|
}
|
|
1596
1619
|
/**
|
|
1597
|
-
*
|
|
1620
|
+
* Re-sizes the wrapper when its placeholder changes size.
|
|
1621
|
+
*
|
|
1622
|
+
* Position deliberately has no equivalent. An absolutely positioned wrapper
|
|
1623
|
+
* follows its containing block for free, so a correctly placed frame is the
|
|
1624
|
+
* browser's job and costs nothing; repositioning it on scroll would mean a
|
|
1625
|
+
* layout read and a style write per frame to compensate for placing it in
|
|
1626
|
+
* the wrong box. Size is the one thing the browser will not do for us: the
|
|
1627
|
+
* placeholder grows when the embedded app reports a new height, and the
|
|
1628
|
+
* wrapper has to be told.
|
|
1598
1629
|
*/
|
|
1599
|
-
|
|
1600
|
-
|
|
1630
|
+
observePreRenderSize() {
|
|
1631
|
+
var _a;
|
|
1632
|
+
if (this.getPreRenderConfig().doNotTrackSize || typeof ResizeObserver === 'undefined') {
|
|
1633
|
+
return;
|
|
1634
|
+
}
|
|
1635
|
+
const placeholder = this.getPreRenderPlaceHolderElement();
|
|
1636
|
+
if (!placeholder) {
|
|
1601
1637
|
return;
|
|
1602
1638
|
}
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
this.
|
|
1639
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
1640
|
+
this.resizeObserver = new ResizeObserver(() => this.syncPreRenderStyle());
|
|
1641
|
+
this.resizeObserver.observe(placeholder);
|
|
1606
1642
|
}
|
|
1607
1643
|
/**
|
|
1608
1644
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
1609
1645
|
* @version SDK: 1.19.1 | ThoughtSpot: *
|
|
1610
1646
|
*/
|
|
1611
1647
|
destroy() {
|
|
1612
|
-
var _a, _b, _c;
|
|
1648
|
+
var _a, _b, _c, _d;
|
|
1613
1649
|
try {
|
|
1614
1650
|
this.removeFullscreenChangeHandler();
|
|
1615
|
-
this.
|
|
1651
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
1616
1652
|
this.unsubscribeToEvents();
|
|
1617
|
-
(
|
|
1653
|
+
(_b = this.preRenderWrapper) === null || _b === void 0 ? void 0 : _b.remove();
|
|
1618
1654
|
this.restorePreRenderContainerPosition();
|
|
1619
1655
|
if (!this.isRendered) {
|
|
1620
1656
|
return;
|
|
1621
1657
|
}
|
|
1622
1658
|
if (!(0, embedConfig_1.getEmbedConfig)().waitForCleanupOnDestroy) {
|
|
1623
1659
|
this.trigger(types_1.HostEvent.DestroyEmbed);
|
|
1624
|
-
(
|
|
1660
|
+
(_d = (_c = this.insertedDomEl) === null || _c === void 0 ? void 0 : _c.parentNode) === null || _d === void 0 ? void 0 : _d.removeChild(this.insertedDomEl);
|
|
1625
1661
|
}
|
|
1626
1662
|
else {
|
|
1627
1663
|
const cleanupTimeout = (0, embedConfig_1.getEmbedConfig)().cleanupTimeout;
|
|
@@ -1702,7 +1738,7 @@ class TsEmbed {
|
|
|
1702
1738
|
* wrapper to overlay it.
|
|
1703
1739
|
*/
|
|
1704
1740
|
async showPreRender() {
|
|
1705
|
-
var _a
|
|
1741
|
+
var _a;
|
|
1706
1742
|
(0, mixpanel_service_1.uploadMixpanelEvent)(mixpanel_service_1.MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
|
|
1707
1743
|
preRenderId: this.getPreRenderConfig().id,
|
|
1708
1744
|
embedComponentType: this.viewConfig.embedComponentType,
|
|
@@ -1721,54 +1757,49 @@ class TsEmbed {
|
|
|
1721
1757
|
this.beforePrerenderVisible();
|
|
1722
1758
|
if (this.hostElement) {
|
|
1723
1759
|
this.insertedDomEl = this.createPreRenderPlaceholder();
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1760
|
+
// Carry a height fullHeight has already measured onto the fresh
|
|
1761
|
+
// placeholder, so a re-show does not flash at frameParams height.
|
|
1762
|
+
// UNMEASURED_WRAPPER_HEIGHT is what createPreRenderWrapper() seeds
|
|
1763
|
+
// before anything has been measured; treating that as a measurement
|
|
1764
|
+
// is what made a first reveal overshoot to a full viewport.
|
|
1765
|
+
const wrapperHeight = this.preRenderWrapper.style.height;
|
|
1766
|
+
if (this.viewConfig.fullHeight
|
|
1767
|
+
&& wrapperHeight
|
|
1768
|
+
&& wrapperHeight !== UNMEASURED_WRAPPER_HEIGHT) {
|
|
1769
|
+
this.insertedDomEl.style.height = wrapperHeight;
|
|
1731
1770
|
}
|
|
1732
1771
|
const placeHolderId = this.getPreRenderIds().placeHolder;
|
|
1733
1772
|
// Remove any stale placeholder from a previous cycle. It is located
|
|
1734
|
-
// via a subtree-wide querySelector, so it may be nested deeper
|
|
1735
|
-
// direct child (E.g.: with fullHeight the host app can wrap
|
|
1736
|
-
// Element.remove() — which detaches from whatever the real
|
|
1737
|
-
// rather than hostElement.removeChild(), which throws
|
|
1738
|
-
// when the match is not a direct child. Mirrors the
|
|
1739
|
-
// cleanup in
|
|
1773
|
+
// via a subtree-wide querySelector, so it may be nested deeper
|
|
1774
|
+
// than a direct child (E.g.: with fullHeight the host app can wrap
|
|
1775
|
+
// it). Use Element.remove() — which detaches from whatever the real
|
|
1776
|
+
// parent is — rather than hostElement.removeChild(), which throws
|
|
1777
|
+
// NotFoundError when the match is not a direct child. Mirrors the
|
|
1778
|
+
// wrapper/child cleanup in
|
|
1779
|
+
// createPreRenderWrapper()/createPreRenderChild().
|
|
1740
1780
|
(_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
1741
1781
|
this.hostElement.appendChild(this.insertedDomEl);
|
|
1742
1782
|
this.syncPreRenderStyle();
|
|
1743
|
-
|
|
1744
|
-
if (customContainer && !this.containerScrollListener) {
|
|
1745
|
-
this.containerScrollListener = () => this.syncPreRenderStyle();
|
|
1746
|
-
customContainer.addEventListener('scroll', this.containerScrollListener);
|
|
1747
|
-
}
|
|
1748
|
-
if (!this.getPreRenderConfig().doNotTrackSize) {
|
|
1749
|
-
const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
|
|
1750
|
-
this.resizeObserver = new ResizeObserver((entries) => {
|
|
1751
|
-
entries.forEach((entry) => {
|
|
1752
|
-
if (entry.target === observeTarget) {
|
|
1753
|
-
this.syncPreRenderStyle();
|
|
1754
|
-
}
|
|
1755
|
-
});
|
|
1756
|
-
});
|
|
1757
|
-
this.resizeObserver.observe(observeTarget);
|
|
1758
|
-
}
|
|
1783
|
+
this.observePreRenderSize();
|
|
1759
1784
|
}
|
|
1760
1785
|
(0, utils_1.removeStyleProperties)(this.preRenderWrapper, [
|
|
1761
1786
|
'z-index',
|
|
1762
1787
|
'opacity',
|
|
1763
|
-
'pointer-events',
|
|
1764
1788
|
'overflow',
|
|
1789
|
+
'transform',
|
|
1765
1790
|
]);
|
|
1791
|
+
// Set rather than removed: a container that carries `pointer-events:
|
|
1792
|
+
// none` — the usual styling for a parking root that must not swallow
|
|
1793
|
+
// clicks — passes it down, and dropping the property here would leave
|
|
1794
|
+
// the inherited `none` in force and the frame dead to input.
|
|
1795
|
+
(0, utils_1.setStyleProperties)(this.preRenderWrapper, { pointerEvents: 'auto' });
|
|
1766
1796
|
this.subscribeToEvents();
|
|
1767
1797
|
// Setup fullscreen change handler for prerendered components
|
|
1768
1798
|
if (this.iFrame) {
|
|
1769
1799
|
this.setupFullscreenChangeHandler();
|
|
1770
1800
|
}
|
|
1771
|
-
// Last, so everything above still sees the instance being taken over
|
|
1801
|
+
// Last, so everything above still sees the instance being taken over
|
|
1802
|
+
// from.
|
|
1772
1803
|
this.takeOverPreRender();
|
|
1773
1804
|
return this;
|
|
1774
1805
|
}
|
|
@@ -1814,6 +1845,7 @@ class TsEmbed {
|
|
|
1814
1845
|
* If the component is not preRendered, it issues a warning.
|
|
1815
1846
|
*/
|
|
1816
1847
|
hidePreRender() {
|
|
1848
|
+
var _a;
|
|
1817
1849
|
(0, mixpanel_service_1.uploadMixpanelEvent)(mixpanel_service_1.MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
|
|
1818
1850
|
preRenderId: this.getPreRenderConfig().id,
|
|
1819
1851
|
embedComponentType: this.viewConfig.embedComponentType,
|
|
@@ -1833,12 +1865,15 @@ class TsEmbed {
|
|
|
1833
1865
|
top: '0',
|
|
1834
1866
|
left: '0',
|
|
1835
1867
|
overflow: 'hidden',
|
|
1868
|
+
// Keeps the measured size — so the next show needs no resize, which
|
|
1869
|
+
// is the point of pre-rendering — while lifting the box out of
|
|
1870
|
+
// the container's scrollable area. Overflow only extends
|
|
1871
|
+
// downwards, so a hidden frame parked above the top edge adds
|
|
1872
|
+
// none, where one left at full height shows as blank scroll space.
|
|
1873
|
+
transform: PRERENDER_PARKED_TRANSFORM,
|
|
1836
1874
|
};
|
|
1837
1875
|
(0, utils_1.setStyleProperties)(this.preRenderWrapper, preRenderHideStyles);
|
|
1838
|
-
this.
|
|
1839
|
-
if (this.resizeObserver) {
|
|
1840
|
-
this.resizeObserver.disconnect();
|
|
1841
|
-
}
|
|
1876
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
1842
1877
|
const placeHolderEle = this.getPreRenderPlaceHolderElement();
|
|
1843
1878
|
if (placeHolderEle) {
|
|
1844
1879
|
placeHolderEle.parentElement.removeChild(placeHolderEle);
|