@thoughtspot/visual-embed-sdk 1.47.1 → 1.47.3
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 +3 -3
- package/cjs/src/embed/app.d.ts +19 -1
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +7 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +141 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +2 -1
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +4 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +2 -2
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +13 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +7 -1
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +54 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +24 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +15 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +99 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +3 -0
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +11 -3
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +51 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +14 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +29 -3
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +139 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +2 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +8 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +2 -0
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/mixpanel-service.spec.js +2 -0
- package/cjs/src/mixpanel-service.spec.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts +1 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +26 -1
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/types.d.ts +532 -6
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +225 -3
- package/cjs/src/types.js.map +1 -1
- package/dist/{index-CUgxBnPm.js → index-DZq20cR6.js} +1 -1
- package/dist/src/embed/app.d.ts +19 -1
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +2 -1
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +4 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +13 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +24 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +3 -0
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +14 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +1 -0
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +532 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +299 -17
- package/dist/tsembed-react.js +298 -16
- package/dist/tsembed.es.js +300 -18
- package/dist/tsembed.js +298 -16
- package/dist/visual-embed-sdk-react-full.d.ts +572 -6
- package/dist/visual-embed-sdk-react.d.ts +572 -6
- package/dist/visual-embed-sdk.d.ts +600 -6
- package/lib/package.json +3 -3
- package/lib/src/embed/app.d.ts +19 -1
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +7 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +142 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +2 -1
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +4 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +2 -2
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +13 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +7 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +54 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +24 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +15 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +100 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +3 -0
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +11 -3
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +51 -0
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +14 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +28 -2
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +139 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +2 -0
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/mixpanel-service.spec.js +2 -0
- package/lib/src/mixpanel-service.spec.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +1 -0
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +25 -1
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +532 -6
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +224 -2
- package/lib/src/types.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +600 -6
- package/package.json +3 -3
- package/src/embed/app.spec.ts +179 -0
- package/src/embed/app.ts +29 -0
- package/src/embed/conversation.ts +2 -1
- package/src/embed/hostEventClient/contracts.ts +2 -1
- package/src/embed/hostEventClient/host-event-client.spec.ts +2 -2
- package/src/embed/liveboard.spec.ts +73 -0
- package/src/embed/liveboard.ts +23 -0
- package/src/embed/search.spec.ts +118 -0
- package/src/embed/search.ts +43 -1
- package/src/embed/spotter-utils.spec.ts +52 -0
- package/src/embed/spotter-utils.ts +19 -3
- package/src/embed/ts-embed.spec.ts +185 -0
- package/src/embed/ts-embed.ts +29 -3
- package/src/index.ts +16 -0
- package/src/mixpanel-service.spec.ts +2 -0
- package/src/mixpanel-service.ts +2 -0
- package/src/test/test-utils.ts +33 -1
- package/src/types.ts +561 -2
package/src/types.ts
CHANGED
|
@@ -1994,6 +1994,22 @@ export interface LiveboardAppEmbedViewConfig {
|
|
|
1994
1994
|
* ```
|
|
1995
1995
|
*/
|
|
1996
1996
|
isLiveboardMasterpiecesEnabled?: boolean;
|
|
1997
|
+
/**
|
|
1998
|
+
* Enable or disable Muze chart phase 1 GA
|
|
1999
|
+
*
|
|
2000
|
+
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
2001
|
+
* @version SDK: 1.49.0 | ThoughtSpot Cloud: 26.6.0.cl
|
|
2002
|
+
* @default false
|
|
2003
|
+
* @example
|
|
2004
|
+
* ```js
|
|
2005
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
2006
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
2007
|
+
* ... // other embed view config
|
|
2008
|
+
* newChartsLibrary: true,
|
|
2009
|
+
* })
|
|
2010
|
+
* ```
|
|
2011
|
+
*/
|
|
2012
|
+
newChartsLibrary?: boolean;
|
|
1997
2013
|
}
|
|
1998
2014
|
|
|
1999
2015
|
export interface AllEmbedViewConfig
|
|
@@ -3636,6 +3652,56 @@ export enum EmbedEvent {
|
|
|
3636
3652
|
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl
|
|
3637
3653
|
*/
|
|
3638
3654
|
RefreshAuthToken = 'RefreshAuthToken',
|
|
3655
|
+
|
|
3656
|
+
/**
|
|
3657
|
+
* Triggered whenever the page context changes, returning the current context along with the navigation stack.
|
|
3658
|
+
* @example
|
|
3659
|
+
* ```js
|
|
3660
|
+
* embed.on(EmbedEvent.EmbedPageContextChanged, (payload) => {
|
|
3661
|
+
* console.log('payload', payload);
|
|
3662
|
+
* })
|
|
3663
|
+
* ```
|
|
3664
|
+
* @version SDK: 1.47.2 | ThoughtSpot: 26.3.0.cl
|
|
3665
|
+
*/
|
|
3666
|
+
EmbedPageContextChanged = 'EmbedPageContextChanged',
|
|
3667
|
+
|
|
3668
|
+
/**
|
|
3669
|
+
* Represents a special embed event that is triggered whenever any host event is subscribed.
|
|
3670
|
+
*
|
|
3671
|
+
* You can listen to this event when you need to dispatch a host event during load or render,
|
|
3672
|
+
* particularly in situations where timing issues may occur.
|
|
3673
|
+
*
|
|
3674
|
+
* @example
|
|
3675
|
+
* ```js
|
|
3676
|
+
* embed.on(`${HostEvent.Save} Subscribed`, () => {
|
|
3677
|
+
* // make action
|
|
3678
|
+
* });
|
|
3679
|
+
* ```
|
|
3680
|
+
*
|
|
3681
|
+
* @example
|
|
3682
|
+
* ```js
|
|
3683
|
+
* embed.on(subscribedEvent(HostEvent.Save), () => {
|
|
3684
|
+
* // make action
|
|
3685
|
+
* });
|
|
3686
|
+
* ```
|
|
3687
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.4.0.cl
|
|
3688
|
+
*/
|
|
3689
|
+
Subscribed = 'Subscribed',
|
|
3690
|
+
|
|
3691
|
+
/**
|
|
3692
|
+
* Emitted when a user clicks the **Send Test Email** button in the
|
|
3693
|
+
* Liveboard schedule modal. Requires `isSendNowLiveboardSchedulingEnabled`
|
|
3694
|
+
* to be enabled.
|
|
3695
|
+
* @example
|
|
3696
|
+
* ```js
|
|
3697
|
+
* liveboardEmbed.on(EmbedEvent.SendTestScheduleEmail, (payload) => {
|
|
3698
|
+
* console.log('Send test email', payload);
|
|
3699
|
+
* // payload: { liveboardId: string, sendToSelf: boolean }
|
|
3700
|
+
* })
|
|
3701
|
+
* ```
|
|
3702
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
3703
|
+
*/
|
|
3704
|
+
SendTestScheduleEmail = 'sendTestScheduleEmail',
|
|
3639
3705
|
}
|
|
3640
3706
|
|
|
3641
3707
|
/**
|
|
@@ -5336,7 +5402,8 @@ export enum HostEvent {
|
|
|
5336
5402
|
* ```js
|
|
5337
5403
|
* // Get parameters from liveboard context
|
|
5338
5404
|
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
5339
|
-
* liveboardEmbed.trigger(HostEvent.GetParameters, {},
|
|
5405
|
+
* liveboardEmbed.trigger(HostEvent.GetParameters, {},
|
|
5406
|
+
* ContextType.Liveboard).then((parameters) => {
|
|
5340
5407
|
* console.log('parameters', parameters);
|
|
5341
5408
|
* });
|
|
5342
5409
|
* ```
|
|
@@ -5690,6 +5757,26 @@ export enum HostEvent {
|
|
|
5690
5757
|
* @version SDK: 1.45.0 | ThoughtSpot: 26.2.0.cl
|
|
5691
5758
|
*/
|
|
5692
5759
|
GetPageContext = 'GetPageContext',
|
|
5760
|
+
/**
|
|
5761
|
+
* Trigger the **Send Test Email** action in the Liveboard schedule modal.
|
|
5762
|
+
* Sends a test schedule email to self or all recipients.
|
|
5763
|
+
* Requires `isSendNowLiveboardSchedulingEnabled` to be enabled.
|
|
5764
|
+
* @example
|
|
5765
|
+
* ```js
|
|
5766
|
+
* liveboardEmbed.trigger(HostEvent.SendTestScheduleEmail, {
|
|
5767
|
+
* sendToSelf: true,
|
|
5768
|
+
* })
|
|
5769
|
+
* ```
|
|
5770
|
+
* @example
|
|
5771
|
+
* ```js
|
|
5772
|
+
* // Send to all recipients
|
|
5773
|
+
* liveboardEmbed.trigger(HostEvent.SendTestScheduleEmail, {
|
|
5774
|
+
* sendToSelf: false,
|
|
5775
|
+
* })
|
|
5776
|
+
* ```
|
|
5777
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
5778
|
+
*/
|
|
5779
|
+
SendTestScheduleEmail = 'sendTestScheduleEmail',
|
|
5693
5780
|
}
|
|
5694
5781
|
|
|
5695
5782
|
/**
|
|
@@ -5791,6 +5878,7 @@ export enum Param {
|
|
|
5791
5878
|
ShowLiveboardTitle = 'showLiveboardTitle',
|
|
5792
5879
|
ShowMaskedFilterChip = 'showMaskedFilterChip',
|
|
5793
5880
|
IsLiveboardMasterpiecesEnabled = 'isLiveboardMasterpiecesEnabled',
|
|
5881
|
+
EnableNewChartLibrary = 'muzeChartPhase1EnabledGA',
|
|
5794
5882
|
HiddenTabs = 'hideTabs',
|
|
5795
5883
|
VisibleTabs = 'visibleTabs',
|
|
5796
5884
|
HideTabPanel = 'hideTabPanel',
|
|
@@ -5846,6 +5934,7 @@ export enum Param {
|
|
|
5846
5934
|
IsWYSIWYGLiveboardPDFEnabled = 'isWYSIWYGLiveboardPDFEnabled',
|
|
5847
5935
|
isLiveboardXLSXCSVDownloadEnabled = 'isLiveboardXLSXCSVDownloadEnabled',
|
|
5848
5936
|
isGranularXLSXCSVSchedulesEnabled = 'isGranularXLSXCSVSchedulesEnabled',
|
|
5937
|
+
isSendNowLiveboardSchedulingEnabled = 'isSendNowLiveboardSchedulingEnabled',
|
|
5849
5938
|
isCentralizedLiveboardFilterUXEnabled = 'isCentralizedLiveboardFilterUXEnabled',
|
|
5850
5939
|
isLinkParametersEnabled = 'isLinkParametersEnabled',
|
|
5851
5940
|
EnablePastConversationsSidebar = 'enablePastConversationsSidebar',
|
|
@@ -5865,6 +5954,7 @@ export enum Param {
|
|
|
5865
5954
|
HideToolResponseCardBranding = 'hideToolResponseCardBranding',
|
|
5866
5955
|
ToolResponseCardBrandingLabel = 'toolResponseCardBrandingLabel',
|
|
5867
5956
|
EnableHomepageAnnouncement = 'enableHomepageAnnouncement',
|
|
5957
|
+
EnableLiveboardDataCache = 'enableLiveboardDataCache',
|
|
5868
5958
|
}
|
|
5869
5959
|
|
|
5870
5960
|
/**
|
|
@@ -6187,7 +6277,7 @@ export enum Action {
|
|
|
6187
6277
|
* ```js
|
|
6188
6278
|
* disabledActions: [Action.DownloadLiveboard]
|
|
6189
6279
|
* ```
|
|
6190
|
-
* @version SDK: 1.
|
|
6280
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
6191
6281
|
*/
|
|
6192
6282
|
DownloadLiveboard = 'downloadLiveboard',
|
|
6193
6283
|
/**
|
|
@@ -6200,6 +6290,26 @@ export enum Action {
|
|
|
6200
6290
|
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
6201
6291
|
*/
|
|
6202
6292
|
DownloadLiveboardAsContinuousPDF = 'downloadLiveboardAsContinuousPDF',
|
|
6293
|
+
/**
|
|
6294
|
+
* The **Download Liveboard as XLSX** menu action on a Liveboard.
|
|
6295
|
+
* Allows downloading the entire Liveboard as an XLSX file.
|
|
6296
|
+
* @example
|
|
6297
|
+
* ```js
|
|
6298
|
+
* disabledActions: [Action.DownloadLiveboardAsXlsx]
|
|
6299
|
+
* ```
|
|
6300
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
6301
|
+
*/
|
|
6302
|
+
DownloadLiveboardAsXlsx = 'downloadLiveboardAsXlsx',
|
|
6303
|
+
/**
|
|
6304
|
+
* The **Download Liveboard as CSV** menu action on a Liveboard.
|
|
6305
|
+
* Allows downloading the entire Liveboard as a CSV file.
|
|
6306
|
+
* @example
|
|
6307
|
+
* ```js
|
|
6308
|
+
* disabledActions: [Action.DownloadLiveboardAsCsv]
|
|
6309
|
+
* ```
|
|
6310
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
6311
|
+
*/
|
|
6312
|
+
DownloadLiveboardAsCsv = 'downloadLiveboardAsCsv',
|
|
6203
6313
|
/**
|
|
6204
6314
|
* @hidden
|
|
6205
6315
|
*/
|
|
@@ -7481,6 +7591,18 @@ export enum Action {
|
|
|
7481
7591
|
* @version SDK: 1.45.0 | ThoughtSpot: 26.4.0.cl
|
|
7482
7592
|
*/
|
|
7483
7593
|
IncludeCurrentPeriod = 'includeCurrentPeriod',
|
|
7594
|
+
/**
|
|
7595
|
+
* The **Send Test Email** button in the Liveboard schedule modal.
|
|
7596
|
+
* Allows sending a test schedule email to self or all recipients.
|
|
7597
|
+
* Requires `isSendNowLiveboardSchedulingEnabled` to be enabled.
|
|
7598
|
+
* @example
|
|
7599
|
+
* ```js
|
|
7600
|
+
* disabledActions: [Action.SendTestScheduleEmail]
|
|
7601
|
+
* hiddenActions: [Action.SendTestScheduleEmail]
|
|
7602
|
+
* ```
|
|
7603
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
7604
|
+
*/
|
|
7605
|
+
SendTestScheduleEmail = 'sendTestScheduleEmail',
|
|
7484
7606
|
}
|
|
7485
7607
|
export interface AnswerServiceType {
|
|
7486
7608
|
getAnswer?: (offset: number, batchSize: number) => any;
|
|
@@ -8092,3 +8214,440 @@ export interface ContextObject {
|
|
|
8092
8214
|
objectIds: ObjectIds;
|
|
8093
8215
|
};
|
|
8094
8216
|
}
|
|
8217
|
+
|
|
8218
|
+
|
|
8219
|
+
// ─── Visual Overrides ────────────────────────────────────────────────────────
|
|
8220
|
+
|
|
8221
|
+
export interface FontProperties {
|
|
8222
|
+
color?: string;
|
|
8223
|
+
bold?: boolean;
|
|
8224
|
+
italic?: boolean;
|
|
8225
|
+
strikeThrough?: boolean;
|
|
8226
|
+
underline?: boolean;
|
|
8227
|
+
}
|
|
8228
|
+
|
|
8229
|
+
export interface SolidBackgroundAttrs {
|
|
8230
|
+
color?: string;
|
|
8231
|
+
}
|
|
8232
|
+
|
|
8233
|
+
export interface GradientBackgroundAttrs {
|
|
8234
|
+
backgroundFormatMidpoint?: number;
|
|
8235
|
+
colors?: string[];
|
|
8236
|
+
backgroundFormatRange?: number[];
|
|
8237
|
+
isAutoScaled?: boolean;
|
|
8238
|
+
}
|
|
8239
|
+
|
|
8240
|
+
/**
|
|
8241
|
+
* Data label filter operators
|
|
8242
|
+
* @group Visual Overrides
|
|
8243
|
+
*/
|
|
8244
|
+
export enum DataLabelFilterOperator {
|
|
8245
|
+
/** Greater than */
|
|
8246
|
+
GreaterThan = 'GREATER_THAN',
|
|
8247
|
+
/** Less than */
|
|
8248
|
+
LessThan = 'LESS_THAN',
|
|
8249
|
+
/** Greater than or equal to */
|
|
8250
|
+
GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO',
|
|
8251
|
+
/** Less than or equal to */
|
|
8252
|
+
LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO',
|
|
8253
|
+
/** Equal to */
|
|
8254
|
+
EqualTo = 'EQUAL_TO',
|
|
8255
|
+
/** Not equal to */
|
|
8256
|
+
NotEqualTo = 'NOT_EQUAL_TO',
|
|
8257
|
+
}
|
|
8258
|
+
|
|
8259
|
+
/**
|
|
8260
|
+
* Conditional formatting operators
|
|
8261
|
+
* @group Visual Overrides
|
|
8262
|
+
*/
|
|
8263
|
+
export enum ConditionalFormattingOperator {
|
|
8264
|
+
/** Is equal to */
|
|
8265
|
+
Is = 'IS',
|
|
8266
|
+
/** Is not equal to */
|
|
8267
|
+
IsNot = 'IS_NOT',
|
|
8268
|
+
/** Contains */
|
|
8269
|
+
Contains = 'CONTAINS',
|
|
8270
|
+
/** Does not contain */
|
|
8271
|
+
DoesNotContain = 'DOES_NOT_CONTAIN',
|
|
8272
|
+
/** Starts with */
|
|
8273
|
+
StartsWith = 'STARTS_WITH',
|
|
8274
|
+
/** Ends with */
|
|
8275
|
+
EndsWith = 'ENDS_WITH',
|
|
8276
|
+
/** Greater than */
|
|
8277
|
+
GreaterThan = 'GREATER_THAN',
|
|
8278
|
+
/** Less than */
|
|
8279
|
+
LessThan = 'LESS_THAN',
|
|
8280
|
+
/** Greater than or equal to */
|
|
8281
|
+
GreaterThanEqualTo = 'GREATER_THAN_EQUAL_TO',
|
|
8282
|
+
/** Less than or equal to */
|
|
8283
|
+
LessThanEqualTo = 'LESS_THAN_EQUAL_TO',
|
|
8284
|
+
/** Equal to */
|
|
8285
|
+
EqualTo = 'EQUAL_TO',
|
|
8286
|
+
/** Not equal to */
|
|
8287
|
+
NotEqualTo = 'NOT_EQUAL_TO',
|
|
8288
|
+
/** Is between */
|
|
8289
|
+
IsBetween = 'IS_BETWEEN',
|
|
8290
|
+
/** Is null */
|
|
8291
|
+
IsNull = 'IS_NULL',
|
|
8292
|
+
/** Is not null */
|
|
8293
|
+
IsNotNull = 'IS_NOT_NULL',
|
|
8294
|
+
}
|
|
8295
|
+
|
|
8296
|
+
/**
|
|
8297
|
+
* Background format types for conditional formatting
|
|
8298
|
+
* @group Visual Overrides
|
|
8299
|
+
*/
|
|
8300
|
+
export enum BackgroundFormatType {
|
|
8301
|
+
/** Solid color background */
|
|
8302
|
+
Solid = 'SOLID',
|
|
8303
|
+
/** Gradient background */
|
|
8304
|
+
Gradient = 'GRADIENT',
|
|
8305
|
+
}
|
|
8306
|
+
|
|
8307
|
+
/**
|
|
8308
|
+
* Comparison types for conditional formatting
|
|
8309
|
+
* @group Visual Overrides
|
|
8310
|
+
*/
|
|
8311
|
+
export enum ConditionalFormattingComparisonType {
|
|
8312
|
+
/** Value-based comparison */
|
|
8313
|
+
ValueBased = 'VALUE_BASED',
|
|
8314
|
+
/** Column-based comparison */
|
|
8315
|
+
ColumnBased = 'COLUMN_BASED',
|
|
8316
|
+
/** Parameter-based comparison */
|
|
8317
|
+
ParameterBased = 'PARAMETER_BASED',
|
|
8318
|
+
}
|
|
8319
|
+
|
|
8320
|
+
/**
|
|
8321
|
+
* A single conditional formatting rule row
|
|
8322
|
+
* @group Visual Overrides
|
|
8323
|
+
*/
|
|
8324
|
+
export interface ConditionalFormattingRow {
|
|
8325
|
+
/** Comparison operator */
|
|
8326
|
+
operator: ConditionalFormattingOperator | string;
|
|
8327
|
+
/** Value to compare against */
|
|
8328
|
+
value?: string;
|
|
8329
|
+
/** Range values for range-based comparisons */
|
|
8330
|
+
rangeValues?: { min: number; max: number };
|
|
8331
|
+
/** Plot the formatting as a band/area */
|
|
8332
|
+
plotAsBand?: boolean;
|
|
8333
|
+
/** Highlight this row if the condition is met */
|
|
8334
|
+
isHighlightRow?: boolean;
|
|
8335
|
+
/** Type of comparison: value-based, column-based, or parameter-based */
|
|
8336
|
+
comparisonType?: ConditionalFormattingComparisonType | string;
|
|
8337
|
+
/** Column ID to apply the formatting to (left-hand side) */
|
|
8338
|
+
lhsColumnId?: string;
|
|
8339
|
+
/** Column name to compare against (right-hand side) */
|
|
8340
|
+
columnToCompare?: string;
|
|
8341
|
+
/** Parameter ID to compare against */
|
|
8342
|
+
comparisonParameterId?: string;
|
|
8343
|
+
/** Font properties to apply (color, bold, italic, etc.) */
|
|
8344
|
+
fontProperties?: FontProperties;
|
|
8345
|
+
/** Background format type: solid color or gradient */
|
|
8346
|
+
backgroundFormatType?: BackgroundFormatType | string;
|
|
8347
|
+
/** Solid background color attributes */
|
|
8348
|
+
solidBackgroundAttrs?: SolidBackgroundAttrs;
|
|
8349
|
+
/** Gradient background attributes */
|
|
8350
|
+
gradientBackgroundAttrs?: GradientBackgroundAttrs;
|
|
8351
|
+
}
|
|
8352
|
+
|
|
8353
|
+
/**
|
|
8354
|
+
* Conditional formatting configuration
|
|
8355
|
+
* @group Visual Overrides
|
|
8356
|
+
*/
|
|
8357
|
+
export interface ConditionalFormatting {
|
|
8358
|
+
/** Array of conditional formatting rules */
|
|
8359
|
+
rows?: ConditionalFormattingRow[];
|
|
8360
|
+
}
|
|
8361
|
+
|
|
8362
|
+
/**
|
|
8363
|
+
* Color palette for charts
|
|
8364
|
+
* @group Visual Overrides
|
|
8365
|
+
*/
|
|
8366
|
+
export interface ColorPalette {
|
|
8367
|
+
/** Array of color values (hex codes or color names) */
|
|
8368
|
+
colors?: string[];
|
|
8369
|
+
}
|
|
8370
|
+
|
|
8371
|
+
/**
|
|
8372
|
+
* Legend position options
|
|
8373
|
+
* @group Visual Overrides
|
|
8374
|
+
*/
|
|
8375
|
+
export enum LegendPosition {
|
|
8376
|
+
/** Position legend at the top */
|
|
8377
|
+
Top = 'top',
|
|
8378
|
+
/** Position legend at the bottom */
|
|
8379
|
+
Bottom = 'bottom',
|
|
8380
|
+
/** Position legend on the left */
|
|
8381
|
+
Left = 'left',
|
|
8382
|
+
/** Position legend on the right */
|
|
8383
|
+
Right = 'right',
|
|
8384
|
+
}
|
|
8385
|
+
|
|
8386
|
+
/**
|
|
8387
|
+
* Table theme options
|
|
8388
|
+
* @group Visual Overrides
|
|
8389
|
+
*/
|
|
8390
|
+
export enum TableTheme {
|
|
8391
|
+
/** Outline theme */
|
|
8392
|
+
Outline = 'OUTLINE',
|
|
8393
|
+
/** Row theme */
|
|
8394
|
+
Row = 'ROW',
|
|
8395
|
+
/** Zebra theme */
|
|
8396
|
+
Zebra = 'ZEBRA',
|
|
8397
|
+
}
|
|
8398
|
+
|
|
8399
|
+
/**
|
|
8400
|
+
* Table content density options
|
|
8401
|
+
* @group Visual Overrides
|
|
8402
|
+
*/
|
|
8403
|
+
export enum TableContentDensity {
|
|
8404
|
+
/** Regular density */
|
|
8405
|
+
Regular = 'REGULAR',
|
|
8406
|
+
/** Compact density */
|
|
8407
|
+
Compact = 'COMPACT',
|
|
8408
|
+
}
|
|
8409
|
+
|
|
8410
|
+
/**
|
|
8411
|
+
* Chart legend configuration
|
|
8412
|
+
* @group Visual Overrides
|
|
8413
|
+
*/
|
|
8414
|
+
export interface ChartLegend {
|
|
8415
|
+
/** Show or hide the legend */
|
|
8416
|
+
show?: boolean;
|
|
8417
|
+
/** Position of the legend */
|
|
8418
|
+
position?: LegendPosition | string;
|
|
8419
|
+
/** Color palette to use for legend colors */
|
|
8420
|
+
colorPalette?: ColorPalette;
|
|
8421
|
+
}
|
|
8422
|
+
|
|
8423
|
+
/**
|
|
8424
|
+
* Filter for data labels
|
|
8425
|
+
* @group Visual Overrides
|
|
8426
|
+
*/
|
|
8427
|
+
export interface DataLabelFilter {
|
|
8428
|
+
/** Filter threshold value */
|
|
8429
|
+
value?: number;
|
|
8430
|
+
/** Filter operator */
|
|
8431
|
+
operator?: DataLabelFilterOperator | string;
|
|
8432
|
+
}
|
|
8433
|
+
|
|
8434
|
+
/**
|
|
8435
|
+
* Data label configuration for a specific column
|
|
8436
|
+
* @group Visual Overrides
|
|
8437
|
+
*/
|
|
8438
|
+
export interface ColumnDataLabel {
|
|
8439
|
+
/** Column name to apply data label overrides to */
|
|
8440
|
+
name: string;
|
|
8441
|
+
/** Show or hide data labels for this column */
|
|
8442
|
+
visible?: boolean;
|
|
8443
|
+
/** Filter to apply to data labels */
|
|
8444
|
+
filter?: DataLabelFilter | null;
|
|
8445
|
+
}
|
|
8446
|
+
|
|
8447
|
+
/**
|
|
8448
|
+
* Chart data label configuration
|
|
8449
|
+
* @group Visual Overrides
|
|
8450
|
+
*/
|
|
8451
|
+
export interface ChartDataLabel {
|
|
8452
|
+
/** Show labels for all data points */
|
|
8453
|
+
allLabels?: boolean;
|
|
8454
|
+
/** Show labels for stacked values */
|
|
8455
|
+
stackLabels?: boolean;
|
|
8456
|
+
/** Per-column data label configurations */
|
|
8457
|
+
columnDataLabel?: ColumnDataLabel[];
|
|
8458
|
+
}
|
|
8459
|
+
|
|
8460
|
+
/**
|
|
8461
|
+
* Chart summaries and totals configuration
|
|
8462
|
+
* @group Visual Overrides
|
|
8463
|
+
*/
|
|
8464
|
+
export interface ChartSummaries {
|
|
8465
|
+
/** Show row totals */
|
|
8466
|
+
showRowTotals?: boolean;
|
|
8467
|
+
/** Show column totals */
|
|
8468
|
+
showColumnTotals?: boolean;
|
|
8469
|
+
/** Show row grand totals */
|
|
8470
|
+
showRowGrandTotals?: boolean;
|
|
8471
|
+
/** Show column grand totals */
|
|
8472
|
+
showColumnGrandTotals?: boolean;
|
|
8473
|
+
}
|
|
8474
|
+
|
|
8475
|
+
/**
|
|
8476
|
+
* Gridline configuration
|
|
8477
|
+
* @group Visual Overrides
|
|
8478
|
+
*/
|
|
8479
|
+
export interface GridLine {
|
|
8480
|
+
/** Show vertical gridlines */
|
|
8481
|
+
x?: boolean;
|
|
8482
|
+
/** Show horizontal gridlines */
|
|
8483
|
+
y?: boolean;
|
|
8484
|
+
}
|
|
8485
|
+
|
|
8486
|
+
/**
|
|
8487
|
+
* Chart display configuration
|
|
8488
|
+
* @group Visual Overrides
|
|
8489
|
+
*/
|
|
8490
|
+
export interface ChartDisplay {
|
|
8491
|
+
/** Summary and totals configuration */
|
|
8492
|
+
summaries?: ChartSummaries;
|
|
8493
|
+
/** Show regression line on chart */
|
|
8494
|
+
regressionLine?: boolean;
|
|
8495
|
+
/** Gridline visibility configuration */
|
|
8496
|
+
gridLine?: GridLine;
|
|
8497
|
+
}
|
|
8498
|
+
|
|
8499
|
+
/**
|
|
8500
|
+
* Y-axis range configuration
|
|
8501
|
+
* @group Visual Overrides
|
|
8502
|
+
*/
|
|
8503
|
+
export interface YAxisRange {
|
|
8504
|
+
/** Minimum value for Y-axis */
|
|
8505
|
+
min?: number;
|
|
8506
|
+
/** Maximum value for Y-axis */
|
|
8507
|
+
max?: number;
|
|
8508
|
+
}
|
|
8509
|
+
|
|
8510
|
+
/**
|
|
8511
|
+
* Chart axis configuration
|
|
8512
|
+
* @group Visual Overrides
|
|
8513
|
+
*/
|
|
8514
|
+
export interface ChartAxis {
|
|
8515
|
+
/** Column names to link to this axis */
|
|
8516
|
+
linkedColumns?: string[];
|
|
8517
|
+
/** Show the axis name */
|
|
8518
|
+
showName?: boolean;
|
|
8519
|
+
/** Show the axis label values */
|
|
8520
|
+
showLabelValue?: boolean;
|
|
8521
|
+
/** Y-axis range configuration */
|
|
8522
|
+
yAxisRange?: YAxisRange;
|
|
8523
|
+
}
|
|
8524
|
+
|
|
8525
|
+
/**
|
|
8526
|
+
* Chart column override configuration
|
|
8527
|
+
* @group Visual Overrides
|
|
8528
|
+
*/
|
|
8529
|
+
export interface ChartColumn {
|
|
8530
|
+
/** Column name to apply overrides to */
|
|
8531
|
+
name: string;
|
|
8532
|
+
/** Color for the column (hex code) */
|
|
8533
|
+
color?: string;
|
|
8534
|
+
/** Conditional formatting rules to apply to the column */
|
|
8535
|
+
conditionalFormatting?: ConditionalFormatting;
|
|
8536
|
+
}
|
|
8537
|
+
|
|
8538
|
+
/**
|
|
8539
|
+
* Chart visualization overrides
|
|
8540
|
+
* @group Visual Overrides
|
|
8541
|
+
*/
|
|
8542
|
+
export interface ChartOverrides {
|
|
8543
|
+
/** Legend configuration */
|
|
8544
|
+
legend?: ChartLegend;
|
|
8545
|
+
/** Data label configuration */
|
|
8546
|
+
dataLabel?: ChartDataLabel;
|
|
8547
|
+
/** Display properties (summaries, regression line, gridlines) */
|
|
8548
|
+
display?: ChartDisplay;
|
|
8549
|
+
/** Per-axis configurations */
|
|
8550
|
+
axis?: ChartAxis[];
|
|
8551
|
+
/** Per-column configurations */
|
|
8552
|
+
columns?: ChartColumn[];
|
|
8553
|
+
/** Update mask paths for partial updates */
|
|
8554
|
+
updateMaskPaths?: string[];
|
|
8555
|
+
}
|
|
8556
|
+
|
|
8557
|
+
/**
|
|
8558
|
+
* Table column override configuration
|
|
8559
|
+
* @group Visual Overrides
|
|
8560
|
+
*/
|
|
8561
|
+
export interface TableColumn {
|
|
8562
|
+
/**
|
|
8563
|
+
* Name of the column to apply overrides to
|
|
8564
|
+
*/
|
|
8565
|
+
name: string;
|
|
8566
|
+
/**
|
|
8567
|
+
* Enable or disable text wrapping for the column
|
|
8568
|
+
*/
|
|
8569
|
+
wrapText?: boolean;
|
|
8570
|
+
/**
|
|
8571
|
+
* Show or hide the column
|
|
8572
|
+
*/
|
|
8573
|
+
show?: boolean;
|
|
8574
|
+
/**
|
|
8575
|
+
* Conditional formatting rules to apply to the column
|
|
8576
|
+
*/
|
|
8577
|
+
conditionalFormatting?: ConditionalFormatting;
|
|
8578
|
+
}
|
|
8579
|
+
|
|
8580
|
+
/**
|
|
8581
|
+
* Table display configuration
|
|
8582
|
+
* @group Visual Overrides
|
|
8583
|
+
*/
|
|
8584
|
+
export interface TableDisplay {
|
|
8585
|
+
/** Table theme */
|
|
8586
|
+
tableTheme?: TableTheme | string;
|
|
8587
|
+
/** Table content density */
|
|
8588
|
+
tableContentDensity?: TableContentDensity | string;
|
|
8589
|
+
}
|
|
8590
|
+
|
|
8591
|
+
/**
|
|
8592
|
+
* Column summary visibility configuration
|
|
8593
|
+
* @group Visual Overrides
|
|
8594
|
+
*/
|
|
8595
|
+
export interface ColumnSummaryVisibility {
|
|
8596
|
+
/** Column ID to control summary visibility for */
|
|
8597
|
+
columnId: string;
|
|
8598
|
+
/** Show or hide summary for this column */
|
|
8599
|
+
visible: boolean;
|
|
8600
|
+
}
|
|
8601
|
+
|
|
8602
|
+
/**
|
|
8603
|
+
* Display summary configuration
|
|
8604
|
+
* @group Visual Overrides
|
|
8605
|
+
*/
|
|
8606
|
+
export interface DisplaySummaryConfig {
|
|
8607
|
+
/** Show all column summaries by default */
|
|
8608
|
+
showAllSummaries?: boolean;
|
|
8609
|
+
/** Per-column summary visibility overrides */
|
|
8610
|
+
columnVisibility?: ColumnSummaryVisibility[];
|
|
8611
|
+
}
|
|
8612
|
+
|
|
8613
|
+
/**
|
|
8614
|
+
* Table visualization overrides
|
|
8615
|
+
* @group Visual Overrides
|
|
8616
|
+
*/
|
|
8617
|
+
export interface TableOverrides {
|
|
8618
|
+
/** Per-column configurations (properties, conditional formatting) */
|
|
8619
|
+
columns?: TableColumn[];
|
|
8620
|
+
/** Table display properties (theme, density) */
|
|
8621
|
+
display?: TableDisplay;
|
|
8622
|
+
/** Summary/headline column visibility configuration */
|
|
8623
|
+
displaySummaryConfig?: DisplaySummaryConfig;
|
|
8624
|
+
/** Update mask paths for partial updates */
|
|
8625
|
+
updateMaskPaths?: string[];
|
|
8626
|
+
}
|
|
8627
|
+
|
|
8628
|
+
/**
|
|
8629
|
+
* Visualization overrides to customize chart and table rendering
|
|
8630
|
+
* within embedded ThoughtSpot components.
|
|
8631
|
+
*
|
|
8632
|
+
* @group Visual Overrides
|
|
8633
|
+
* @example
|
|
8634
|
+
* ```js
|
|
8635
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
8636
|
+
* visualOverrides: {
|
|
8637
|
+
* chart: {
|
|
8638
|
+
* legend: { show: true, position: 'bottom' },
|
|
8639
|
+
* columns: [{ name: 'Revenue', color: '#1f77b4' }],
|
|
8640
|
+
* },
|
|
8641
|
+
* table: {
|
|
8642
|
+
* display: { tableTheme: 'ZEBRA', tableContentDensity: 'COMPACT' },
|
|
8643
|
+
* },
|
|
8644
|
+
* },
|
|
8645
|
+
* });
|
|
8646
|
+
* ```
|
|
8647
|
+
*/
|
|
8648
|
+
export interface VisualizationOverrides {
|
|
8649
|
+
/** Chart visualization overrides */
|
|
8650
|
+
chart?: ChartOverrides;
|
|
8651
|
+
/** Table visualization overrides */
|
|
8652
|
+
table?: TableOverrides;
|
|
8653
|
+
}
|