@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
|
@@ -136,7 +136,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
136
136
|
expect(mockProcessTrigger).toHaveBeenCalledWith(getIFrameEl(), HostEvent.UIPassthrough, 'http://tshost', {
|
|
137
137
|
parameters: payload,
|
|
138
138
|
type: UIPassthroughEvent.PinAnswerToLiveboard,
|
|
139
|
-
});
|
|
139
|
+
}, undefined);
|
|
140
140
|
});
|
|
141
141
|
});
|
|
142
142
|
test('Host event with empty param', async () => {
|
|
@@ -148,7 +148,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
148
148
|
mockProcessTrigger.mockResolvedValue({ session: 'test' });
|
|
149
149
|
await executeAfterWait(async () => {
|
|
150
150
|
await liveboardEmbed.trigger(HostEvent.Save);
|
|
151
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(getIFrameEl(), HostEvent.Save, 'http://tshost', {});
|
|
151
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(getIFrameEl(), HostEvent.Save, 'http://tshost', {}, undefined);
|
|
152
152
|
});
|
|
153
153
|
});
|
|
154
154
|
test('Host event with falsy param', async () => {
|
|
@@ -160,7 +160,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
160
160
|
mockProcessTrigger.mockResolvedValue({ session: 'test' });
|
|
161
161
|
await executeAfterWait(async () => {
|
|
162
162
|
await liveboardEmbed.trigger(HostEvent.Save, false);
|
|
163
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(getIFrameEl(), HostEvent.Save, 'http://tshost', false);
|
|
163
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(getIFrameEl(), HostEvent.Save, 'http://tshost', false, undefined);
|
|
164
164
|
});
|
|
165
165
|
});
|
|
166
166
|
test('should set proper height, width and min-height to iframe', async () => {
|
|
@@ -1115,7 +1115,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1115
1115
|
const { mockPreauthInfoFetch, iFrame, } = await setup(true);
|
|
1116
1116
|
expect(mockPreauthInfoFetch).toHaveBeenCalledTimes(1);
|
|
1117
1117
|
await executeAfterWait(() => {
|
|
1118
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1118
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(iFrame, HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1119
1119
|
});
|
|
1120
1120
|
});
|
|
1121
1121
|
test('should not call InfoSuccess Event if overrideOrgId is true', async () => {
|
|
@@ -1218,28 +1218,28 @@ describe('Unit test case for ts embed', () => {
|
|
|
1218
1218
|
const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', undefined);
|
|
1219
1219
|
await executeAfterWait(() => {
|
|
1220
1220
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1221
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1221
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1222
1222
|
});
|
|
1223
1223
|
});
|
|
1224
1224
|
test('should enable preauth cache for FullAppEmbed with showPrimaryNavbar = false', async () => {
|
|
1225
1225
|
const { mockGetPreauthInfo } = await setupPreauthTest('AppEmbed', false);
|
|
1226
1226
|
await executeAfterWait(() => {
|
|
1227
1227
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1228
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1228
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1229
1229
|
});
|
|
1230
1230
|
});
|
|
1231
1231
|
test('should enable preauth cache for SearchEmbed regardless of showPrimaryNavbar', async () => {
|
|
1232
1232
|
const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', true);
|
|
1233
1233
|
await executeAfterWait(() => {
|
|
1234
1234
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1235
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1235
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1236
1236
|
});
|
|
1237
1237
|
});
|
|
1238
1238
|
test('should enable preauth cache for SearchEmbed (verifies fix for embed type regression)', async () => {
|
|
1239
1239
|
const { mockGetPreauthInfo } = await setupPreauthTest('SearchEmbed', false);
|
|
1240
1240
|
await executeAfterWait(() => {
|
|
1241
1241
|
expect(mockGetPreauthInfo).toHaveBeenCalledTimes(1);
|
|
1242
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }));
|
|
1242
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(expect.any(Object), HostEvent.InfoSuccess, 'http://tshost', expect.objectContaining({ info: expect.any(Object) }), undefined);
|
|
1243
1243
|
});
|
|
1244
1244
|
});
|
|
1245
1245
|
test('should disable preauth cache for FullAppEmbed with overrideOrgId (combined condition)', async () => {
|
|
@@ -2059,6 +2059,36 @@ describe('Unit test case for ts embed', () => {
|
|
|
2059
2059
|
libEmbed.hidePreRender();
|
|
2060
2060
|
expect(libEmbed.preRender).toHaveBeenCalledTimes(0);
|
|
2061
2061
|
});
|
|
2062
|
+
it('should set overflow:hidden when hidePreRender and remove when showPreRender', async () => {
|
|
2063
|
+
createRootEleForEmbed();
|
|
2064
|
+
window.ResizeObserver = window.ResizeObserver
|
|
2065
|
+
|| jest.fn().mockImplementation(() => ({
|
|
2066
|
+
disconnect: jest.fn(),
|
|
2067
|
+
observe: jest.fn(),
|
|
2068
|
+
unobserve: jest.fn(),
|
|
2069
|
+
}));
|
|
2070
|
+
const libEmbed = new LiveboardEmbed('#tsEmbedDiv', {
|
|
2071
|
+
preRenderId: 'overflow-test',
|
|
2072
|
+
liveboardId: 'myLiveboardId',
|
|
2073
|
+
});
|
|
2074
|
+
await libEmbed.preRender();
|
|
2075
|
+
await waitFor(() => !!getIFrameEl());
|
|
2076
|
+
const preRenderIds = libEmbed.getPreRenderIds();
|
|
2077
|
+
const preRenderWrapper = document.getElementById(preRenderIds.wrapper);
|
|
2078
|
+
// After preRender (calls hidePreRender by default)
|
|
2079
|
+
// should have overflow:hidden
|
|
2080
|
+
expect(preRenderWrapper.style.overflow).toBe('hidden');
|
|
2081
|
+
expect(preRenderWrapper.style.opacity).toBe('0');
|
|
2082
|
+
// After showPreRender, overflow should be removed
|
|
2083
|
+
// to inherit from CSS
|
|
2084
|
+
libEmbed.showPreRender();
|
|
2085
|
+
expect(preRenderWrapper.style.overflow).toBe('');
|
|
2086
|
+
expect(preRenderWrapper.style.opacity).toBe('');
|
|
2087
|
+
// After hidePreRender again, overflow should be hidden
|
|
2088
|
+
libEmbed.hidePreRender();
|
|
2089
|
+
expect(preRenderWrapper.style.overflow).toBe('hidden');
|
|
2090
|
+
expect(preRenderWrapper.style.opacity).toBe('0');
|
|
2091
|
+
});
|
|
2062
2092
|
it('it should connect with another object', async () => {
|
|
2063
2093
|
createRootEleForEmbed();
|
|
2064
2094
|
mockMessageChannel();
|
|
@@ -3293,7 +3323,7 @@ describe('Destroy error handling', () => {
|
|
|
3293
3323
|
appEmbed.destroy();
|
|
3294
3324
|
}).not.toThrow();
|
|
3295
3325
|
expect(logSpy).toHaveBeenCalledWith('Error destroying TS Embed', expect.any(Error));
|
|
3296
|
-
logSpy.
|
|
3326
|
+
logSpy.mockReset();
|
|
3297
3327
|
});
|
|
3298
3328
|
});
|
|
3299
3329
|
describe('Fullscreen change handler behavior', () => {
|
|
@@ -3327,7 +3357,7 @@ describe('Fullscreen change handler behavior', () => {
|
|
|
3327
3357
|
const event = new Event('fullscreenchange');
|
|
3328
3358
|
document.dispatchEvent(event);
|
|
3329
3359
|
await executeAfterWait(() => {
|
|
3330
|
-
expect(mockProcessTrigger).
|
|
3360
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), HostEvent.ExitPresentMode, expect.any(String), expect.any(Object), undefined);
|
|
3331
3361
|
});
|
|
3332
3362
|
});
|
|
3333
3363
|
test('should not trigger ExitPresentMode when entering fullscreen', async () => {
|
|
@@ -3356,17 +3386,7 @@ describe('Fullscreen change handler behavior', () => {
|
|
|
3356
3386
|
});
|
|
3357
3387
|
});
|
|
3358
3388
|
describe('ShowPreRender with UpdateEmbedParams', () => {
|
|
3359
|
-
|
|
3360
|
-
init({
|
|
3361
|
-
thoughtSpotHost: 'tshost',
|
|
3362
|
-
authType: AuthType.None,
|
|
3363
|
-
});
|
|
3364
|
-
});
|
|
3365
|
-
afterEach(() => {
|
|
3366
|
-
const rootEle = document.getElementById('myRoot');
|
|
3367
|
-
rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
|
|
3368
|
-
});
|
|
3369
|
-
test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
|
|
3389
|
+
const setupPreRenderTest = async (preRenderId, initialConfig) => {
|
|
3370
3390
|
createRootEleForEmbed();
|
|
3371
3391
|
mockMessageChannel();
|
|
3372
3392
|
window.ResizeObserver = window.ResizeObserver
|
|
@@ -3376,24 +3396,136 @@ describe('ShowPreRender with UpdateEmbedParams', () => {
|
|
|
3376
3396
|
unobserve: jest.fn(),
|
|
3377
3397
|
}));
|
|
3378
3398
|
const embed1 = new LiveboardEmbed('#tsEmbedDiv', {
|
|
3379
|
-
preRenderId
|
|
3380
|
-
|
|
3399
|
+
preRenderId,
|
|
3400
|
+
...initialConfig,
|
|
3381
3401
|
});
|
|
3382
3402
|
await embed1.preRender();
|
|
3383
3403
|
await waitFor(() => !!getIFrameEl());
|
|
3384
3404
|
embed1.isEmbedContainerLoaded = true;
|
|
3385
3405
|
mockProcessTrigger.mockClear();
|
|
3386
3406
|
mockProcessTrigger.mockResolvedValue({});
|
|
3407
|
+
return embed1;
|
|
3408
|
+
};
|
|
3409
|
+
beforeAll(() => {
|
|
3410
|
+
init({
|
|
3411
|
+
thoughtSpotHost: 'tshost',
|
|
3412
|
+
authType: AuthType.None,
|
|
3413
|
+
});
|
|
3414
|
+
});
|
|
3415
|
+
afterEach(() => {
|
|
3416
|
+
const rootEle = document.getElementById('myRoot');
|
|
3417
|
+
rootEle === null || rootEle === void 0 ? void 0 : rootEle.remove();
|
|
3418
|
+
});
|
|
3419
|
+
test('should trigger UpdateEmbedParams when showPreRender connects to existing prerendered component', async () => {
|
|
3420
|
+
await setupPreRenderTest('update-params-test', { liveboardId: 'original-lb' });
|
|
3387
3421
|
const embed2 = new LiveboardEmbed('#tsEmbedDiv', {
|
|
3388
3422
|
preRenderId: 'update-params-test',
|
|
3389
3423
|
liveboardId: 'updated-lb',
|
|
3390
3424
|
});
|
|
3391
3425
|
embed2.showPreRender();
|
|
3392
3426
|
await executeAfterWait(() => {
|
|
3393
|
-
expect(mockProcessTrigger).
|
|
3427
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3394
3428
|
liveboardId: 'updated-lb',
|
|
3429
|
+
}), undefined);
|
|
3430
|
+
});
|
|
3431
|
+
});
|
|
3432
|
+
test('should trigger UpdateEmbedParams with runtime filters and visible vizs', async () => {
|
|
3433
|
+
await setupPreRenderTest('url-param-test', { liveboardId: 'original-lb' });
|
|
3434
|
+
const embed2 = new LiveboardEmbed('#tsEmbedDiv', {
|
|
3435
|
+
preRenderId: 'url-param-test',
|
|
3436
|
+
liveboardId: 'original-lb',
|
|
3437
|
+
visibleVizs: ['viz-1'],
|
|
3438
|
+
runtimeFilters: [
|
|
3439
|
+
{
|
|
3440
|
+
columnName: 'Color',
|
|
3441
|
+
operator: RuntimeFilterOp.IN,
|
|
3442
|
+
values: ['red', 'blue'],
|
|
3443
|
+
},
|
|
3444
|
+
{
|
|
3445
|
+
columnName: 'Region',
|
|
3446
|
+
operator: RuntimeFilterOp.EQ,
|
|
3447
|
+
values: ['North'],
|
|
3448
|
+
},
|
|
3449
|
+
],
|
|
3450
|
+
});
|
|
3451
|
+
embed2.showPreRender();
|
|
3452
|
+
await executeAfterWait(() => {
|
|
3453
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3454
|
+
liveboardId: 'original-lb',
|
|
3455
|
+
visibleVizs: ['viz-1'],
|
|
3456
|
+
runtimeFilters: [
|
|
3457
|
+
{
|
|
3458
|
+
columnName: 'Color',
|
|
3459
|
+
operator: RuntimeFilterOp.IN,
|
|
3460
|
+
values: ['red', 'blue'],
|
|
3461
|
+
},
|
|
3462
|
+
{
|
|
3463
|
+
columnName: 'Region',
|
|
3464
|
+
operator: RuntimeFilterOp.EQ,
|
|
3465
|
+
values: ['North'],
|
|
3466
|
+
},
|
|
3467
|
+
],
|
|
3468
|
+
}), undefined);
|
|
3469
|
+
});
|
|
3470
|
+
});
|
|
3471
|
+
test('should trigger UpdateEmbedParams with updated config', async () => {
|
|
3472
|
+
await setupPreRenderTest('preserve-config-test', {
|
|
3473
|
+
liveboardId: 'original-lb',
|
|
3474
|
+
runtimeFilters: [
|
|
3475
|
+
{
|
|
3476
|
+
columnName: 'Color',
|
|
3477
|
+
operator: RuntimeFilterOp.IN,
|
|
3478
|
+
values: ['red', 'blue'],
|
|
3479
|
+
},
|
|
3480
|
+
],
|
|
3481
|
+
});
|
|
3482
|
+
const embed2 = new LiveboardEmbed('#tsEmbedDiv', {
|
|
3483
|
+
preRenderId: 'preserve-config-test',
|
|
3484
|
+
liveboardId: 'original-lb',
|
|
3485
|
+
visibleVizs: ['viz-1', 'viz-2'],
|
|
3486
|
+
runtimeFilters: [
|
|
3487
|
+
{
|
|
3488
|
+
columnName: 'Region',
|
|
3489
|
+
operator: RuntimeFilterOp.EQ,
|
|
3490
|
+
values: ['North'],
|
|
3491
|
+
},
|
|
3492
|
+
],
|
|
3493
|
+
});
|
|
3494
|
+
embed2.showPreRender();
|
|
3495
|
+
await executeAfterWait(() => {
|
|
3496
|
+
expect(mockProcessTrigger).toHaveBeenLastCalledWith(expect.any(Object), HostEvent.UpdateEmbedParams, expect.any(String), expect.objectContaining({
|
|
3497
|
+
liveboardId: 'original-lb',
|
|
3498
|
+
visibleVizs: ['viz-1', 'viz-2'],
|
|
3499
|
+
runtimeFilters: [
|
|
3500
|
+
{
|
|
3501
|
+
columnName: 'Region',
|
|
3502
|
+
operator: RuntimeFilterOp.EQ,
|
|
3503
|
+
values: ['North'],
|
|
3504
|
+
},
|
|
3505
|
+
],
|
|
3506
|
+
}), undefined);
|
|
3507
|
+
});
|
|
3508
|
+
});
|
|
3509
|
+
test('should handle error when getUpdateEmbedParamsObject fails during showPreRender', async () => {
|
|
3510
|
+
await setupPreRenderTest('error-test', { liveboardId: 'original-lb' });
|
|
3511
|
+
const handleErrorSpy = jest.spyOn(LiveboardEmbed.prototype, 'handleError');
|
|
3512
|
+
const embed2 = new LiveboardEmbed('#tsEmbedDiv', {
|
|
3513
|
+
preRenderId: 'error-test',
|
|
3514
|
+
liveboardId: 'updated-lb',
|
|
3515
|
+
});
|
|
3516
|
+
const mockError = new Error('Failed to get params');
|
|
3517
|
+
jest.spyOn(embed2, 'getUpdateEmbedParamsObject').mockRejectedValue(mockError);
|
|
3518
|
+
embed2.showPreRender();
|
|
3519
|
+
await executeAfterWait(() => {
|
|
3520
|
+
expect(handleErrorSpy).toHaveBeenCalledWith(expect.objectContaining({
|
|
3521
|
+
errorType: ErrorDetailsTypes.API,
|
|
3522
|
+
message: 'Failed to get params',
|
|
3523
|
+
code: EmbedErrorCodes.UPDATE_PARAMS_FAILED,
|
|
3524
|
+
error: 'Failed to get params',
|
|
3395
3525
|
}));
|
|
3526
|
+
expect(mockProcessTrigger).not.toHaveBeenCalledWith(expect.any(Object), HostEvent.UpdateEmbedParams, expect.any(String), expect.any(Object));
|
|
3396
3527
|
});
|
|
3528
|
+
handleErrorSpy.mockRestore();
|
|
3397
3529
|
});
|
|
3398
3530
|
});
|
|
3399
3531
|
//# sourceMappingURL=ts-embed.spec.js.map
|