@thoughtspot/visual-embed-sdk 1.24.0-alpha.6 → 1.24.0-dev
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 +2 -2
- package/cjs/src/embed/app.d.ts +1 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +1 -0
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +6 -1
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +10 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +23 -7
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +5 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +4 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +15 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +19 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +136 -6
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +38 -1
- package/cjs/src/embed/ts-embed.spec.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/react/index.d.ts +1 -0
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +18 -4
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +87 -7
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +60 -5
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +9 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +36 -1
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +24 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/src/embed/app.d.ts +1 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +6 -1
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +5 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +19 -0
- package/dist/src/embed/ts-embed.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/react/index.d.ts +1 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +87 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +9 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +264 -21
- package/dist/tsembed-react.js +264 -20
- package/dist/tsembed.es.js +245 -16
- package/dist/tsembed.js +245 -16
- package/dist/visual-embed-sdk-react-full.d.ts +115 -7
- package/dist/visual-embed-sdk-react.d.ts +115 -7
- package/dist/visual-embed-sdk.d.ts +114 -7
- package/lib/package.json +2 -2
- package/lib/src/embed/app.d.ts +1 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +1 -0
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +6 -1
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +11 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +23 -7
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +5 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +5 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +15 -0
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +19 -0
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +137 -7
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +38 -1
- package/lib/src/embed/ts-embed.spec.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/react/index.d.ts +1 -0
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +17 -3
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +87 -7
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +60 -5
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +9 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +32 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +25 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +116 -9
- package/package.json +5 -5
- package/src/embed/app.ts +1 -0
- package/src/embed/liveboard.spec.ts +29 -10
- package/src/embed/liveboard.ts +19 -2
- package/src/embed/search.spec.ts +18 -0
- package/src/embed/search.ts +16 -1
- package/src/embed/ts-embed.spec.ts +40 -1
- package/src/embed/ts-embed.ts +174 -14
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.tsx +25 -8
- package/src/types.ts +97 -16
- package/src/utils.spec.ts +31 -0
- package/src/utils.ts +43 -0
package/lib/src/utils.spec.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @jest-environment node
|
|
3
3
|
*/
|
|
4
|
-
import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, } from './utils';
|
|
4
|
+
import { getQueryParamString, getFilterQuery, getCssDimension, getEncodedQueryParamsString, appendToUrlHash, getRedirectUrl, checkReleaseVersionInBeta, getRuntimeParameters, } from './utils';
|
|
5
5
|
import { RuntimeFilterOp } from './types';
|
|
6
6
|
describe('unit test for utils', () => {
|
|
7
7
|
test('getQueryParamString', () => {
|
|
@@ -44,6 +44,30 @@ describe('unit test for utils', () => {
|
|
|
44
44
|
];
|
|
45
45
|
expect(getFilterQuery(filters)).toBe('col1=foo&op1=EQ&val1=42&col2=bar&op2=BW_INC&val2=1&val2=10&col3=baz&op3=CONTAINS&val3=abc');
|
|
46
46
|
});
|
|
47
|
+
test('getParameterOverride', () => {
|
|
48
|
+
expect(getRuntimeParameters([])).toBe(null);
|
|
49
|
+
expect(getRuntimeParameters([
|
|
50
|
+
{
|
|
51
|
+
name: 'foo',
|
|
52
|
+
value: 'bar',
|
|
53
|
+
},
|
|
54
|
+
])).toBe('param1=foo¶mVal1=bar');
|
|
55
|
+
const params = [
|
|
56
|
+
{
|
|
57
|
+
name: 'foo',
|
|
58
|
+
value: 42,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: 'bar',
|
|
62
|
+
value: 'abc',
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
name: 'baz',
|
|
66
|
+
value: true,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
expect(getRuntimeParameters(params)).toBe('param1=foo¶mVal1=42¶m2=bar¶mVal2=abc¶m3=baz¶mVal3=true');
|
|
70
|
+
});
|
|
47
71
|
test('getCssDimension', () => {
|
|
48
72
|
expect(getCssDimension(100)).toBe('100px');
|
|
49
73
|
expect(getCssDimension('100%')).toBe('100%');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,yBAAyB,
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -341,7 +341,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
341
341
|
* @summary Liveboard & visualization embed
|
|
342
342
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
343
343
|
*/
|
|
344
|
-
import { DOMSelector, HostEvent, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
344
|
+
import { RuntimeParameter, DOMSelector, HostEvent, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
345
345
|
import { V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
|
|
346
346
|
/**
|
|
347
347
|
* The configuration for the embedded Liveboard or visualization page view.
|
|
@@ -425,6 +425,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
425
425
|
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
|
|
426
426
|
*/
|
|
427
427
|
hideTabPanel?: boolean;
|
|
428
|
+
/**
|
|
429
|
+
* The list of parameter override to apply to a Liveboard.
|
|
430
|
+
*/
|
|
431
|
+
runtimeParameters?: RuntimeParameter[];
|
|
428
432
|
}
|
|
429
433
|
/**
|
|
430
434
|
* Embed a ThoughtSpot Liveboard or a Thoughtspot visualization. When rendered it already
|
|
@@ -463,6 +467,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
463
467
|
* visualization ID and the runtime filters.
|
|
464
468
|
*/
|
|
465
469
|
render(): LiveboardEmbed;
|
|
470
|
+
preRender(): LiveboardEmbed;
|
|
466
471
|
navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string): void;
|
|
467
472
|
}
|
|
468
473
|
/**
|
|
@@ -481,7 +486,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
|
|
|
481
486
|
* @summary Search embed
|
|
482
487
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
483
488
|
*/
|
|
484
|
-
import { DOMSelector, Action, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
489
|
+
import { DOMSelector, Action, ViewConfig, RuntimeParameter } from '@thoughtspot/visual-embed-sdk/types';
|
|
485
490
|
import { TsEmbed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
|
|
486
491
|
/**
|
|
487
492
|
* Configuration for search options
|
|
@@ -578,6 +583,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/search' {
|
|
|
578
583
|
* @version: SDK: 1.24.0
|
|
579
584
|
*/
|
|
580
585
|
useLastSelectedSources?: boolean;
|
|
586
|
+
/**
|
|
587
|
+
* The list of parameter override to apply to a search answer.
|
|
588
|
+
*/
|
|
589
|
+
runtimeParameters?: RuntimeParameter[];
|
|
581
590
|
}
|
|
582
591
|
export const HiddenActionItemByDefaultForSearchEmbed: Action[];
|
|
583
592
|
/**
|
|
@@ -1452,6 +1461,11 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
1452
1461
|
* visualization, or Liveboard.
|
|
1453
1462
|
*/
|
|
1454
1463
|
runtimeFilters?: RuntimeFilter[];
|
|
1464
|
+
/**
|
|
1465
|
+
* The list of parameter override to apply to a search answer,
|
|
1466
|
+
* visualization, or Liveboard.
|
|
1467
|
+
*/
|
|
1468
|
+
runtimeParameters?: RuntimeParameter[];
|
|
1455
1469
|
/**
|
|
1456
1470
|
* The locale/language to use for the embedded view.
|
|
1457
1471
|
*
|
|
@@ -1561,6 +1575,7 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
1561
1575
|
/**
|
|
1562
1576
|
* Hide the home page modules
|
|
1563
1577
|
* eg: hiddenHomepageModules = [HomepageModule.MyLibrary]
|
|
1578
|
+
*
|
|
1564
1579
|
* @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
1565
1580
|
*/
|
|
1566
1581
|
hiddenHomepageModules?: HomepageModule[];
|
|
@@ -1588,9 +1603,14 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
1588
1603
|
* There are 8 home nav list items, we will send those item as list
|
|
1589
1604
|
* which we want to hide for TSE.
|
|
1590
1605
|
* eg: hiddenHomeLeftNavItems = [HomeLeftNavItem.Home] to hide home.
|
|
1606
|
+
*
|
|
1591
1607
|
* @version SDK: 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
1592
1608
|
*/
|
|
1593
1609
|
hiddenHomeLeftNavItems?: HomeLeftNavItem[];
|
|
1610
|
+
/**
|
|
1611
|
+
* TBD
|
|
1612
|
+
*/
|
|
1613
|
+
preRenderId?: string;
|
|
1594
1614
|
}
|
|
1595
1615
|
/**
|
|
1596
1616
|
* MessagePayload: Embed event payload: message type, data and status (start/end)
|
|
@@ -1751,6 +1771,20 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
1751
1771
|
*/
|
|
1752
1772
|
values: (number | boolean | string)[];
|
|
1753
1773
|
}
|
|
1774
|
+
/**
|
|
1775
|
+
* A filter that can be applied to ThoughtSpot answers, Liveboards, or
|
|
1776
|
+
* visualizations at runtime.
|
|
1777
|
+
*/
|
|
1778
|
+
export interface RuntimeParameter {
|
|
1779
|
+
/**
|
|
1780
|
+
* The name of the runtime parameter to filter on (case-sensitive)
|
|
1781
|
+
*/
|
|
1782
|
+
name: string;
|
|
1783
|
+
/**
|
|
1784
|
+
* Values
|
|
1785
|
+
*/
|
|
1786
|
+
value: number | boolean | string;
|
|
1787
|
+
}
|
|
1754
1788
|
/**
|
|
1755
1789
|
* Event types emitted by the embedded ThoughtSpot application.
|
|
1756
1790
|
*
|
|
@@ -2175,21 +2209,21 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
2175
2209
|
*/
|
|
2176
2210
|
InsertIntoSlide = "insertInToSlide",
|
|
2177
2211
|
/**
|
|
2212
|
+
* @hidden
|
|
2178
2213
|
* Emitted when a user changes any filter on a Liveboard.
|
|
2179
|
-
*
|
|
2180
2214
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
2181
2215
|
*/
|
|
2182
2216
|
FilterChanged = "filterChanged",
|
|
2183
2217
|
/**
|
|
2184
2218
|
* Emitted when a user click on Go button in Sage Embed
|
|
2185
2219
|
*
|
|
2186
|
-
* @version SDK : 1.
|
|
2220
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2187
2221
|
*/
|
|
2188
2222
|
SageEmbedQuery = "sageEmbedQuery",
|
|
2189
2223
|
/**
|
|
2190
2224
|
* Emitten when a user select data source in Sage Embed
|
|
2191
2225
|
*
|
|
2192
|
-
* @version SDK : 1.
|
|
2226
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2193
2227
|
*/
|
|
2194
2228
|
SageWorksheetUpdated = "sageWorksheetUpdated",
|
|
2195
2229
|
/**
|
|
@@ -2197,7 +2231,52 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
2197
2231
|
*
|
|
2198
2232
|
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
2199
2233
|
*/
|
|
2200
|
-
UpdateConnection = "updateConnection"
|
|
2234
|
+
UpdateConnection = "updateConnection",
|
|
2235
|
+
/**
|
|
2236
|
+
* Emitted when name, status (private or public) or filter values of a
|
|
2237
|
+
* PersonalisedView is updated.
|
|
2238
|
+
*
|
|
2239
|
+
* @returns viewName: string
|
|
2240
|
+
* @returns viewId: string
|
|
2241
|
+
* @returns liveboardId: string
|
|
2242
|
+
* @returns isPublic: boolean
|
|
2243
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2244
|
+
*/
|
|
2245
|
+
UpdatePersonalisedView = "updatePersonalisedView",
|
|
2246
|
+
/**
|
|
2247
|
+
* Emitted when a PersonalisedView is saved.
|
|
2248
|
+
*
|
|
2249
|
+
* @returns viewName: string
|
|
2250
|
+
* @returns viewId: string
|
|
2251
|
+
* @returns liveboardId: string
|
|
2252
|
+
* @returns isPublic: boolean
|
|
2253
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2254
|
+
*/
|
|
2255
|
+
SavePersonalisedView = "savePersonalisedView",
|
|
2256
|
+
/**
|
|
2257
|
+
* Emitted when a Liveboard is reset.
|
|
2258
|
+
*
|
|
2259
|
+
* @returns viewName: string
|
|
2260
|
+
* @returns viewId: string
|
|
2261
|
+
* @returns liveboardId: string
|
|
2262
|
+
* @returns isPublic: boolean
|
|
2263
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2264
|
+
*/
|
|
2265
|
+
ResetLiveboard = "resetLiveboard",
|
|
2266
|
+
/**
|
|
2267
|
+
* Emitted when a PersonalisedView is deleted.
|
|
2268
|
+
*
|
|
2269
|
+
* @returns views: string[]
|
|
2270
|
+
* @returns liveboardId: string
|
|
2271
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2272
|
+
*/
|
|
2273
|
+
DeletePersonalisedView = "deletePersonalisedView",
|
|
2274
|
+
/**
|
|
2275
|
+
* Emitten when a user creates a new worksheet
|
|
2276
|
+
*
|
|
2277
|
+
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
2278
|
+
*/
|
|
2279
|
+
CreateWorksheet = "createWorksheet"
|
|
2201
2280
|
}
|
|
2202
2281
|
/**
|
|
2203
2282
|
* Event types that can be triggered by the host application
|
|
@@ -2840,16 +2919,16 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
2840
2919
|
*/
|
|
2841
2920
|
ResetSearch = "resetSearch",
|
|
2842
2921
|
/**
|
|
2922
|
+
* @hidden
|
|
2843
2923
|
* Gets the currents visible and runtime filters applied on a Liveboard
|
|
2844
|
-
*
|
|
2845
2924
|
* @example
|
|
2846
2925
|
* liveboardEmbed.trigger(HostEvent.GetFilters)
|
|
2847
2926
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
2848
2927
|
*/
|
|
2849
2928
|
GetFilters = "getFilters",
|
|
2850
2929
|
/**
|
|
2930
|
+
* @hidden
|
|
2851
2931
|
* Updates the visible filters on the Liveboard.
|
|
2852
|
-
*
|
|
2853
2932
|
* @param - filter: filter object containing column name and filter operation and values
|
|
2854
2933
|
* @example
|
|
2855
2934
|
*
|
|
@@ -3829,7 +3908,17 @@ declare module '@thoughtspot/visual-embed-sdk/types' {
|
|
|
3829
3908
|
* disabledActions: [Action.ManageMonitor]
|
|
3830
3909
|
* ```
|
|
3831
3910
|
*/
|
|
3832
|
-
ManageMonitor = "ManageMonitor"
|
|
3911
|
+
ManageMonitor = "ManageMonitor",
|
|
3912
|
+
/**
|
|
3913
|
+
* Action ID for Liveboard Personalised Views dropdown
|
|
3914
|
+
*
|
|
3915
|
+
* @example
|
|
3916
|
+
* ```js
|
|
3917
|
+
* disabledActions: [Action.PersonalisedViewsDropdown]
|
|
3918
|
+
* ```
|
|
3919
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
3920
|
+
*/
|
|
3921
|
+
PersonalisedViewsDropdown = "personalisedViewsDropdown"
|
|
3833
3922
|
}
|
|
3834
3923
|
export interface SessionInterface {
|
|
3835
3924
|
sessionId: string;
|
|
@@ -4380,6 +4469,20 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
4380
4469
|
* @param frameOptions
|
|
4381
4470
|
*/
|
|
4382
4471
|
protected renderIFrame(url: string): Promise<any>;
|
|
4472
|
+
getPreRenderIds(): {
|
|
4473
|
+
wrapper: string;
|
|
4474
|
+
shield: string;
|
|
4475
|
+
child: string;
|
|
4476
|
+
};
|
|
4477
|
+
protected createPreRenderWrapper(child: HTMLElement): HTMLDivElement;
|
|
4478
|
+
protected preRenderWrapper: HTMLElement;
|
|
4479
|
+
protected preRenderShield: HTMLElement;
|
|
4480
|
+
protected preRenderChild: HTMLElement;
|
|
4481
|
+
protected isPreRenderAvailable(): boolean;
|
|
4482
|
+
protected insertIntoDOMForPreRender(child: string | HTMLElement): void;
|
|
4483
|
+
hidePreRender(): void;
|
|
4484
|
+
showPreRender(): void;
|
|
4485
|
+
syncPreRenderStyle(): void;
|
|
4383
4486
|
protected insertIntoDOM(child: string | Node): void;
|
|
4384
4487
|
/**
|
|
4385
4488
|
* Sets the height of the iframe
|
|
@@ -4476,6 +4579,10 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
4476
4579
|
* @param args
|
|
4477
4580
|
*/
|
|
4478
4581
|
render(): TsEmbed;
|
|
4582
|
+
/**
|
|
4583
|
+
* Creates the preRender shell
|
|
4584
|
+
*/
|
|
4585
|
+
preRender(): TsEmbed;
|
|
4479
4586
|
/**
|
|
4480
4587
|
* Get the Post Url Params for THOUGHTSPOT from the current
|
|
4481
4588
|
* host app URL.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.24.0-
|
|
3
|
+
"version": "1.24.0-dev",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
},
|
|
38
38
|
"size-limit": [
|
|
39
39
|
{
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
"path": "dist/tsembed.js",
|
|
41
|
+
"limit": "40 kB"
|
|
42
42
|
}
|
|
43
|
-
|
|
43
|
+
],
|
|
44
44
|
"scripts": {
|
|
45
45
|
"lint": "eslint 'src/**'",
|
|
46
46
|
"lint:fix": "eslint 'src/**/*.*' --fix",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"test": "npm run test-sdk && npm run test-docs",
|
|
65
65
|
"posttest": "cat ./coverage/sdk/lcov.info | coveralls",
|
|
66
66
|
"is-publish-allowed": "node scripts/is-publish-allowed.js",
|
|
67
|
-
"prepublishOnly": "npm run
|
|
67
|
+
"prepublishOnly": "npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build",
|
|
68
68
|
"check-size": "npm run build && size-limit",
|
|
69
69
|
"publish-dev": "npm publish --tag dev",
|
|
70
70
|
"publish-prod": "npm publish --tag latest"
|
package/src/embed/app.ts
CHANGED
|
@@ -277,6 +277,7 @@ export class AppEmbed extends V1Embed {
|
|
|
277
277
|
* Gets the ThoughtSpot route of the page for a particular page ID.
|
|
278
278
|
*
|
|
279
279
|
* @param pageId The identifier for a page in the ThoughtSpot app.
|
|
280
|
+
* @param modularHomeExperience
|
|
280
281
|
*/
|
|
281
282
|
private getPageRoute(pageId: Page, modularHomeExperience = false) {
|
|
282
283
|
switch (pageId) {
|
|
@@ -337,22 +337,22 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
337
337
|
done();
|
|
338
338
|
});
|
|
339
339
|
});
|
|
340
|
-
|
|
341
|
-
test('SetActiveTab Hostevent trigger the navigate event with the correct path, not vizEmbed', async () => {
|
|
342
|
-
const mockProcessTrigger = jest.spyOn(tsEmbed.TsEmbed.prototype, 'trigger');
|
|
340
|
+
test('should set runtime parametere values in url params', async () => {
|
|
343
341
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
344
|
-
enableVizTransformations: true,
|
|
345
342
|
...defaultViewConfig,
|
|
346
343
|
liveboardId,
|
|
344
|
+
runtimeParameters: [
|
|
345
|
+
{
|
|
346
|
+
name: 'Integer Date Range',
|
|
347
|
+
value: 1,
|
|
348
|
+
},
|
|
349
|
+
],
|
|
347
350
|
} as LiveboardViewConfig);
|
|
348
351
|
liveboardEmbed.render();
|
|
349
352
|
await executeAfterWait(() => {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
expect(mockProcessTrigger).toHaveBeenCalledWith(
|
|
354
|
-
HostEvent.Navigate,
|
|
355
|
-
`embed/viz/${liveboardId}/tab/${newActiveTabId}`,
|
|
353
|
+
expectUrlMatchesWithParams(
|
|
354
|
+
getIFrameSrc(),
|
|
355
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}¶m1=Integer%20Date%20Range¶mVal1=1#/embed/viz/${liveboardId}`,
|
|
356
356
|
);
|
|
357
357
|
});
|
|
358
358
|
});
|
|
@@ -373,4 +373,23 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
373
373
|
expect(mockProcessTrigger).not.toBeCalled();
|
|
374
374
|
});
|
|
375
375
|
});
|
|
376
|
+
|
|
377
|
+
test('SetActiveTab Hostevent trigger the navigate event with the correct path, not vizEmbed', async () => {
|
|
378
|
+
const mockProcessTrigger = jest.spyOn(tsEmbed.TsEmbed.prototype, 'trigger');
|
|
379
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
380
|
+
enableVizTransformations: true,
|
|
381
|
+
...defaultViewConfig,
|
|
382
|
+
liveboardId,
|
|
383
|
+
} as LiveboardViewConfig);
|
|
384
|
+
liveboardEmbed.render();
|
|
385
|
+
await executeAfterWait(() => {
|
|
386
|
+
const result = liveboardEmbed.trigger(HostEvent.SetActiveTab, {
|
|
387
|
+
tabId: newActiveTabId,
|
|
388
|
+
});
|
|
389
|
+
expect(mockProcessTrigger).toHaveBeenCalledWith(
|
|
390
|
+
HostEvent.Navigate,
|
|
391
|
+
`embed/viz/${liveboardId}/tab/${newActiveTabId}`,
|
|
392
|
+
);
|
|
393
|
+
});
|
|
394
|
+
});
|
|
376
395
|
});
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -15,11 +15,12 @@ import {
|
|
|
15
15
|
MessagePayload,
|
|
16
16
|
Param,
|
|
17
17
|
RuntimeFilter,
|
|
18
|
+
RuntimeParameter,
|
|
18
19
|
DOMSelector,
|
|
19
20
|
HostEvent,
|
|
20
21
|
ViewConfig,
|
|
21
22
|
} from '../types';
|
|
22
|
-
import { getQueryParamString } from '../utils';
|
|
23
|
+
import { getQueryParamString, getRuntimeParameters } from '../utils';
|
|
23
24
|
import { getAuthPromise } from './base';
|
|
24
25
|
import { V1Embed } from './ts-embed';
|
|
25
26
|
|
|
@@ -105,6 +106,10 @@ export interface LiveboardViewConfig extends ViewConfig {
|
|
|
105
106
|
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
|
|
106
107
|
*/
|
|
107
108
|
hideTabPanel?: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* The list of parameter override to apply to a Liveboard.
|
|
111
|
+
*/
|
|
112
|
+
runtimeParameters?: RuntimeParameter[];
|
|
108
113
|
}
|
|
109
114
|
|
|
110
115
|
/**
|
|
@@ -154,6 +159,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
154
159
|
vizId,
|
|
155
160
|
hideTabPanel,
|
|
156
161
|
activeTabId,
|
|
162
|
+
runtimeParameters,
|
|
157
163
|
} = this.viewConfig;
|
|
158
164
|
|
|
159
165
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -184,7 +190,10 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
184
190
|
if (hideTabPanel) {
|
|
185
191
|
params[Param.HideTabPanel] = hideTabPanel;
|
|
186
192
|
}
|
|
187
|
-
|
|
193
|
+
let queryParams = getQueryParamString(params, true);
|
|
194
|
+
|
|
195
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
196
|
+
if (parameterQuery) queryParams += `&${parameterQuery}`;
|
|
188
197
|
|
|
189
198
|
return queryParams;
|
|
190
199
|
}
|
|
@@ -282,6 +291,14 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
282
291
|
return this;
|
|
283
292
|
}
|
|
284
293
|
|
|
294
|
+
public preRender(): LiveboardEmbed {
|
|
295
|
+
super.preRender();
|
|
296
|
+
|
|
297
|
+
this.render();
|
|
298
|
+
|
|
299
|
+
return this;
|
|
300
|
+
}
|
|
301
|
+
|
|
285
302
|
public navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string) {
|
|
286
303
|
const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
|
|
287
304
|
this.viewConfig.liveboardId = liveboardId;
|
package/src/embed/search.spec.ts
CHANGED
|
@@ -393,4 +393,22 @@ describe('Search embed tests', () => {
|
|
|
393
393
|
);
|
|
394
394
|
});
|
|
395
395
|
});
|
|
396
|
+
test('should set runtime parametere values in url params', async () => {
|
|
397
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
398
|
+
...defaultViewConfig,
|
|
399
|
+
runtimeParameters: [
|
|
400
|
+
{
|
|
401
|
+
name: 'Integer Date Range',
|
|
402
|
+
value: 1,
|
|
403
|
+
},
|
|
404
|
+
],
|
|
405
|
+
});
|
|
406
|
+
searchEmbed.render();
|
|
407
|
+
await executeAfterWait(() => {
|
|
408
|
+
expectUrlMatchesWithParams(
|
|
409
|
+
getIFrameSrc(),
|
|
410
|
+
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}¶m1=Integer%20Date%20Range¶mVal1=1#/embed/saved-answer/${answerId}`,
|
|
411
|
+
);
|
|
412
|
+
});
|
|
413
|
+
});
|
|
396
414
|
});
|
package/src/embed/search.ts
CHANGED
|
@@ -14,8 +14,14 @@ import {
|
|
|
14
14
|
Action,
|
|
15
15
|
ViewConfig,
|
|
16
16
|
RuntimeFilter,
|
|
17
|
+
RuntimeParameter,
|
|
17
18
|
} from '../types';
|
|
18
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
getQueryParamString,
|
|
21
|
+
checkReleaseVersionInBeta,
|
|
22
|
+
getFilterQuery,
|
|
23
|
+
getRuntimeParameters,
|
|
24
|
+
} from '../utils';
|
|
19
25
|
import { TsEmbed } from './ts-embed';
|
|
20
26
|
import { version } from '../../package.json';
|
|
21
27
|
import { ERROR_MESSAGE } from '../errors';
|
|
@@ -118,6 +124,10 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
118
124
|
* @version: SDK: 1.24.0
|
|
119
125
|
*/
|
|
120
126
|
useLastSelectedSources?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* The list of parameter override to apply to a search answer.
|
|
129
|
+
*/
|
|
130
|
+
runtimeParameters?: RuntimeParameter[];
|
|
121
131
|
}
|
|
122
132
|
|
|
123
133
|
export const HiddenActionItemByDefaultForSearchEmbed = [
|
|
@@ -172,6 +182,7 @@ export class SearchEmbed extends TsEmbed {
|
|
|
172
182
|
excludeRuntimeFiltersfromURL,
|
|
173
183
|
dataPanelV2 = false,
|
|
174
184
|
useLastSelectedSources = false,
|
|
185
|
+
runtimeParameters,
|
|
175
186
|
} = this.viewConfig;
|
|
176
187
|
const queryParams = this.getBaseQueryParams();
|
|
177
188
|
|
|
@@ -219,6 +230,10 @@ export class SearchEmbed extends TsEmbed {
|
|
|
219
230
|
if (queryParamsString) {
|
|
220
231
|
query = `?${queryParamsString}`;
|
|
221
232
|
}
|
|
233
|
+
|
|
234
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
235
|
+
if (parameterQuery) query += `&${parameterQuery}`;
|
|
236
|
+
|
|
222
237
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
223
238
|
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
224
239
|
query += `&${filterQuery}`;
|
|
@@ -185,7 +185,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
185
185
|
});
|
|
186
186
|
});
|
|
187
187
|
|
|
188
|
-
test('Runtime filters from view Config should be part of app_init payload', async () => {
|
|
188
|
+
test('Runtime filters from view Config should be part of app_init payload when excludeRuntimeFiltersfromURL is true', async () => {
|
|
189
189
|
const mockEmbedEventPayload = {
|
|
190
190
|
type: EmbedEvent.APP_INIT,
|
|
191
191
|
data: {},
|
|
@@ -200,6 +200,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
200
200
|
|
|
201
201
|
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
202
202
|
...defaultViewConfig,
|
|
203
|
+
excludeRuntimeFiltersfromURL: true,
|
|
203
204
|
runtimeFilters: mockRuntimeFilters,
|
|
204
205
|
});
|
|
205
206
|
searchEmbed.render();
|
|
@@ -222,6 +223,44 @@ describe('Unit test case for ts embed', () => {
|
|
|
222
223
|
});
|
|
223
224
|
});
|
|
224
225
|
|
|
226
|
+
test('Runtime filters from view Config should not be part of app_init payload when excludeRuntimeFiltersfromURL is false', async () => {
|
|
227
|
+
const mockEmbedEventPayload = {
|
|
228
|
+
type: EmbedEvent.APP_INIT,
|
|
229
|
+
data: {},
|
|
230
|
+
};
|
|
231
|
+
const mockRuntimeFilters: RuntimeFilter[] = [
|
|
232
|
+
{
|
|
233
|
+
columnName: 'color',
|
|
234
|
+
operator: RuntimeFilterOp.EQ,
|
|
235
|
+
values: ['blue'],
|
|
236
|
+
},
|
|
237
|
+
];
|
|
238
|
+
|
|
239
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {
|
|
240
|
+
...defaultViewConfig,
|
|
241
|
+
excludeRuntimeFiltersfromURL: false,
|
|
242
|
+
runtimeFilters: mockRuntimeFilters,
|
|
243
|
+
});
|
|
244
|
+
searchEmbed.render();
|
|
245
|
+
const mockPort: any = {
|
|
246
|
+
postMessage: jest.fn(),
|
|
247
|
+
};
|
|
248
|
+
await executeAfterWait(() => {
|
|
249
|
+
const iframe = getIFrameEl();
|
|
250
|
+
postMessageToParent(iframe.contentWindow, mockEmbedEventPayload, mockPort);
|
|
251
|
+
});
|
|
252
|
+
expect(mockPort.postMessage).toHaveBeenCalledWith({
|
|
253
|
+
type: EmbedEvent.APP_INIT,
|
|
254
|
+
data: {
|
|
255
|
+
customisations,
|
|
256
|
+
authToken: '',
|
|
257
|
+
runtimeFilterParams: null,
|
|
258
|
+
hiddenHomeLeftNavItems: [],
|
|
259
|
+
hiddenHomepageModules: [],
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
|
|
225
264
|
test('homeLeftNav from view Config should be part of app_init payload', async () => {
|
|
226
265
|
const mockEmbedEventPayload = {
|
|
227
266
|
type: EmbedEvent.APP_INIT,
|