@thoughtspot/visual-embed-sdk 1.44.3 → 1.44.4
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/liveboard.d.ts +1 -1
- package/cjs/src/embed/ts-embed.d.ts +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +24 -6
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +145 -13
- 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 +4 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/types.d.ts +100 -44
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +74 -15
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +2 -1
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-D0n5LIka.js → index-C5FAW929.js} +1 -1
- package/dist/src/embed/app.d.ts +44 -32
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +1 -1
- package/dist/src/embed/ts-embed.d.ts +1 -1
- 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 +100 -44
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +104 -25
- package/dist/tsembed-react.js +103 -24
- package/dist/tsembed.es.js +105 -26
- package/dist/tsembed.js +130 -51
- package/dist/visual-embed-sdk-react-full.d.ts +140 -70
- package/dist/visual-embed-sdk-react.d.ts +146 -78
- package/dist/visual-embed-sdk.d.ts +193 -80
- 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/liveboard.d.ts +1 -1
- package/lib/src/embed/ts-embed.d.ts +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +24 -6
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +145 -13
- 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 +100 -44
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +74 -15
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +2 -1
- package/lib/src/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/embed/app.ts +44 -32
- package/src/embed/liveboard.ts +1 -1
- package/src/embed/ts-embed.spec.ts +190 -15
- package/src/embed/ts-embed.ts +24 -6
- package/src/errors.ts +1 -0
- package/src/index.ts +4 -0
- package/src/types.ts +100 -43
- package/src/utils.ts +2 -1
|
@@ -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)();
|
|
@@ -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,14 +3400,28 @@ 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',
|
|
@@ -3399,5 +3433,103 @@ describe('ShowPreRender with UpdateEmbedParams', () => {
|
|
|
3399
3433
|
}));
|
|
3400
3434
|
});
|
|
3401
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).toHaveBeenCalledWith(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
|
+
}));
|
|
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).toHaveBeenCalledWith(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
|
+
}));
|
|
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',
|
|
3529
|
+
}));
|
|
3530
|
+
expect(mockProcessTrigger).not.toHaveBeenCalledWith(expect.any(Object), types_1.HostEvent.UpdateEmbedParams, expect.any(String), expect.any(Object));
|
|
3531
|
+
});
|
|
3532
|
+
handleErrorSpy.mockRestore();
|
|
3533
|
+
});
|
|
3402
3534
|
});
|
|
3403
3535
|
//# sourceMappingURL=ts-embed.spec.js.map
|