@thoughtspot/visual-embed-sdk 1.51.0 → 1.51.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/cjs/package.json +1 -1
- package/cjs/src/config.d.ts +1 -0
- package/cjs/src/config.d.ts.map +1 -1
- package/cjs/src/config.js +2 -1
- package/cjs/src/config.js.map +1 -1
- package/cjs/src/css-variables.d.ts +27 -0
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +43 -12
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +29 -3
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +253 -1
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +1 -1
- package/cjs/src/embed/base.js +1 -1
- package/cjs/src/embed/conversation.d.ts +171 -1
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +4 -2
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +125 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/events.spec.js +3 -0
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/host-events.spec.js +36 -0
- package/cjs/src/embed/host-events.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +18 -0
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +40 -13
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +25 -4
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +349 -2
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +8 -1
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +15 -1
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +68 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
- package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +16 -8
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +69 -32
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +537 -3
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -2
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.parity.spec.js +194 -0
- package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
- package/cjs/src/react/index.d.ts +66 -32
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +5 -3
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +101 -0
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +330 -18
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +182 -12
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.spec.js +4 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-aBzH5ZwF.js → index-DxLfQxoT.js} +1 -1
- package/dist/src/config.d.ts +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +27 -0
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +43 -12
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +1 -1
- package/dist/src/embed/conversation.d.ts +171 -1
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +40 -13
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +8 -1
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
- package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +16 -8
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +66 -32
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +330 -18
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +330 -61
- package/dist/tsembed-react.js +329 -60
- package/dist/tsembed.es.js +390 -123
- package/dist/tsembed.js +392 -125
- package/dist/visual-embed-sdk-react-full.d.ts +696 -89
- package/dist/visual-embed-sdk-react.d.ts +692 -88
- package/dist/visual-embed-sdk.d.ts +632 -59
- package/lib/package.json +1 -1
- package/lib/src/config.d.ts +1 -0
- package/lib/src/config.d.ts.map +1 -1
- package/lib/src/config.js +1 -0
- package/lib/src/config.js.map +1 -1
- package/lib/src/css-variables.d.ts +27 -0
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +43 -12
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +30 -4
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +253 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +1 -1
- package/lib/src/embed/base.js +1 -1
- package/lib/src/embed/conversation.d.ts +171 -1
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +5 -3
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +125 -0
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +3 -0
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/host-events.spec.js +36 -0
- package/lib/src/embed/host-events.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +18 -0
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +40 -13
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +25 -4
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +349 -2
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +8 -1
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +13 -0
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +69 -1
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
- package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-viz-utils.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +16 -8
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +69 -32
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +537 -3
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -3
- 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/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/all-types-export.parity.spec.d.ts +2 -0
- package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/lib/src/react/all-types-export.parity.spec.js +191 -0
- package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
- package/lib/src/react/index.d.ts +66 -32
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +5 -3
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +102 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +330 -18
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +182 -12
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.spec.js +4 -0
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +632 -59
- package/package.json +1 -1
- package/src/config.ts +1 -0
- package/src/css-variables.ts +32 -0
- package/src/embed/app.spec.ts +335 -1
- package/src/embed/app.ts +71 -13
- package/src/embed/base.ts +1 -1
- package/src/embed/conversation.spec.ts +136 -0
- package/src/embed/conversation.ts +181 -3
- package/src/embed/events.spec.ts +4 -0
- package/src/embed/host-events.spec.ts +48 -0
- package/src/embed/hostEventClient/host-event-client.spec.ts +34 -0
- package/src/embed/hostEventClient/host-event-client.ts +2 -2
- package/src/embed/liveboard.spec.ts +457 -2
- package/src/embed/liveboard.ts +74 -15
- package/src/embed/spotter-utils.spec.ts +72 -0
- package/src/embed/spotter-utils.ts +21 -1
- package/src/embed/spotter-viz-utils.ts +9 -10
- package/src/embed/ts-embed.spec.ts +699 -3
- package/src/embed/ts-embed.ts +83 -37
- package/src/index.ts +43 -2
- package/src/react/all-types-export.parity.spec.ts +208 -0
- package/src/react/all-types-export.ts +22 -0
- package/src/react/index.spec.tsx +158 -0
- package/src/react/index.tsx +70 -33
- package/src/types.ts +329 -16
- package/src/utils.spec.ts +5 -0
|
@@ -439,6 +439,13 @@ export interface CustomCssVariables {
|
|
|
439
439
|
* Font color of the header in the Liveboard.
|
|
440
440
|
*/
|
|
441
441
|
"--ts-var-liveboard-header-font-color"?: string;
|
|
442
|
+
/**
|
|
443
|
+
* Left and right margin of the header and the tab/filter section of an
|
|
444
|
+
* embedded Liveboard. Use alongside the `liveboardGutter` view config to
|
|
445
|
+
* keep the header aligned with a custom tile-grid gutter.
|
|
446
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
447
|
+
*/
|
|
448
|
+
"--ts-var-liveboard-header-horizontal-margin"?: string;
|
|
442
449
|
/**
|
|
443
450
|
* Border color of the tiles in the Liveboard.
|
|
444
451
|
*/
|
|
@@ -455,6 +462,18 @@ export interface CustomCssVariables {
|
|
|
455
462
|
* Background color of the insight tiles in the Liveboard.
|
|
456
463
|
*/
|
|
457
464
|
"--ts-var-liveboard-insight-tile-background"?: string;
|
|
465
|
+
/**
|
|
466
|
+
* Icon color of the insight tiles in the Liveboard.
|
|
467
|
+
*/
|
|
468
|
+
"--ts-var-liveboard-insight-tile-icon-color"?: string;
|
|
469
|
+
/**
|
|
470
|
+
* Font color of the success text in the insight tiles in the Liveboard.
|
|
471
|
+
*/
|
|
472
|
+
"--ts-var-liveboard-insight-tile-success-color"?: string;
|
|
473
|
+
/**
|
|
474
|
+
* Font color of the failure text in the insight tiles in the Liveboard.
|
|
475
|
+
*/
|
|
476
|
+
"--ts-var-liveboard-insight-tile-failure-color"?: string;
|
|
458
477
|
/**
|
|
459
478
|
* Border radius of the tiles in the Liveboard.
|
|
460
479
|
*/
|
|
@@ -675,6 +694,14 @@ export interface CustomCssVariables {
|
|
|
675
694
|
* Font color of the parameter chips in the Liveboard on active.
|
|
676
695
|
*/
|
|
677
696
|
"--ts-var-parameter-chip-active-text-color"?: string;
|
|
697
|
+
/**
|
|
698
|
+
* Color of the dot indicator shown on a filter or parameter chip in the
|
|
699
|
+
* centralized filter modal on a Liveboard. The dot appears when the
|
|
700
|
+
* filter or parameter value has been modified but the changes are not
|
|
701
|
+
* yet applied to the Liveboard.
|
|
702
|
+
* @version SDK: 1.52.0 | ThoughtSpot: 26.10.0.cl
|
|
703
|
+
*/
|
|
704
|
+
"--ts-var-unsaved-filter-indicator-color"?: string;
|
|
678
705
|
/**
|
|
679
706
|
* Background color of the action button in the Liveboard header.
|
|
680
707
|
*/
|
|
@@ -2125,6 +2152,85 @@ export interface FrameParams {
|
|
|
2125
2152
|
*/
|
|
2126
2153
|
[key: string]: string | number | boolean | undefined;
|
|
2127
2154
|
}
|
|
2155
|
+
/**
|
|
2156
|
+
* Configuration for the pre-render wrapper element.
|
|
2157
|
+
* All properties here mirror the top-level preRender properties on
|
|
2158
|
+
* {@link BaseViewConfig} and take precedence over them when both are set,
|
|
2159
|
+
* so existing top-level usage continues to work without any changes.
|
|
2160
|
+
*
|
|
2161
|
+
* @version SDK: 1.52.0
|
|
2162
|
+
* @example
|
|
2163
|
+
* ```js
|
|
2164
|
+
* init({ thoughtSpotHost: '...', authType: AuthType.None });
|
|
2165
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
2166
|
+
* preRenderConfig: {
|
|
2167
|
+
* preRenderId: 'my-liveboard',
|
|
2168
|
+
* preRenderContainer: '#my-scroll-container',
|
|
2169
|
+
* doNotTrackPreRenderSize: false,
|
|
2170
|
+
* zIndex: -10,
|
|
2171
|
+
* },
|
|
2172
|
+
* });
|
|
2173
|
+
* embed.preRender();
|
|
2174
|
+
* embed.showPreRender();
|
|
2175
|
+
* ```
|
|
2176
|
+
*/
|
|
2177
|
+
export interface PreRenderConfig {
|
|
2178
|
+
/**
|
|
2179
|
+
* Pre-render ID to identify the pre-render instance.
|
|
2180
|
+
* Takes precedence over the top-level `preRenderId` when both are set.
|
|
2181
|
+
*
|
|
2182
|
+
* Matches the embed warmed by `preRender()` to the one revealed by
|
|
2183
|
+
* `showPreRender()`. Embeds sharing an ID share one loaded frame: reuse the ID for
|
|
2184
|
+
* the same view, and give unrelated views their own or they will collide.
|
|
2185
|
+
* Required by `preRender()`, `showPreRender()`, and `hidePreRender()`, which log
|
|
2186
|
+
* and do nothing without it.
|
|
2187
|
+
*
|
|
2188
|
+
* @default undefined
|
|
2189
|
+
*/
|
|
2190
|
+
preRenderId?: string;
|
|
2191
|
+
/**
|
|
2192
|
+
* The DOM element or CSS selector string specifying the container into
|
|
2193
|
+
* which the pre-rendered wrapper is inserted.
|
|
2194
|
+
* Takes precedence over the top-level `preRenderContainer` when both are set.
|
|
2195
|
+
*
|
|
2196
|
+
* Set this when your app scrolls inside an element rather than the page (for
|
|
2197
|
+
* example `<body>` has `overflow: hidden`). Point it at the element that actually
|
|
2198
|
+
* scrolls, keep that element mounted while the embed is warm, and prefer a
|
|
2199
|
+
* selector string — it is re-resolved on reposition and so survives a remount,
|
|
2200
|
+
* while a detached element reference cannot be recovered. An invalid selector is
|
|
2201
|
+
* logged and falls back to `document.body`.
|
|
2202
|
+
* See {@link BaseViewConfig.preRenderContainer} for details, including Shadow DOM.
|
|
2203
|
+
*
|
|
2204
|
+
* @default document.body
|
|
2205
|
+
*/
|
|
2206
|
+
preRenderContainer?: string | HTMLElement;
|
|
2207
|
+
/**
|
|
2208
|
+
* Disables the `ResizeObserver` that keeps the wrapper sized to the
|
|
2209
|
+
* placeholder element.
|
|
2210
|
+
* Takes precedence over the top-level `doNotTrackPreRenderSize` when both are set.
|
|
2211
|
+
*
|
|
2212
|
+
* Set this only when you size the embed yourself; you then own alignment and must
|
|
2213
|
+
* call `syncPreRenderStyle()` after any change that moves or resizes it. Tracking
|
|
2214
|
+
* already pauses while hidden, so this is not needed to avoid work then.
|
|
2215
|
+
*
|
|
2216
|
+
* @default false
|
|
2217
|
+
*/
|
|
2218
|
+
doNotTrackPreRenderSize?: boolean;
|
|
2219
|
+
/**
|
|
2220
|
+
* CSS `z-index` value applied to the pre-render wrapper when hidden.
|
|
2221
|
+
* Override this when the host page's stacking context does not reach `-1000`
|
|
2222
|
+
* and the hidden wrapper still appears above other elements.
|
|
2223
|
+
*
|
|
2224
|
+
* A page that creates its own stacking context — a positioned app shell, a
|
|
2225
|
+
* transformed wrapper, a modal layer — can clamp `-1000`, and the hidden wrapper
|
|
2226
|
+
* then shows through or swallows clicks meant for your UI. Reach for this when you
|
|
2227
|
+
* see a faint panel behind your content, or clicks landing on nothing in the
|
|
2228
|
+
* region where the embed will eventually appear.
|
|
2229
|
+
*
|
|
2230
|
+
* @default -1000
|
|
2231
|
+
*/
|
|
2232
|
+
zIndex?: number;
|
|
2233
|
+
}
|
|
2128
2234
|
/**
|
|
2129
2235
|
* The common configuration object for an embedded view.
|
|
2130
2236
|
*/
|
|
@@ -2209,7 +2315,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2209
2315
|
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
|
|
2210
2316
|
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
2211
2317
|
* ... // other embed view config
|
|
2212
|
-
* hiddenActions: [Action.Download, Action.
|
|
2318
|
+
* hiddenActions: [Action.Download, Action.ExportTML],
|
|
2213
2319
|
* });
|
|
2214
2320
|
* ```
|
|
2215
2321
|
* @important
|
|
@@ -2231,7 +2337,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2231
2337
|
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
|
|
2232
2338
|
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
2233
2339
|
* ... // other embed view config
|
|
2234
|
-
* visibleActions: [Action.Download, Action.
|
|
2340
|
+
* visibleActions: [Action.Download, Action.ExportTML],
|
|
2235
2341
|
* });
|
|
2236
2342
|
* ```
|
|
2237
2343
|
*/
|
|
@@ -2316,6 +2422,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2316
2422
|
*
|
|
2317
2423
|
* Supported embed types: `AppEmbed`, `LiveboardEmbed`, `SearchEmbed`, `SpotterAgentEmbed`, `SpotterEmbed`, `SearchBarEmbed`
|
|
2318
2424
|
* @version SDK: 1.25.0 | ThoughtSpot: 9.6.0.cl, 9.8.0.sw
|
|
2425
|
+
* @deprecated Use {@link PreRenderConfig.preRenderId} via `preRenderConfig` instead.
|
|
2319
2426
|
* @example
|
|
2320
2427
|
* ```js
|
|
2321
2428
|
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed, SearchEmbed, or LiveboardEmbed
|
|
@@ -2335,6 +2442,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2335
2442
|
* @type {boolean}
|
|
2336
2443
|
* @default false
|
|
2337
2444
|
* @version SDK: 1.24.0 | ThoughtSpot: 9.4.0.cl, 9.4.0.sw
|
|
2445
|
+
* @deprecated Use {@link PreRenderConfig.doNotTrackPreRenderSize} via `preRenderConfig` instead.
|
|
2338
2446
|
* @example
|
|
2339
2447
|
* ```js
|
|
2340
2448
|
* // Disable tracking PreRender size in the configuration
|
|
@@ -2376,6 +2484,7 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2376
2484
|
*
|
|
2377
2485
|
* @type {string | HTMLElement}
|
|
2378
2486
|
* @version SDK: 1.49.2 | ThoughtSpot: *
|
|
2487
|
+
* @deprecated Use {@link PreRenderConfig.preRenderContainer} via `preRenderConfig` instead.
|
|
2379
2488
|
* @example
|
|
2380
2489
|
* ```js
|
|
2381
2490
|
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
@@ -2386,6 +2495,27 @@ export interface BaseViewConfig extends ApiInterceptFlags {
|
|
|
2386
2495
|
* ```
|
|
2387
2496
|
*/
|
|
2388
2497
|
preRenderContainer?: string | HTMLElement;
|
|
2498
|
+
/**
|
|
2499
|
+
* Configuration for the pre-render wrapper element.
|
|
2500
|
+
* All properties here mirror the top-level preRender properties on
|
|
2501
|
+
* `BaseViewConfig` and take precedence over them when both are set,
|
|
2502
|
+
* so existing top-level usage continues to work without any changes.
|
|
2503
|
+
* See {@link PreRenderConfig} for available options.
|
|
2504
|
+
*
|
|
2505
|
+
* @version SDK: 1.52.0
|
|
2506
|
+
* @example
|
|
2507
|
+
* ```js
|
|
2508
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
2509
|
+
* preRenderConfig: {
|
|
2510
|
+
* preRenderId: 'my-liveboard',
|
|
2511
|
+
* zIndex: -10,
|
|
2512
|
+
* },
|
|
2513
|
+
* });
|
|
2514
|
+
* embed.preRender();
|
|
2515
|
+
* embed.showPreRender();
|
|
2516
|
+
* ```
|
|
2517
|
+
*/
|
|
2518
|
+
preRenderConfig?: PreRenderConfig;
|
|
2389
2519
|
/**
|
|
2390
2520
|
* Enable the V2 shell. This can provide performance benefits
|
|
2391
2521
|
* due to a lighter-weight shell.
|
|
@@ -2824,7 +2954,7 @@ export interface HomePageConfig {
|
|
|
2824
2954
|
*
|
|
2825
2955
|
* const embed = new AppEmbed('#tsEmbed', {
|
|
2826
2956
|
* ... //other embed view config
|
|
2827
|
-
* hiddenListColumns : [ListPageColumns.
|
|
2957
|
+
* hiddenListColumns : [ListPageColumns.Favorites,ListPageColumns.Author],
|
|
2828
2958
|
* })
|
|
2829
2959
|
* ```
|
|
2830
2960
|
*/
|
|
@@ -3137,6 +3267,25 @@ export interface LiveboardAppEmbedViewConfig {
|
|
|
3137
3267
|
* ```
|
|
3138
3268
|
*/
|
|
3139
3269
|
enable2ColumnLayout?: boolean;
|
|
3270
|
+
/**
|
|
3271
|
+
* This attribute keeps an embedded Liveboard on the 12-column layout at
|
|
3272
|
+
* every width, instead of switching to the two-column or single-column
|
|
3273
|
+
* layout as the container narrows.
|
|
3274
|
+
*
|
|
3275
|
+
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
3276
|
+
* @type {boolean}
|
|
3277
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
3278
|
+
* @default false
|
|
3279
|
+
* @example
|
|
3280
|
+
* ```js
|
|
3281
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
3282
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
3283
|
+
* ... // other embed view config
|
|
3284
|
+
* isLiveboardAlwaysOn12ColLayout: true,
|
|
3285
|
+
* })
|
|
3286
|
+
* ```
|
|
3287
|
+
*/
|
|
3288
|
+
isLiveboardAlwaysOn12ColLayout?: boolean;
|
|
3140
3289
|
/**
|
|
3141
3290
|
* This flag can be used to enable the compact header in Liveboard
|
|
3142
3291
|
*
|
|
@@ -3241,6 +3390,26 @@ export interface LiveboardAppEmbedViewConfig {
|
|
|
3241
3390
|
* ```
|
|
3242
3391
|
*/
|
|
3243
3392
|
coverAndFilterOptionInPDF?: boolean;
|
|
3393
|
+
/**
|
|
3394
|
+
* Sets the gutter space (in pixels) between the visualization tiles of
|
|
3395
|
+
* an embedded Liveboard grid layout and its outer layout padding.
|
|
3396
|
+
* Accepts a non-negative integer; `0` renders the tiles without any gap
|
|
3397
|
+
* and removes the outer padding. When omitted, the gutter saved in the
|
|
3398
|
+
* Liveboard's styling settings (or the ThoughtSpot default) applies.
|
|
3399
|
+
*
|
|
3400
|
+
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
3401
|
+
* @type {number}
|
|
3402
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
3403
|
+
* @example
|
|
3404
|
+
* ```js
|
|
3405
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
3406
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
3407
|
+
* ... // other embed view config
|
|
3408
|
+
* liveboardGutter: 8,
|
|
3409
|
+
* })
|
|
3410
|
+
* ```
|
|
3411
|
+
*/
|
|
3412
|
+
liveboardGutter?: number;
|
|
3244
3413
|
/**
|
|
3245
3414
|
* This flag is used to enable or disable the new centralized Liveboard filter UX
|
|
3246
3415
|
* (v2). When enabled, a unified modal is used to manage and update multiple filters
|
|
@@ -3671,7 +3840,7 @@ export declare enum EmbedEvent {
|
|
|
3671
3840
|
* @returns nonFilteredColumns - The columns that were not filtered
|
|
3672
3841
|
* @example
|
|
3673
3842
|
* ```js
|
|
3674
|
-
* searchEmbed.on(EmbedEvent.
|
|
3843
|
+
* searchEmbed.on(EmbedEvent.Drilldown, {
|
|
3675
3844
|
* points: {
|
|
3676
3845
|
* clickedPoint,
|
|
3677
3846
|
* selectedPoints: selectedPoint
|
|
@@ -3732,7 +3901,7 @@ export declare enum EmbedEvent {
|
|
|
3732
3901
|
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
|
|
3733
3902
|
* @example
|
|
3734
3903
|
* ```js
|
|
3735
|
-
* appEmbed.on(EmbedEvent.
|
|
3904
|
+
* appEmbed.on(EmbedEvent.CustomAction, payload => {
|
|
3736
3905
|
* const data = payload.data;
|
|
3737
3906
|
* if (data.id === 'insert Custom Action ID here') {
|
|
3738
3907
|
* console.log('Custom Action event:', data.embedAnswerData);
|
|
@@ -3998,8 +4167,8 @@ export declare enum EmbedEvent {
|
|
|
3998
4167
|
*
|
|
3999
4168
|
* **Note**: This event is deprecated in v1.21.0.
|
|
4000
4169
|
* To fire an event when a download action is initiated on a chart or table,
|
|
4001
|
-
* use `EmbedEvent.DownloadAsPng`, `EmbedEvent.
|
|
4002
|
-
* `EmbedEvent.
|
|
4170
|
+
* use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
|
|
4171
|
+
* `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
|
|
4003
4172
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
|
|
4004
4173
|
* @example
|
|
4005
4174
|
* ```js
|
|
@@ -4049,10 +4218,10 @@ export declare enum EmbedEvent {
|
|
|
4049
4218
|
* @example
|
|
4050
4219
|
* ```js
|
|
4051
4220
|
* //emit when action starts
|
|
4052
|
-
* searchEmbed.on(EmbedEvent.
|
|
4221
|
+
* searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
|
|
4053
4222
|
* console.log('download CSV', payload)}, {start: true })
|
|
4054
4223
|
* //emit when action ends
|
|
4055
|
-
* searchEmbed.on(EmbedEvent.
|
|
4224
|
+
* searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
|
|
4056
4225
|
* console.log('download CSV', payload)})
|
|
4057
4226
|
* ```
|
|
4058
4227
|
*/
|
|
@@ -5508,6 +5677,7 @@ export declare enum HostEvent {
|
|
|
5508
5677
|
* const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
|
|
5509
5678
|
* console.log("iFrameURL", url);
|
|
5510
5679
|
* ```
|
|
5680
|
+
* @returns iframeUrl - The URL currently loaded in the embedded iframe.
|
|
5511
5681
|
* @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
|
|
5512
5682
|
*/
|
|
5513
5683
|
GetIframeUrl = "GetIframeUrl",
|
|
@@ -5674,6 +5844,41 @@ export declare enum HostEvent {
|
|
|
5674
5844
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
5675
5845
|
*/
|
|
5676
5846
|
OpenFilter = "openFilter",
|
|
5847
|
+
/**
|
|
5848
|
+
* Open the add-filter modal of a Liveboard, the same dialog that the
|
|
5849
|
+
* *Add filter* button in the Liveboard edit header opens, so the host
|
|
5850
|
+
* app can start the add-filter flow from its own UI.
|
|
5851
|
+
*
|
|
5852
|
+
* The Liveboard must be in edit mode; the event is ignored otherwise.
|
|
5853
|
+
* Hiding the *Add filter* button with `hiddenActions:
|
|
5854
|
+
* [Action.AddFilter]` does not block this event, but disabling it with
|
|
5855
|
+
* `disabledActions` does.
|
|
5856
|
+
*
|
|
5857
|
+
* Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
|
|
5858
|
+
* existing filter, this event starts the creation of a new filter.
|
|
5859
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
5860
|
+
* @example
|
|
5861
|
+
* ```js
|
|
5862
|
+
* liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
|
|
5863
|
+
* ```
|
|
5864
|
+
*/
|
|
5865
|
+
OpenAddFilterModal = "openAddFilterModal",
|
|
5866
|
+
/**
|
|
5867
|
+
* Open the add-parameter panel of a Liveboard, the same panel that the
|
|
5868
|
+
* *Add parameter* button in the Liveboard edit header opens.
|
|
5869
|
+
* Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
|
|
5870
|
+
*
|
|
5871
|
+
* The Liveboard must be in edit mode; the event is ignored otherwise.
|
|
5872
|
+
* Hiding the *Add parameter* button with `hiddenActions:
|
|
5873
|
+
* [Action.AddParameter]` does not block this event, but disabling it
|
|
5874
|
+
* with `disabledActions` does.
|
|
5875
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
5876
|
+
* @example
|
|
5877
|
+
* ```js
|
|
5878
|
+
* liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
|
|
5879
|
+
* ```
|
|
5880
|
+
*/
|
|
5881
|
+
OpenAddParameterModal = "openAddParameterModal",
|
|
5677
5882
|
/**
|
|
5678
5883
|
* Open the parameter panel for a particular parameter on a Liveboard.
|
|
5679
5884
|
* Mirrors {@link HostEvent.OpenFilter} for parameters.
|
|
@@ -5755,6 +5960,10 @@ export declare enum HostEvent {
|
|
|
5755
5960
|
* liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
|
|
5756
5961
|
* data=>console.log(data))
|
|
5757
5962
|
* ```
|
|
5963
|
+
* @returns data - Object with a `v2Content` string: the export request
|
|
5964
|
+
* payload for the current Liveboard.
|
|
5965
|
+
* @returns type - The passthrough event name,
|
|
5966
|
+
* `getExportRequestForCurrentPinboard`.
|
|
5758
5967
|
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
|
|
5759
5968
|
*/
|
|
5760
5969
|
getExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard",
|
|
@@ -5857,6 +6066,9 @@ export declare enum HostEvent {
|
|
|
5857
6066
|
* }, ContextType.Spotter);
|
|
5858
6067
|
* ```
|
|
5859
6068
|
*
|
|
6069
|
+
* @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
|
|
6070
|
+
* @returns tabId - GUID of the tab within that Liveboard.
|
|
6071
|
+
* @returns vizId - GUID of the newly created visualization.
|
|
5860
6072
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
5861
6073
|
*/
|
|
5862
6074
|
Pin = "pin",
|
|
@@ -5895,13 +6107,13 @@ export declare enum HostEvent {
|
|
|
5895
6107
|
* Trigger the **Manage schedule** action on an embedded Liveboard
|
|
5896
6108
|
* @example
|
|
5897
6109
|
* ```js
|
|
5898
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
6110
|
+
* liveboardEmbed.trigger(HostEvent.SchedulesList)
|
|
5899
6111
|
* ```
|
|
5900
6112
|
* @example
|
|
5901
6113
|
* ```js
|
|
5902
6114
|
* // Manage schedules from liveboard context
|
|
5903
6115
|
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
5904
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
6116
|
+
* liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
|
|
5905
6117
|
* ```
|
|
5906
6118
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
5907
6119
|
*/
|
|
@@ -6346,6 +6558,7 @@ export declare enum HostEvent {
|
|
|
6346
6558
|
* console.log(tml.answer);
|
|
6347
6559
|
* });
|
|
6348
6560
|
* ```
|
|
6561
|
+
* @returns The TML representation of the current Answer, as an object.
|
|
6349
6562
|
* @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
|
|
6350
6563
|
* @important
|
|
6351
6564
|
*/
|
|
@@ -6789,6 +7002,8 @@ export declare enum HostEvent {
|
|
|
6789
7002
|
* const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
|
|
6790
7003
|
* console.log('filters', data);
|
|
6791
7004
|
* ```
|
|
7005
|
+
* @returns liveboardFilters - Filters applied on the Liveboard.
|
|
7006
|
+
* @returns runtimeFilters - Runtime filters applied on the Liveboard.
|
|
6792
7007
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
6793
7008
|
*/
|
|
6794
7009
|
GetFilters = "getFilters",
|
|
@@ -6938,6 +7153,9 @@ export declare enum HostEvent {
|
|
|
6938
7153
|
* console.log('tabs', tabDetails);
|
|
6939
7154
|
* });
|
|
6940
7155
|
* ```
|
|
7156
|
+
* @returns orderedTabIds - Tab GUIDs in the order they appear.
|
|
7157
|
+
* @returns numberOfTabs - Total number of tabs on the Liveboard.
|
|
7158
|
+
* @returns Tabs - Tab details, each with at least `id` and `name`.
|
|
6941
7159
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
|
|
6942
7160
|
*/
|
|
6943
7161
|
GetTabs = "getTabs",
|
|
@@ -6960,6 +7178,9 @@ export declare enum HostEvent {
|
|
|
6960
7178
|
* console.log('groups', groupDetails);
|
|
6961
7179
|
* });
|
|
6962
7180
|
* ```
|
|
7181
|
+
* @returns orderedGroupIds - Group GUIDs in the order they appear.
|
|
7182
|
+
* @returns numberOfGroups - Total number of groups on the Liveboard.
|
|
7183
|
+
* @returns Groups - Group details, each with at least `id` and `name`.
|
|
6963
7184
|
* @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
|
|
6964
7185
|
*/
|
|
6965
7186
|
GetGroups = "getGroups",
|
|
@@ -7034,6 +7255,9 @@ export declare enum HostEvent {
|
|
|
7034
7255
|
* // Alternative direct usage (not recommended)
|
|
7035
7256
|
* const {session} = await embed.trigger( HostEvent.GetAnswerSession )
|
|
7036
7257
|
* ```
|
|
7258
|
+
* @returns session - Session identifier for the Answer, for use with the
|
|
7259
|
+
* `AnswerService`.
|
|
7260
|
+
* @returns embedAnswerData - Data backing the Answer, when available.
|
|
7037
7261
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
|
|
7038
7262
|
*/
|
|
7039
7263
|
GetAnswerSession = "getAnswerSession",
|
|
@@ -7167,12 +7391,16 @@ export declare enum HostEvent {
|
|
|
7167
7391
|
* console.log('parameters', parameters);
|
|
7168
7392
|
* });
|
|
7169
7393
|
* ```
|
|
7394
|
+
* @returns parameters - Parameters currently applied on the Liveboard.
|
|
7170
7395
|
* @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
|
|
7171
7396
|
*/
|
|
7172
7397
|
GetParameters = "GetParameters",
|
|
7173
7398
|
/**
|
|
7174
7399
|
* Triggers an event to update a personalized view of a Liveboard.
|
|
7175
|
-
* This event is deprecated. Use {@link HostEvent.
|
|
7400
|
+
* This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
|
|
7401
|
+
* which additionally accepts a `viewName`, resets to the original view when
|
|
7402
|
+
* called with an empty payload, and reports an error when a named view
|
|
7403
|
+
* cannot be found.
|
|
7176
7404
|
* ```js
|
|
7177
7405
|
* liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
|
|
7178
7406
|
* ```
|
|
@@ -7190,10 +7418,15 @@ export declare enum HostEvent {
|
|
|
7190
7418
|
UpdatePersonalisedView = "UpdatePersonalisedView",
|
|
7191
7419
|
/**
|
|
7192
7420
|
* Triggers an event to update a personalized view of a Liveboard.
|
|
7421
|
+
* This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
|
|
7422
|
+
* which additionally accepts a `viewName`, resets to the original view when
|
|
7423
|
+
* called with an empty payload, and reports an error when a named view
|
|
7424
|
+
* cannot be found.
|
|
7193
7425
|
* ```js
|
|
7194
7426
|
* liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
|
|
7195
7427
|
* ```
|
|
7196
7428
|
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
7429
|
+
* @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
|
|
7197
7430
|
*/
|
|
7198
7431
|
UpdatePersonalizedView = "UpdatePersonalisedView",
|
|
7199
7432
|
/**
|
|
@@ -7296,6 +7529,10 @@ export declare enum HostEvent {
|
|
|
7296
7529
|
* description: "Generated from Spotter"
|
|
7297
7530
|
* }, ContextType.Spotter);
|
|
7298
7531
|
* ```
|
|
7532
|
+
* @returns answerId - GUID of the saved Answer.
|
|
7533
|
+
* @returns saveResponse - Raw response from the save operation.
|
|
7534
|
+
* @returns shareResponse - Raw response from the share operation, when the
|
|
7535
|
+
* Answer was also made discoverable.
|
|
7299
7536
|
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
7300
7537
|
*/
|
|
7301
7538
|
SaveAnswer = "saveAnswer",
|
|
@@ -7679,9 +7916,10 @@ export type SpotterFileUploadFileTypes = {
|
|
|
7679
7916
|
* ThoughtSpot application pages include actions and menu commands
|
|
7680
7917
|
* for various user-initiated operations. These actions are represented
|
|
7681
7918
|
* as enumeration members in the SDK. To control actions in the embedded view:
|
|
7682
|
-
* - disabledActions — the action is grayed out and still visible, but non-interactive
|
|
7683
|
-
* - hiddenActions — the action is completely removed from
|
|
7684
|
-
* - visibleActions — allowlist, only these actions
|
|
7919
|
+
* - disabledActions — the action is grayed out and still visible, but non-interactive
|
|
7920
|
+
* (user can see but not click). - hiddenActions — the action is completely removed from
|
|
7921
|
+
* the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
|
|
7922
|
+
* are shown; all others are hidden.
|
|
7685
7923
|
*
|
|
7686
7924
|
* Use disabledActions to disable (gray out) an action.
|
|
7687
7925
|
* Use hiddenActions to hide (fully remove) an action.
|
|
@@ -7734,6 +7972,17 @@ export declare enum Action {
|
|
|
7734
7972
|
* ```
|
|
7735
7973
|
*/
|
|
7736
7974
|
SaveAsView = "saveAsView",
|
|
7975
|
+
/**
|
|
7976
|
+
* The **EditInputTable** action on a Liveboard
|
|
7977
|
+
* page. Allows users to edit an input table used in an Answer directly from
|
|
7978
|
+
* a Liveboard.
|
|
7979
|
+
* @example
|
|
7980
|
+
* ```js
|
|
7981
|
+
* disabledActions: [Action.EditInputTable]
|
|
7982
|
+
* ```
|
|
7983
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
7984
|
+
*/
|
|
7985
|
+
EditInputTable = "editInputTable",
|
|
7737
7986
|
/**
|
|
7738
7987
|
* The **Make a copy** action on a Liveboard or Answer
|
|
7739
7988
|
* page. Creates a copy of the Liveboard.
|
|
@@ -9049,6 +9298,10 @@ export declare enum Action {
|
|
|
9049
9298
|
* The **Add to Coaching** feature allows adding reference questions and
|
|
9050
9299
|
* business terms to improve Spotter’s responses. This feature is generally available
|
|
9051
9300
|
* (GA) from version 26.2.0.cl and enabled by default on embed deployments.
|
|
9301
|
+
*
|
|
9302
|
+
* This action governs both the answer-card **Add to memory** CTA and its
|
|
9303
|
+
* Spotter 3 successor, the response-footer **Remember this** CTA
|
|
9304
|
+
* (they are mutually exclusive).
|
|
9052
9305
|
* @example
|
|
9053
9306
|
* ```js
|
|
9054
9307
|
* hiddenAction: [Action.InConversationTraining]
|
|
@@ -9429,6 +9682,56 @@ export declare enum Action {
|
|
|
9429
9682
|
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
9430
9683
|
*/
|
|
9431
9684
|
SpotterChatModeSwitcher = "spotterChatModeSwitcher",
|
|
9685
|
+
/**
|
|
9686
|
+
* The **Basic Search** starter prompt pill.
|
|
9687
|
+
*
|
|
9688
|
+
* Starter prompt pills are the row of category buttons shown above the
|
|
9689
|
+
* Spotter chat input before a conversation starts. They give a new user
|
|
9690
|
+
* ready-made questions to click instead of typing one from scratch, and
|
|
9691
|
+
* disappear once the conversation begins. There are three, one per action
|
|
9692
|
+
* below.
|
|
9693
|
+
*
|
|
9694
|
+
* Clicking this pill opens a card of suggested simple questions; picking one
|
|
9695
|
+
* submits it to Spotter right away. Visible by default, and hidden along
|
|
9696
|
+
* with the other pills when the surface itself is off (see
|
|
9697
|
+
* {@link SpotterChatViewConfig.starterPrompts}).
|
|
9698
|
+
* @example
|
|
9699
|
+
* ```js
|
|
9700
|
+
* hiddenActions: [Action.QuickSearchPill]
|
|
9701
|
+
* ```
|
|
9702
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
9703
|
+
*/
|
|
9704
|
+
QuickSearchPill = "quickSearchPill",
|
|
9705
|
+
/**
|
|
9706
|
+
* The **Deep Analysis** starter prompt pill, next to
|
|
9707
|
+
* {@link Action.QuickSearchPill} above the Spotter chat input.
|
|
9708
|
+
*
|
|
9709
|
+
* Clicking it opens a card of suggested investigative questions ("why did
|
|
9710
|
+
* revenue drop?"). Picking one fills the chat input in Deep Analysis mode
|
|
9711
|
+
* rather than submitting immediately, so the user can edit it first.
|
|
9712
|
+
* Visible by default.
|
|
9713
|
+
* @example
|
|
9714
|
+
* ```js
|
|
9715
|
+
* hiddenActions: [Action.DeepAnalysisPill]
|
|
9716
|
+
* ```
|
|
9717
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
9718
|
+
*/
|
|
9719
|
+
DeepAnalysisPill = "deepAnalysisPill",
|
|
9720
|
+
/**
|
|
9721
|
+
* The **Data Literacy** starter prompt pill, next to
|
|
9722
|
+
* {@link Action.QuickSearchPill} above the Spotter chat input.
|
|
9723
|
+
*
|
|
9724
|
+
* Unlike the other two pills it opens no card: clicking it submits a prompt
|
|
9725
|
+
* that describes the data the model can answer over, helping a user who does
|
|
9726
|
+
* not yet know what is in the data source. The prompt text always comes from
|
|
9727
|
+
* ThoughtSpot, so only its label is customizable. Visible by default.
|
|
9728
|
+
* @example
|
|
9729
|
+
* ```js
|
|
9730
|
+
* hiddenActions: [Action.DataLiteracyPill]
|
|
9731
|
+
* ```
|
|
9732
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
9733
|
+
*/
|
|
9734
|
+
DataLiteracyPill = "dataLiteracyPill",
|
|
9432
9735
|
/**
|
|
9433
9736
|
* The **Include current period** checkbox for date filters.
|
|
9434
9737
|
* Controls the visibility and availability of the option to include
|
|
@@ -9576,7 +9879,39 @@ export declare enum Action {
|
|
|
9576
9879
|
* disabledActions: [Action.SpotterAnalystSidebar]
|
|
9577
9880
|
* ```
|
|
9578
9881
|
*/
|
|
9579
|
-
SpotterAnalystSidebar = "spotterAnalystSidebar"
|
|
9882
|
+
SpotterAnalystSidebar = "spotterAnalystSidebar",
|
|
9883
|
+
/**
|
|
9884
|
+
* Controls visibility and disable state of the analyst list
|
|
9885
|
+
* ("Show all") in the Spotter Analyst interface.
|
|
9886
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
9887
|
+
* @example
|
|
9888
|
+
* ```js
|
|
9889
|
+
* hiddenActions: [Action.SpotterAnalystList]
|
|
9890
|
+
* disabledActions: [Action.SpotterAnalystList]
|
|
9891
|
+
* ```
|
|
9892
|
+
*/
|
|
9893
|
+
SpotterAnalystList = "spotterAnalystList",
|
|
9894
|
+
/**
|
|
9895
|
+
* Controls visibility and disable state of the default Spotter analyst
|
|
9896
|
+
* entry in the Spotter Analyst interface.
|
|
9897
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
9898
|
+
* @example
|
|
9899
|
+
* ```js
|
|
9900
|
+
* hiddenActions: [Action.SpotterDefaultAnalyst]
|
|
9901
|
+
* disabledActions: [Action.SpotterDefaultAnalyst]
|
|
9902
|
+
* ```
|
|
9903
|
+
*/
|
|
9904
|
+
SpotterDefaultAnalyst = "spotterDefaultAnalyst",
|
|
9905
|
+
/**
|
|
9906
|
+
* The **Spotter** button in the Liveboard header.
|
|
9907
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
9908
|
+
* @example
|
|
9909
|
+
* ```js
|
|
9910
|
+
* hiddenActions: [Action.SpotterOnLiveboard]
|
|
9911
|
+
* disabledActions: [Action.SpotterOnLiveboard]
|
|
9912
|
+
* ```
|
|
9913
|
+
*/
|
|
9914
|
+
SpotterOnLiveboard = "spotterOnLiveboard"
|
|
9580
9915
|
}
|
|
9581
9916
|
export declare enum PrefetchFeatures {
|
|
9582
9917
|
FullApp = "FullApp",
|
|
@@ -10069,7 +10404,7 @@ export type ApiInterceptFlags = {
|
|
|
10069
10404
|
* const embed = new LiveboardEmbed('#embed', {
|
|
10070
10405
|
* ...viewConfig,
|
|
10071
10406
|
* enableApiIntercept: true,
|
|
10072
|
-
* interceptUrls: [InterceptedApiType.
|
|
10407
|
+
* interceptUrls: [InterceptedApiType.LiveboardData],
|
|
10073
10408
|
* })
|
|
10074
10409
|
* ```
|
|
10075
10410
|
*
|
|
@@ -10567,7 +10902,10 @@ export interface LiveboardGroup {
|
|
|
10567
10902
|
name: string;
|
|
10568
10903
|
[key: string]: any;
|
|
10569
10904
|
}
|
|
10570
|
-
|
|
10905
|
+
/**
|
|
10906
|
+
* Levels at which a filter or parameter can be applied.
|
|
10907
|
+
*/
|
|
10908
|
+
export declare enum ApplicabilityLevel {
|
|
10571
10909
|
Liveboard = "LIVEBOARD",
|
|
10572
10910
|
Tab = "TAB",
|
|
10573
10911
|
Group = "GROUP"
|
|
@@ -10831,7 +11169,7 @@ declare class HostEventClient {
|
|
|
10831
11169
|
* @param payload - Optional payload for the event
|
|
10832
11170
|
* @param context - Optional context (e.g. vizId) for scoped operations
|
|
10833
11171
|
*/
|
|
10834
|
-
triggerHostEvent<HostEventT extends HostEvent, PayloadT
|
|
11172
|
+
triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextType>>;
|
|
10835
11173
|
}
|
|
10836
11174
|
declare class TsEmbed {
|
|
10837
11175
|
/**
|
|
@@ -11036,6 +11374,12 @@ declare class TsEmbed {
|
|
|
11036
11374
|
protected getEmbedParamsObject(): Record<any, any>;
|
|
11037
11375
|
protected getRootIframeSrc(): string;
|
|
11038
11376
|
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
11377
|
+
/**
|
|
11378
|
+
* Returns a merged {@link PreRenderConfig} object where each shared key
|
|
11379
|
+
* prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
|
|
11380
|
+
* backward compatibility.
|
|
11381
|
+
*/
|
|
11382
|
+
protected getPreRenderConfig(): PreRenderConfig;
|
|
11039
11383
|
/**
|
|
11040
11384
|
* Returns true if this embed instance is configured for pre-rendering.
|
|
11041
11385
|
*/
|
|
@@ -11074,12 +11418,14 @@ declare class TsEmbed {
|
|
|
11074
11418
|
* fresh element; an element passed directly cannot be re-resolved.
|
|
11075
11419
|
*/
|
|
11076
11420
|
private resolvePreRenderContainerTarget;
|
|
11421
|
+
private inheritPreRenderContainer;
|
|
11422
|
+
private getCustomPreRenderContainer;
|
|
11077
11423
|
/**
|
|
11078
|
-
* Makes the container a positioning context for the absolutely
|
|
11079
|
-
* wrapper, stashing the original inline `position` on the element
|
|
11080
|
-
* destroy() can restore it exactly, leaving no trace. Recording it
|
|
11081
|
-
* element rather than per-instance lets the override be reverted even
|
|
11082
|
-
* embeds share the same container.
|
|
11424
|
+
* Makes the resolved container a positioning context for the absolutely
|
|
11425
|
+
* positioned wrapper, stashing the original inline `position` on the element
|
|
11426
|
+
* (once) so destroy() can restore it exactly, leaving no trace. Recording it
|
|
11427
|
+
* on the element rather than per-instance lets the override be reverted even
|
|
11428
|
+
* when embeds share the same container.
|
|
11083
11429
|
*/
|
|
11084
11430
|
private applyPreRenderContainerPositioning;
|
|
11085
11431
|
/**
|
|
@@ -11227,7 +11573,7 @@ declare class TsEmbed {
|
|
|
11227
11573
|
* ```
|
|
11228
11574
|
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
|
|
11229
11575
|
*/
|
|
11230
|
-
trigger<HostEventT extends HostEvent, PayloadT
|
|
11576
|
+
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
11231
11577
|
/**
|
|
11232
11578
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
11233
11579
|
* @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
|
|
@@ -11633,6 +11979,87 @@ export interface SpotterShareConversationConfig {
|
|
|
11633
11979
|
*/
|
|
11634
11980
|
spotterSharedConversationExitLabel?: string;
|
|
11635
11981
|
}
|
|
11982
|
+
/**
|
|
11983
|
+
* A single starter prompt question shown under a category pill.
|
|
11984
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
11985
|
+
* @group Embed components
|
|
11986
|
+
*/
|
|
11987
|
+
export interface StarterPromptQuestion {
|
|
11988
|
+
/**
|
|
11989
|
+
* Short label shown as a clickable suggestion. Falls back to `prompt` when
|
|
11990
|
+
* omitted. ThoughtSpot truncates it beyond 80 characters.
|
|
11991
|
+
*/
|
|
11992
|
+
label?: string;
|
|
11993
|
+
/**
|
|
11994
|
+
* Prompt text sent to Spotter on click. ThoughtSpot truncates it beyond
|
|
11995
|
+
* 300 characters.
|
|
11996
|
+
*/
|
|
11997
|
+
prompt: string;
|
|
11998
|
+
}
|
|
11999
|
+
/**
|
|
12000
|
+
* Configuration for a starter prompt category with questions
|
|
12001
|
+
* (`quick` and `research`).
|
|
12002
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12003
|
+
* @group Embed components
|
|
12004
|
+
*/
|
|
12005
|
+
export interface StarterPromptCategory {
|
|
12006
|
+
/**
|
|
12007
|
+
* Overrides the default category pill label. ThoughtSpot truncates it
|
|
12008
|
+
* beyond 30 characters.
|
|
12009
|
+
*/
|
|
12010
|
+
label?: string;
|
|
12011
|
+
/**
|
|
12012
|
+
* Replaces the backend-generated prompts. ThoughtSpot renders the first 4
|
|
12013
|
+
* and drops any entry without a `prompt`.
|
|
12014
|
+
*/
|
|
12015
|
+
questions?: StarterPromptQuestion[];
|
|
12016
|
+
}
|
|
12017
|
+
/**
|
|
12018
|
+
* Configuration for the Data Literacy starter prompt category.
|
|
12019
|
+
* Only the label is customizable; the prompt text comes from the backend.
|
|
12020
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12021
|
+
* @group Embed components
|
|
12022
|
+
*/
|
|
12023
|
+
export interface StarterPreviewDataCategory {
|
|
12024
|
+
/**
|
|
12025
|
+
* Overrides the default category pill label. ThoughtSpot truncates it
|
|
12026
|
+
* beyond 30 characters.
|
|
12027
|
+
*/
|
|
12028
|
+
label?: string;
|
|
12029
|
+
}
|
|
12030
|
+
/**
|
|
12031
|
+
* Content configuration for the Spotter starter prompts.
|
|
12032
|
+
* Keys are fixed: `quick` (Basic Search), `research` (Deep Analysis),
|
|
12033
|
+
* `previewData` (Data Literacy) and `liveboard` (Liveboard chat panel).
|
|
12034
|
+
*
|
|
12035
|
+
* Note: this controls the Spotter chat interface only. The starter prompts on
|
|
12036
|
+
* the Liveboard SpotterViz surface are configured separately through
|
|
12037
|
+
* {@link SpotterVizConfig.customStarterPrompts}.
|
|
12038
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12039
|
+
* @group Embed components
|
|
12040
|
+
*/
|
|
12041
|
+
export interface StarterPromptsConfig {
|
|
12042
|
+
/**
|
|
12043
|
+
* Turns the starter prompts surface on. Must be set explicitly, an
|
|
12044
|
+
* unset flag leaves the surface off.
|
|
12045
|
+
*
|
|
12046
|
+
* Either this or `enableStarterPrompts` turns the surface on, so `false`
|
|
12047
|
+
* here does not switch it off while `enableStarterPrompts` is `true`.
|
|
12048
|
+
* @default false
|
|
12049
|
+
*/
|
|
12050
|
+
enable?: boolean;
|
|
12051
|
+
/** Basic Search category configuration. */
|
|
12052
|
+
quick?: StarterPromptCategory;
|
|
12053
|
+
/** Deep Analysis category configuration. */
|
|
12054
|
+
research?: StarterPromptCategory;
|
|
12055
|
+
/** Data Literacy category configuration. */
|
|
12056
|
+
previewData?: StarterPreviewDataCategory;
|
|
12057
|
+
/**
|
|
12058
|
+
* Starter prompts for the Spotter chat panel on a Liveboard.
|
|
12059
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
12060
|
+
*/
|
|
12061
|
+
liveboard?: StarterPromptQuestion[];
|
|
12062
|
+
}
|
|
11636
12063
|
/**
|
|
11637
12064
|
* Configuration for customizing Spotter chat UI branding.
|
|
11638
12065
|
* @version SDK: 1.46.0 | ThoughtSpot: 26.4.0.cl
|
|
@@ -11673,11 +12100,83 @@ export interface SpotterChatViewConfig {
|
|
|
11673
12100
|
/**
|
|
11674
12101
|
* Enables starter prompts in the Spotter chat interface.
|
|
11675
12102
|
*
|
|
11676
|
-
*
|
|
12103
|
+
* Either this or `starterPrompts.enable` turns the surface on, so it stays
|
|
12104
|
+
* on while this is `true` even if `starterPrompts.enable` is `false`.
|
|
12105
|
+
*
|
|
12106
|
+
* Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
|
|
11677
12107
|
* @version SDK: 1.51.0 | ThoughtSpot: 26.8.0.cl
|
|
11678
12108
|
* @default false
|
|
11679
12109
|
*/
|
|
11680
12110
|
enableStarterPrompts?: boolean;
|
|
12111
|
+
/**
|
|
12112
|
+
* Customizes the labels and questions of the Spotter starter prompts.
|
|
12113
|
+
* Individual pills are hidden or shown with `hiddenActions` /
|
|
12114
|
+
* `visibleActions` using `Action.QuickSearchPill`,
|
|
12115
|
+
* `Action.DeepAnalysisPill` and `Action.DataLiteracyPill`.
|
|
12116
|
+
*
|
|
12117
|
+
* Supported embed types: `SpotterEmbed`, `LiveboardEmbed`, `AppEmbed`
|
|
12118
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12119
|
+
* @example
|
|
12120
|
+
* ```js
|
|
12121
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
12122
|
+
* worksheetId: 'worksheet-id',
|
|
12123
|
+
* hiddenActions: [Action.DeepAnalysisPill],
|
|
12124
|
+
* spotterChatConfig: {
|
|
12125
|
+
* starterPrompts: {
|
|
12126
|
+
* enable: true,
|
|
12127
|
+
* quick: {
|
|
12128
|
+
* label: 'Quick questions',
|
|
12129
|
+
* questions: [
|
|
12130
|
+
* { label: 'Top products', prompt: 'What are the top products by revenue?' },
|
|
12131
|
+
* ],
|
|
12132
|
+
* },
|
|
12133
|
+
* previewData: { label: 'Explore your data' },
|
|
12134
|
+
* },
|
|
12135
|
+
* },
|
|
12136
|
+
* })
|
|
12137
|
+
* ```
|
|
12138
|
+
*/
|
|
12139
|
+
starterPrompts?: StarterPromptsConfig;
|
|
12140
|
+
/**
|
|
12141
|
+
* Opens the Spotter chat panel when the Liveboard loads.
|
|
12142
|
+
*
|
|
12143
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
12144
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
12145
|
+
* @default true
|
|
12146
|
+
* @example
|
|
12147
|
+
* ```js
|
|
12148
|
+
* const embed = new LiveboardEmbed('#tsEmbed', {
|
|
12149
|
+
* liveboardId: 'liveboard-id',
|
|
12150
|
+
* spotterChatConfig: {
|
|
12151
|
+
* openSpotterOnLiveboardByDefault: false,
|
|
12152
|
+
* },
|
|
12153
|
+
* })
|
|
12154
|
+
* ```
|
|
12155
|
+
*/
|
|
12156
|
+
openSpotterOnLiveboardByDefault?: boolean;
|
|
12157
|
+
}
|
|
12158
|
+
/**
|
|
12159
|
+
* Configuration for the Spotter Analyst experience.
|
|
12160
|
+
* Can be used in SpotterEmbed.
|
|
12161
|
+
* @group Embed components
|
|
12162
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
12163
|
+
* @example
|
|
12164
|
+
* ```js
|
|
12165
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
12166
|
+
* ... //other embed view config
|
|
12167
|
+
* spotterAnalystConfig: {
|
|
12168
|
+
* analystId: 'analyst-id-1234',
|
|
12169
|
+
* },
|
|
12170
|
+
* })
|
|
12171
|
+
* ```
|
|
12172
|
+
*/
|
|
12173
|
+
export interface SpotterAnalystConfig {
|
|
12174
|
+
/**
|
|
12175
|
+
* Pins the embed to a single spotter analyst. Implies no default Spotter
|
|
12176
|
+
* and no "Show all".
|
|
12177
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
12178
|
+
*/
|
|
12179
|
+
analystId?: string;
|
|
11681
12180
|
}
|
|
11682
12181
|
/**
|
|
11683
12182
|
* The configuration for the embedded spotterEmbed options.
|
|
@@ -11708,6 +12207,22 @@ export interface SpotterEmbedViewConfig extends Omit<BaseViewConfig, "primaryAct
|
|
|
11708
12207
|
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
11709
12208
|
*/
|
|
11710
12209
|
dataSources?: string[];
|
|
12210
|
+
/**
|
|
12211
|
+
* Configuration for the Spotter Analyst experience.
|
|
12212
|
+
*
|
|
12213
|
+
* Supported embed types: `SpotterEmbed`
|
|
12214
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
12215
|
+
* @example
|
|
12216
|
+
* ```js
|
|
12217
|
+
* const embed = new SpotterEmbed('#tsEmbed', {
|
|
12218
|
+
* ... //other embed view config
|
|
12219
|
+
* spotterAnalystConfig: {
|
|
12220
|
+
* analystId: 'analyst-id-1234',
|
|
12221
|
+
* },
|
|
12222
|
+
* })
|
|
12223
|
+
* ```
|
|
12224
|
+
*/
|
|
12225
|
+
spotterAnalystConfig?: SpotterAnalystConfig;
|
|
11711
12226
|
/**
|
|
11712
12227
|
* Ability to pass a starting search query to the conversation.
|
|
11713
12228
|
*/
|
|
@@ -12029,6 +12544,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
|
|
|
12029
12544
|
spotterSidebarConfig?: SpotterSidebarViewConfig;
|
|
12030
12545
|
spotterShareConversationConfig?: SpotterShareConversationConfig;
|
|
12031
12546
|
visualOverridesParams?: VisualizationOverrides | null;
|
|
12547
|
+
starterPrompts?: StarterPromptsConfig;
|
|
12032
12548
|
};
|
|
12033
12549
|
}
|
|
12034
12550
|
/**
|
|
@@ -12118,13 +12634,12 @@ export interface SpotterVizStarterPrompt {
|
|
|
12118
12634
|
* customStarterPrompts: [
|
|
12119
12635
|
* { id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }
|
|
12120
12636
|
* ],
|
|
12121
|
-
* //
|
|
12637
|
+
* // The options below require SDK: 1.51.0
|
|
12122
12638
|
* loaderHeadline: 'Crunching the numbers...',
|
|
12123
12639
|
* loaderTips: [
|
|
12124
12640
|
* { label: 'Tip', text: 'try asking about revenue by region' },
|
|
12125
12641
|
* { label: 'Tip', text: 'use natural language' },
|
|
12126
12642
|
* ],
|
|
12127
|
-
* // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12128
12643
|
* liveboardBrandName: 'Reports',
|
|
12129
12644
|
* spotterBrandName: 'Analyst',
|
|
12130
12645
|
* insightTileBrandName: 'Insight card',
|
|
@@ -12177,47 +12692,47 @@ export interface SpotterVizConfig {
|
|
|
12177
12692
|
/**
|
|
12178
12693
|
* Custom headline text shown in the SpotterViz loading state.
|
|
12179
12694
|
* Replaces the default loading headline.
|
|
12180
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
12695
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12181
12696
|
*/
|
|
12182
12697
|
loaderHeadline?: string;
|
|
12183
12698
|
/**
|
|
12184
12699
|
* Custom tips shown in the SpotterViz loading state.
|
|
12185
12700
|
* Replaces the default loading tips with the provided list.
|
|
12186
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
12701
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12187
12702
|
*/
|
|
12188
12703
|
loaderTips?: SpotterVizLoaderTip[];
|
|
12189
12704
|
/**
|
|
12190
12705
|
* Custom term used to replace "Liveboard" in the agent's responses.
|
|
12191
|
-
* @version SDK: 1.
|
|
12706
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12192
12707
|
* @default ''
|
|
12193
12708
|
*/
|
|
12194
12709
|
liveboardBrandName?: string;
|
|
12195
12710
|
/**
|
|
12196
12711
|
* Custom term used to replace "Spotter" in the agent's responses.
|
|
12197
|
-
* @version SDK: 1.
|
|
12712
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12198
12713
|
* @default ''
|
|
12199
12714
|
*/
|
|
12200
12715
|
spotterBrandName?: string;
|
|
12201
12716
|
/**
|
|
12202
12717
|
* Custom term used to replace "Insight tile" in the UI and in the agent's responses.
|
|
12203
|
-
* @version SDK: 1.
|
|
12718
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12204
12719
|
* @default ''
|
|
12205
12720
|
*/
|
|
12206
12721
|
insightTileBrandName?: string;
|
|
12207
12722
|
/**
|
|
12208
12723
|
* Custom term used to replace "View plan" in the insight tile menu.
|
|
12209
|
-
* @version SDK: 1.
|
|
12724
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12210
12725
|
*/
|
|
12211
12726
|
insightTileViewPlanLabel?: string;
|
|
12212
12727
|
/**
|
|
12213
12728
|
* Custom loader text shown on the insight tile.
|
|
12214
|
-
* @version SDK: 1.
|
|
12729
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12215
12730
|
*/
|
|
12216
12731
|
insightTileLoaderText?: string;
|
|
12217
12732
|
}
|
|
12218
12733
|
/**
|
|
12219
12734
|
* A single tip shown in the SpotterViz loading state.
|
|
12220
|
-
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.
|
|
12735
|
+
* @version SDK: 1.51.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
12221
12736
|
* @group Embed components
|
|
12222
12737
|
*/
|
|
12223
12738
|
export interface SpotterVizLoaderTip {
|
|
@@ -12265,7 +12780,11 @@ export declare enum Page {
|
|
|
12265
12780
|
/**
|
|
12266
12781
|
* Collections listing page
|
|
12267
12782
|
*/
|
|
12268
|
-
Collections = "collections"
|
|
12783
|
+
Collections = "collections",
|
|
12784
|
+
/**
|
|
12785
|
+
* Liveboard schedules listing page
|
|
12786
|
+
*/
|
|
12787
|
+
LiveboardSchedules = "liveboard-schedules"
|
|
12269
12788
|
}
|
|
12270
12789
|
/**
|
|
12271
12790
|
* Define the initial state of column custom group accordions
|
|
@@ -12663,6 +13182,11 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
12663
13182
|
* `false` fetches visualizations incrementally as
|
|
12664
13183
|
* users scroll the page to view the charts and tables.
|
|
12665
13184
|
*
|
|
13185
|
+
* From SDK 1.52.0, enabling `fullHeight` also turns on
|
|
13186
|
+
* {@link lazyLoadingForFullHeight} and
|
|
13187
|
+
* {@link enableScrollableContainerLazyLoading}, so visualizations load as
|
|
13188
|
+
* they scroll into view. Set either flag to `false` to opt out.
|
|
13189
|
+
*
|
|
12666
13190
|
* Supported embed types: `AppEmbed`
|
|
12667
13191
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
|
|
12668
13192
|
* @example
|
|
@@ -12869,11 +13393,17 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
12869
13393
|
*/
|
|
12870
13394
|
isGranularXLSXCSVSchedulesEnabled?: boolean;
|
|
12871
13395
|
/**
|
|
12872
|
-
*
|
|
13396
|
+
* Loads visualizations only as they scroll into the viewport, instead of
|
|
13397
|
+
* loading the whole full-height Liveboard at once.
|
|
13398
|
+
*
|
|
13399
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
13400
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
13401
|
+
* set explicitly. Set it to `false` to load every visualization upfront.
|
|
13402
|
+
* The flag has no effect unless `fullHeight` is enabled.
|
|
12873
13403
|
*
|
|
12874
13404
|
* @type {boolean}
|
|
12875
13405
|
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
12876
|
-
* @default
|
|
13406
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
12877
13407
|
* @example
|
|
12878
13408
|
* ```js
|
|
12879
13409
|
* const embed = new AppEmbed('#embed-container', {
|
|
@@ -12885,27 +13415,43 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
12885
13415
|
*/
|
|
12886
13416
|
lazyLoadingForFullHeight?: boolean;
|
|
12887
13417
|
/**
|
|
12888
|
-
*
|
|
13418
|
+
* Computes the visible region of the embed against its scrollable and
|
|
13419
|
+
* clipping ancestors, instead of treating the browser window as the only
|
|
13420
|
+
* viewport, and tracks scroll and resize on those ancestors.
|
|
12889
13421
|
*
|
|
12890
|
-
*
|
|
12891
|
-
*
|
|
13422
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
13423
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
13424
|
+
* set explicitly. Set it to `false` when the page scrolls with the window
|
|
13425
|
+
* and the embed has no clipping ancestor, to skip the extra ancestor
|
|
13426
|
+
* tracking.
|
|
12892
13427
|
*
|
|
12893
13428
|
* @type {boolean}
|
|
12894
|
-
* @default
|
|
13429
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
12895
13430
|
* @hidden
|
|
12896
13431
|
*/
|
|
12897
13432
|
enableScrollableContainerLazyLoading?: boolean;
|
|
12898
13433
|
/**
|
|
12899
|
-
*
|
|
13434
|
+
* How far outside the viewport a visualization starts loading, when
|
|
13435
|
+
* {@link lazyLoadingForFullHeight} is enabled.
|
|
12900
13436
|
*
|
|
12901
13437
|
* For example, if the margin is set to '10px',
|
|
12902
13438
|
* the visualization will be loaded 10px before its top edge is visible in the
|
|
12903
13439
|
* viewport.
|
|
12904
13440
|
*
|
|
12905
|
-
* The format is similar to CSS margin
|
|
13441
|
+
* The format is similar to CSS margin, so `'500px 0px'` extends the
|
|
13442
|
+
* prefetch 500px above and below the viewport and not sideways. Accepted
|
|
13443
|
+
* units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
|
|
13444
|
+
* `auto`; an invalid value is logged and ignored.
|
|
13445
|
+
*
|
|
13446
|
+
* From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
|
|
13447
|
+
* visualization ahead of the scroll position, so a chart has usually
|
|
13448
|
+
* finished loading by the time it scrolls into view. Use a smaller margin
|
|
13449
|
+
* to cut warehouse queries further, or `'0px'` to load a visualization
|
|
13450
|
+
* only once it is actually visible.
|
|
12906
13451
|
*
|
|
12907
13452
|
* @type {string}
|
|
12908
13453
|
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
13454
|
+
* @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
|
|
12909
13455
|
* @example
|
|
12910
13456
|
* ```js
|
|
12911
13457
|
* const embed = new AppEmbed('#embed-container', {
|
|
@@ -13080,13 +13626,12 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13080
13626
|
* inputChatPlaceholder: 'Ask a question...',
|
|
13081
13627
|
* hideStarterPrompts: false,
|
|
13082
13628
|
* customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
|
|
13083
|
-
* //
|
|
13629
|
+
* // The options below require SDK: 1.51.0
|
|
13084
13630
|
* loaderHeadline: 'Crunching the numbers...',
|
|
13085
13631
|
* loaderTips: [
|
|
13086
13632
|
* { label: 'Tip', text: 'try asking about revenue by region' },
|
|
13087
13633
|
* { label: 'Tip', text: 'use natural language' },
|
|
13088
13634
|
* ],
|
|
13089
|
-
* // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
13090
13635
|
* liveboardBrandName: 'Reports',
|
|
13091
13636
|
* spotterBrandName: 'Analyst',
|
|
13092
13637
|
* insightTileBrandName: 'Insight card',
|
|
@@ -13182,6 +13727,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
|
|
|
13182
13727
|
spotterSidebarConfig?: SpotterSidebarViewConfig;
|
|
13183
13728
|
spotterVizConfig?: SpotterVizConfig;
|
|
13184
13729
|
spotterShareConversationConfig?: SpotterShareConversationConfig;
|
|
13730
|
+
starterPrompts?: StarterPromptsConfig;
|
|
13185
13731
|
};
|
|
13186
13732
|
}
|
|
13187
13733
|
/**
|
|
@@ -13464,7 +14010,7 @@ export declare const prefetch: (url?: string, prefetchFeatures?: PrefetchFeature
|
|
|
13464
14010
|
/**
|
|
13465
14011
|
* Initializes the Visual Embed SDK globally and perform
|
|
13466
14012
|
* authentication if applicable. This function needs to be called before any ThoughtSpot
|
|
13467
|
-
* component like Liveboard etc can be embedded. But need not wait for
|
|
14013
|
+
* component like Liveboard etc can be embedded. But need not wait for AuthStatus.SUCCESS
|
|
13468
14014
|
* to actually embed. That is handled internally.
|
|
13469
14015
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
13470
14016
|
* authentication mechanism and so on.
|
|
@@ -13563,6 +14109,7 @@ export declare const reloadIframe: (iFrame: HTMLIFrameElement) => void;
|
|
|
13563
14109
|
export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
|
|
13564
14110
|
embedParams?: {
|
|
13565
14111
|
spotterVizConfig?: SpotterVizConfig;
|
|
14112
|
+
starterPrompts?: StarterPromptsConfig;
|
|
13566
14113
|
};
|
|
13567
14114
|
}
|
|
13568
14115
|
/**
|
|
@@ -13581,6 +14128,11 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
13581
14128
|
* Setting `fullHeight` to `false` fetches visualizations
|
|
13582
14129
|
* incrementally as users scroll the page to view the charts and tables.
|
|
13583
14130
|
*
|
|
14131
|
+
* From SDK 1.52.0, enabling `fullHeight` also turns on
|
|
14132
|
+
* {@link lazyLoadingForFullHeight} and
|
|
14133
|
+
* {@link enableScrollableContainerLazyLoading}, so visualizations load as
|
|
14134
|
+
* they scroll into view. Set either flag to `false` to opt out.
|
|
14135
|
+
*
|
|
13584
14136
|
*
|
|
13585
14137
|
* Supported embed types: `LiveboardEmbed`
|
|
13586
14138
|
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
|
|
@@ -13973,11 +14525,17 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
13973
14525
|
*/
|
|
13974
14526
|
isGranularXLSXCSVSchedulesEnabled?: boolean;
|
|
13975
14527
|
/**
|
|
13976
|
-
*
|
|
14528
|
+
* Loads visualizations only as they scroll into the viewport, instead of
|
|
14529
|
+
* loading the whole full-height Liveboard at once.
|
|
14530
|
+
*
|
|
14531
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
14532
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
14533
|
+
* set explicitly. Set it to `false` to load every visualization upfront.
|
|
14534
|
+
* The flag has no effect unless `fullHeight` is enabled.
|
|
13977
14535
|
*
|
|
13978
14536
|
* @type {boolean}
|
|
13979
14537
|
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
13980
|
-
* @default
|
|
14538
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
13981
14539
|
* @example
|
|
13982
14540
|
* ```js
|
|
13983
14541
|
* const embed = new LiveboardEmbed('#embed-container', {
|
|
@@ -13989,26 +14547,42 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
13989
14547
|
*/
|
|
13990
14548
|
lazyLoadingForFullHeight?: boolean;
|
|
13991
14549
|
/**
|
|
13992
|
-
*
|
|
14550
|
+
* Computes the visible region of the embed against its scrollable and
|
|
14551
|
+
* clipping ancestors, instead of treating the browser window as the only
|
|
14552
|
+
* viewport, and tracks scroll and resize on those ancestors.
|
|
13993
14553
|
*
|
|
13994
|
-
*
|
|
13995
|
-
*
|
|
14554
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
14555
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
14556
|
+
* set explicitly. Set it to `false` when the page scrolls with the window
|
|
14557
|
+
* and the embed has no clipping ancestor, to skip the extra ancestor
|
|
14558
|
+
* tracking.
|
|
13996
14559
|
*
|
|
13997
14560
|
* @type {boolean}
|
|
13998
|
-
* @default
|
|
14561
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
13999
14562
|
*/
|
|
14000
14563
|
enableScrollableContainerLazyLoading?: boolean;
|
|
14001
14564
|
/**
|
|
14002
|
-
*
|
|
14565
|
+
* How far outside the viewport a visualization starts loading, when
|
|
14566
|
+
* {@link lazyLoadingForFullHeight} is enabled.
|
|
14003
14567
|
*
|
|
14004
14568
|
* For example, if the margin is set to '10px',
|
|
14005
14569
|
* the visualization will be loaded 10px before its top edge is visible in the
|
|
14006
14570
|
* viewport.
|
|
14007
14571
|
*
|
|
14008
|
-
* The format is similar to CSS margin
|
|
14572
|
+
* The format is similar to CSS margin, so `'500px 0px'` extends the
|
|
14573
|
+
* prefetch 500px above and below the viewport and not sideways. Accepted
|
|
14574
|
+
* units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
|
|
14575
|
+
* `auto`; an invalid value is logged and ignored.
|
|
14576
|
+
*
|
|
14577
|
+
* From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
|
|
14578
|
+
* visualization ahead of the scroll position, so a chart has usually
|
|
14579
|
+
* finished loading by the time it scrolls into view. Use a smaller margin
|
|
14580
|
+
* to cut warehouse queries further, or `'0px'` to load a visualization
|
|
14581
|
+
* only once it is actually visible.
|
|
14009
14582
|
*
|
|
14010
14583
|
* @type {string}
|
|
14011
14584
|
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
14585
|
+
* @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
|
|
14012
14586
|
* @example
|
|
14013
14587
|
* ```js
|
|
14014
14588
|
* const embed = new LiveboardEmbed('#embed-container', {
|
|
@@ -14112,13 +14686,12 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
14112
14686
|
* inputChatPlaceholder: 'Ask a question...',
|
|
14113
14687
|
* hideStarterPrompts: false,
|
|
14114
14688
|
* customStarterPrompts: [{ id: '1', displayText: 'Top products', fullPrompt: 'What are the top products by revenue?' }],
|
|
14115
|
-
* //
|
|
14689
|
+
* // The options below require SDK: 1.51.0
|
|
14116
14690
|
* loaderHeadline: 'Crunching the numbers...',
|
|
14117
14691
|
* loaderTips: [
|
|
14118
14692
|
* { label: 'Tip', text: 'try asking about revenue by region' },
|
|
14119
14693
|
* { label: 'Tip', text: 'use natural language' },
|
|
14120
14694
|
* ],
|
|
14121
|
-
* // liveboardBrandName, spotterBrandName, insightTileBrandName, insightTileViewPlanLabel and insightTileLoaderText require SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
14122
14695
|
* liveboardBrandName: 'Reports',
|
|
14123
14696
|
* spotterBrandName: 'Analyst',
|
|
14124
14697
|
* insightTileBrandName: 'Insight card',
|
|
@@ -14229,7 +14802,7 @@ export declare class LiveboardEmbed extends V1Embed {
|
|
|
14229
14802
|
* @param {any} data The payload to send with the message
|
|
14230
14803
|
* @returns A promise that resolves with the response from the embedded app
|
|
14231
14804
|
*/
|
|
14232
|
-
trigger<HostEventT extends HostEvent, PayloadT
|
|
14805
|
+
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
14233
14806
|
/**
|
|
14234
14807
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
14235
14808
|
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|