@thoughtspot/visual-embed-sdk 1.44.3 → 1.44.4-HE-beta.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/README.md +1 -1
- package/cjs/package.json +1 -1
- package/cjs/src/embed/app.d.ts +44 -32
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +7 -0
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +9 -0
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +20 -3
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js +6 -1
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +18 -18
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +7 -7
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +10 -4
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +12 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +1 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +7 -0
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +9 -0
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +7 -0
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js +9 -0
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +7 -0
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +9 -0
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +9 -3
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +41 -8
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +156 -24
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +1 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +1 -0
- package/cjs/src/errors.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 +5 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/types.d.ts +142 -45
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +91 -16
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/logger.spec.d.ts +20 -5
- package/cjs/src/utils/logger.spec.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +3 -2
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +4 -2
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils.d.ts +5 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +10 -2
- package/cjs/src/utils.js.map +1 -1
- package/dist/index-BFdRRz03.js +7371 -0
- package/dist/index-BUfrYJ3w.js +7371 -0
- package/dist/index-CI6s4VMY.js +7371 -0
- package/dist/{index-D0n5LIka.js → index-CWQnMX2L.js} +1 -1
- package/dist/index-CaW-1mu5.js +7371 -0
- package/dist/index-CcSgNJVi.js +7371 -0
- package/dist/index-Djtv-y7A.js +7371 -0
- package/dist/index-UY-4yjBN.js +7371 -0
- package/dist/src/embed/app.d.ts +44 -32
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +7 -0
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +20 -3
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +10 -4
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +7 -0
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +7 -0
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +7 -0
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +9 -3
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.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/types.d.ts +142 -45
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/logger.spec.d.ts +20 -5
- package/dist/src/utils/logger.spec.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +3 -2
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +5 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +218 -50
- package/dist/tsembed-react.js +217 -49
- package/dist/tsembed.es.js +219 -51
- package/dist/tsembed.js +244 -76
- package/dist/visual-embed-sdk-react-full.d.ts +245 -82
- package/dist/visual-embed-sdk-react.d.ts +251 -90
- package/dist/visual-embed-sdk.d.ts +298 -92
- package/lib/package.json +1 -1
- package/lib/src/embed/app.d.ts +44 -32
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +7 -0
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +9 -0
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +20 -3
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js +5 -0
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +8 -8
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +18 -18
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +7 -7
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +10 -4
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +12 -2
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +1 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +7 -0
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +9 -0
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +7 -0
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +9 -0
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +7 -0
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +9 -0
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +9 -3
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +41 -8
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +156 -24
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +1 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +1 -0
- package/lib/src/errors.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/types.d.ts +142 -45
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +90 -15
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/logger.spec.d.ts +20 -5
- package/lib/src/utils/logger.spec.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +3 -2
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +4 -2
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils.d.ts +5 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +8 -1
- package/lib/src/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/embed/app.ts +45 -32
- package/src/embed/conversation.ts +11 -0
- package/src/embed/hostEventClient/contracts.ts +23 -4
- package/src/embed/hostEventClient/host-event-client.spec.ts +7 -1
- package/src/embed/hostEventClient/host-event-client.ts +22 -11
- package/src/embed/liveboard.spec.ts +1 -1
- package/src/embed/liveboard.ts +18 -5
- package/src/embed/sage.ts +11 -0
- package/src/embed/search-bar.tsx +11 -0
- package/src/embed/search.ts +11 -0
- package/src/embed/ts-embed.spec.ts +205 -18
- package/src/embed/ts-embed.ts +45 -9
- package/src/errors.ts +1 -0
- package/src/index.ts +6 -0
- package/src/types.ts +146 -43
- package/src/utils/processTrigger.ts +6 -3
- package/src/utils.ts +10 -1
|
@@ -140,7 +140,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
140
140
|
expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.UIPassthrough, 'http://tshost', {
|
|
141
141
|
parameters: payload,
|
|
142
142
|
type: contracts_1.UIPassthroughEvent.PinAnswerToLiveboard,
|
|
143
|
-
});
|
|
143
|
+
}, undefined);
|
|
144
144
|
});
|
|
145
145
|
});
|
|
146
146
|
test('Host event with empty param', async () => {
|
|
@@ -152,7 +152,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
152
152
|
mockProcessTrigger.mockResolvedValue({ session: 'test' });
|
|
153
153
|
await (0, test_utils_1.executeAfterWait)(async () => {
|
|
154
154
|
await liveboardEmbed.trigger(types_1.HostEvent.Save);
|
|
155
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', {});
|
|
155
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', {}, undefined);
|
|
156
156
|
});
|
|
157
157
|
});
|
|
158
158
|
test('Host event with falsy param', async () => {
|
|
@@ -164,7 +164,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
164
164
|
mockProcessTrigger.mockResolvedValue({ session: 'test' });
|
|
165
165
|
await (0, test_utils_1.executeAfterWait)(async () => {
|
|
166
166
|
await liveboardEmbed.trigger(types_1.HostEvent.Save, false);
|
|
167
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', false);
|
|
167
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith((0, test_utils_1.getIFrameEl)(), types_1.HostEvent.Save, 'http://tshost', false, undefined);
|
|
168
168
|
});
|
|
169
169
|
});
|
|
170
170
|
test('should set proper height, width and min-height to iframe', async () => {
|
|
@@ -1119,7 +1119,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1119
1119
|
const { mockPreauthInfoFetch, iFrame, } = await setup(true);
|
|
1120
1120
|
expect(mockPreauthInfoFetch).toHaveBeenCalledTimes(1);
|
|
1121
1121
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
1122
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1122
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1123
1123
|
});
|
|
1124
1124
|
});
|
|
1125
1125
|
test('should not call InfoSuccess Event if overrideOrgId is true', async () => {
|
|
@@ -1222,28 +1222,28 @@ describe('Unit test case for ts embed', () => {
|
|
|
1222
1222
|
const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', undefined);
|
|
1223
1223
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
1224
1224
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1225
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1225
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1226
1226
|
});
|
|
1227
1227
|
});
|
|
1228
1228
|
test('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = false', async () => {
|
|
1229
1229
|
const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false);
|
|
1230
1230
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
1231
1231
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1232
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1232
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1233
1233
|
});
|
|
1234
1234
|
});
|
|
1235
1235
|
test('should enable preauth cache for SearchEmbed regardless of showPrimaryNavbar', async () => {
|
|
1236
1236
|
const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', true);
|
|
1237
1237
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
1238
1238
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1239
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1239
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1240
1240
|
});
|
|
1241
1241
|
});
|
|
1242
1242
|
test('should enable preauth cache for SearchEmbed (verifies fix for embed type regression)', async () => {
|
|
1243
1243
|
const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', false);
|
|
1244
1244
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
1245
1245
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1246
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1246
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1247
1247
|
});
|
|
1248
1248
|
});
|
|
1249
1249
|
test('should disable preauth cache for FullAppEmbed with overrideOrgId (combined condition)', async () => {
|
|
@@ -2063,6 +2063,36 @@ describe('Unit test case for ts embed', () => {
|
|
|
2063
2063
|
libEmbed.hidePreRender();
|
|
2064
2064
|
expect(libEmbed.preRender).toHaveBeenCalledTimes(0);
|
|
2065
2065
|
});
|
|
2066
|
+
it('should set overflow:hidden when hidePreRender and remove when showPreRender', async () => {
|
|
2067
|
+
(0, test_utils_1.createRootEleForEmbed)();
|
|
2068
|
+
window.ResizeObserver = window.ResizeObserver
|
|
2069
|
+
|| jest.fn().mockImplementation(() => ({
|
|
2070
|
+
disconnect: jest.fn(),
|
|
2071
|
+
observe: jest.fn(),
|
|
2072
|
+
unobserve: jest.fn(),
|
|
2073
|
+
}));
|
|
2074
|
+
const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
2075
|
+
preRenderId: 'overflow-test',
|
|
2076
|
+
liveboardId: 'myLiveboardId',
|
|
2077
|
+
});
|
|
2078
|
+
await libEmbed.preRender();
|
|
2079
|
+
await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
|
|
2080
|
+
const preRenderIds = libEmbed.getPreRenderIds();
|
|
2081
|
+
const preRenderWrapper = document.getElementById(preRenderIds.wrapper);
|
|
2082
|
+
// After preRender (calls hidePreRender by default)
|
|
2083
|
+
// should have overflow:hidden
|
|
2084
|
+
expect(preRenderWrapper.style.overflow).toBe('hidden');
|
|
2085
|
+
expect(preRenderWrapper.style.opacity).toBe('0');
|
|
2086
|
+
// After showPreRender, overflow should be removed
|
|
2087
|
+
// to inherit from CSS
|
|
2088
|
+
libEmbed.showPreRender();
|
|
2089
|
+
expect(preRenderWrapper.style.overflow).toBe('');
|
|
2090
|
+
expect(preRenderWrapper.style.opacity).toBe('');
|
|
2091
|
+
// After hidePreRender again, overflow should be hidden
|
|
2092
|
+
libEmbed.hidePreRender();
|
|
2093
|
+
expect(preRenderWrapper.style.overflow).toBe('hidden');
|
|
2094
|
+
expect(preRenderWrapper.style.opacity).toBe('0');
|
|
2095
|
+
});
|
|
2066
2096
|
it('it should connect with another object', async () => {
|
|
2067
2097
|
(0, test_utils_1.createRootEleForEmbed)();
|
|
2068
2098
|
(0, test_utils_1.mockMessageChannel)();
|
|
@@ -3297,7 +3327,7 @@ describe('Destroy error handling', () => {
|
|
|
3297
3327
|
appEmbed.destroy();
|
|
3298
3328
|
}).not.toThrow();
|
|
3299
3329
|
expect(logSpy).toHaveBeenCalledWith('Error destroying TS Embed', expect.any(Error));
|
|
3300
|
-
logSpy.
|
|
3330
|
+
logSpy.mockReset();
|
|
3301
3331
|
});
|
|
3302
3332
|
});
|
|
3303
3333
|
describe('Fullscreen change handler behavior', () => {
|
|
@@ -3331,7 +3361,7 @@ describe('Fullscreen change handler behavior', () => {
|
|
|
3331
3361
|
const event = new Event('fullscreenchange');
|
|
3332
3362
|
document.dispatchEvent(event);
|
|
3333
3363
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
3334
|
-
expect(mockProcessTrigger).
|
|
3364
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.ExitPresentMode, expect.any(String), expect.any(Object), undefined);
|
|
3335
3365
|
});
|
|
3336
3366
|
});
|
|
3337
3367
|
test('should not trigger ExitPresentMode when entering fullscreen', async () => {
|
|
@@ -3360,17 +3390,7 @@ describe('Fullscreen change handler behavior', () => {
|
|
|
3360
3390
|
});
|
|
3361
3391
|
});
|
|
3362
3392
|
describe('ShowPreRender with UpdateEmbedParams', () => {
|
|
3363
|
-
|
|
3364
|
-
(0, index_1.init)({
|
|
3365
|
-
thoughtSpotHost: 'tshost',
|
|
3366
|
-
authType: index_1.AuthType.None,
|
|
3367
|
-
});
|
|
3368
|
-
});
|
|
3369
|
-
afterEach(() => {
|
|
3370
|
-
const rootEle = document.getElementById('myRoot');
|
|
3371
|
-
rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
|
|
3372
|
-
});
|
|
3373
|
-
test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
|
|
3393
|
+
const setupPreRenderTest = async (preRenderId, initialConfig) => {
|
|
3374
3394
|
(0, test_utils_1.createRootEleForEmbed)();
|
|
3375
3395
|
(0, test_utils_1.mockMessageChannel)();
|
|
3376
3396
|
window.ResizeObserver = window.ResizeObserver
|
|
@@ -3380,24 +3400,136 @@ describe('ShowPreRender with UpdateEmbedParams', () => {
|
|
|
3380
3400
|
unobserve: jest.fn(),
|
|
3381
3401
|
}));
|
|
3382
3402
|
const embed1 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
3383
|
-
preRenderId
|
|
3384
|
-
|
|
3403
|
+
preRenderId,
|
|
3404
|
+
...initialConfig,
|
|
3385
3405
|
});
|
|
3386
3406
|
await embed1.preRender();
|
|
3387
3407
|
await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
|
|
3388
3408
|
embed1.isEmbedContainerLoaded = true;
|
|
3389
3409
|
mockProcessTrigger.mockClear();
|
|
3390
3410
|
mockProcessTrigger.mockResolvedValue({});
|
|
3411
|
+
return embed1;
|
|
3412
|
+
};
|
|
3413
|
+
beforeAll(() => {
|
|
3414
|
+
(0, index_1.init)({
|
|
3415
|
+
thoughtSpotHost: 'tshost',
|
|
3416
|
+
authType: index_1.AuthType.None,
|
|
3417
|
+
});
|
|
3418
|
+
});
|
|
3419
|
+
afterEach(() => {
|
|
3420
|
+
const rootEle = document.getElementById('myRoot');
|
|
3421
|
+
rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
|
|
3422
|
+
});
|
|
3423
|
+
test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
|
|
3424
|
+
await setupPreRenderTest('update-params-test', { liveboardId: 'original-lb' });
|
|
3391
3425
|
const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
3392
3426
|
preRenderId: 'update-params-test',
|
|
3393
3427
|
liveboardId: 'updated-lb',
|
|
3394
3428
|
});
|
|
3395
3429
|
embed2.showPreRender();
|
|
3396
3430
|
await (0, test_utils_1.executeAfterWait)(() => {
|
|
3397
|
-
expect(mockProcessTrigger).
|
|
3431
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3398
3432
|
liveboardId: 'updated-lb',
|
|
3433
|
+
}), undefined);
|
|
3434
|
+
});
|
|
3435
|
+
});
|
|
3436
|
+
test('should trigger UpdateEmbedParams with runtime filters and visible vizs', async () => {
|
|
3437
|
+
await setupPreRenderTest('url-param-test', { liveboardId: 'original-lb' });
|
|
3438
|
+
const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
3439
|
+
preRenderId: 'url-param-test',
|
|
3440
|
+
liveboardId: 'original-lb',
|
|
3441
|
+
visibleVizs: ['viz-1'],
|
|
3442
|
+
runtimeFilters: [
|
|
3443
|
+
{
|
|
3444
|
+
columnName: 'Color',
|
|
3445
|
+
operator: types_1.RuntimeFilterOp.IN,
|
|
3446
|
+
values: ['red', 'blue'],
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
columnName: 'Region',
|
|
3450
|
+
operator: types_1.RuntimeFilterOp.EQ,
|
|
3451
|
+
values: ['North'],
|
|
3452
|
+
},
|
|
3453
|
+
],
|
|
3454
|
+
});
|
|
3455
|
+
embed2.showPreRender();
|
|
3456
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
3457
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3458
|
+
liveboardId: 'original-lb',
|
|
3459
|
+
visibleVizs: ['viz-1'],
|
|
3460
|
+
runtimeFilters: [
|
|
3461
|
+
{
|
|
3462
|
+
columnName: 'Color',
|
|
3463
|
+
operator: types_1.RuntimeFilterOp.IN,
|
|
3464
|
+
values: ['red', 'blue'],
|
|
3465
|
+
},
|
|
3466
|
+
{
|
|
3467
|
+
columnName: 'Region',
|
|
3468
|
+
operator: types_1.RuntimeFilterOp.EQ,
|
|
3469
|
+
values: ['North'],
|
|
3470
|
+
},
|
|
3471
|
+
],
|
|
3472
|
+
}), undefined);
|
|
3473
|
+
});
|
|
3474
|
+
});
|
|
3475
|
+
test('should trigger UpdateEmbedParams with updated config', async () => {
|
|
3476
|
+
await setupPreRenderTest('preserve-config-test', {
|
|
3477
|
+
liveboardId: 'original-lb',
|
|
3478
|
+
runtimeFilters: [
|
|
3479
|
+
{
|
|
3480
|
+
columnName: 'Color',
|
|
3481
|
+
operator: types_1.RuntimeFilterOp.IN,
|
|
3482
|
+
values: ['red', 'blue'],
|
|
3483
|
+
},
|
|
3484
|
+
],
|
|
3485
|
+
});
|
|
3486
|
+
const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
3487
|
+
preRenderId: 'preserve-config-test',
|
|
3488
|
+
liveboardId: 'original-lb',
|
|
3489
|
+
visibleVizs: ['viz-1', 'viz-2'],
|
|
3490
|
+
runtimeFilters: [
|
|
3491
|
+
{
|
|
3492
|
+
columnName: 'Region',
|
|
3493
|
+
operator: types_1.RuntimeFilterOp.EQ,
|
|
3494
|
+
values: ['North'],
|
|
3495
|
+
},
|
|
3496
|
+
],
|
|
3497
|
+
});
|
|
3498
|
+
embed2.showPreRender();
|
|
3499
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
3500
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3501
|
+
liveboardId: 'original-lb',
|
|
3502
|
+
visibleVizs: ['viz-1', 'viz-2'],
|
|
3503
|
+
runtimeFilters: [
|
|
3504
|
+
{
|
|
3505
|
+
columnName: 'Region',
|
|
3506
|
+
operator: types_1.RuntimeFilterOp.EQ,
|
|
3507
|
+
values: ['North'],
|
|
3508
|
+
},
|
|
3509
|
+
],
|
|
3510
|
+
}), undefined);
|
|
3511
|
+
});
|
|
3512
|
+
});
|
|
3513
|
+
test('should handle error when getUpdateEmbedParamsObject fails during showPreRender', async () => {
|
|
3514
|
+
await setupPreRenderTest('error-test', { liveboardId: 'original-lb' });
|
|
3515
|
+
const handleErrorSpy = jest.spyOn(index_1.LiveboardEmbed.prototype, 'handleError');
|
|
3516
|
+
const embed2 = new index_1.LiveboardEmbed('#tsEmbedDiv', {
|
|
3517
|
+
preRenderId: 'error-test',
|
|
3518
|
+
liveboardId: 'updated-lb',
|
|
3519
|
+
});
|
|
3520
|
+
const mockError = new Error('Failed to get params');
|
|
3521
|
+
jest.spyOn(embed2, 'getUpdateEmbedParamsObject').mockRejectedValue(mockError);
|
|
3522
|
+
embed2.showPreRender();
|
|
3523
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
3524
|
+
expect(handleErrorSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
3525
|
+
errorType: types_1.ErrorDetailsTypes.API,
|
|
3526
|
+
message: 'Failed to get params',
|
|
3527
|
+
code: types_1.EmbedErrorCodes.UPDATE_PARAMS_FAILED,
|
|
3528
|
+
error: 'Failed to get params',
|
|
3399
3529
|
}));
|
|
3530
|
+
expect(mockProcessTrigger).not.toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.any(Object));
|
|
3400
3531
|
});
|
|
3532
|
+
handleErrorSpy.mockRestore();
|
|
3401
3533
|
});
|
|
3402
3534
|
});
|
|
3403
3535
|
//# sourceMappingURL=ts-embed.spec.js.map
|