From 06f1780870412fd919ce441023c96dacbd57e9d7 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 18:03:53 +0530 Subject: [PATCH 001/105] version link update --- src/configs/doc-configs.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/configs/doc-configs.js b/src/configs/doc-configs.js index 25eeb2d1d..b31f15d4a 100644 --- a/src/configs/doc-configs.js +++ b/src/configs/doc-configs.js @@ -48,10 +48,10 @@ module.exports = { }, VERSION_DROPDOWN: [ { - label: '26.5.0.cl', + label: '26.4.0.cl', link: ' ', subLabel: 'Cloud (Latest)', - iframeUrl: 'https://developer-docs-26-5-0-cl.vercel.app/docs/', + iframeUrl: 'https://developer-docs-26-4-0-cl.vercel.app/docs/', }, { label: '26.5.0.cl', From f6e5b1e928cb0750d3a3402485c72ced34dd95fd Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 18:20:30 +0530 Subject: [PATCH 002/105] css update --- src/components/AnnouncementBanner/index.scss | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/components/AnnouncementBanner/index.scss b/src/components/AnnouncementBanner/index.scss index fdeac7f55..febd9aebb 100644 --- a/src/components/AnnouncementBanner/index.scss +++ b/src/components/AnnouncementBanner/index.scss @@ -12,7 +12,7 @@ .announcementBanner__link { color: #fff; - font-weight: 600; + font-weight: 400; text-decoration: underline; } @@ -37,15 +37,16 @@ } .announcementBanner__content { - font-size: 16px; + font-size: 15px; line-height: 20px; text-align: center; flex: 1 1 auto; - font-weight: 600; + font-weight: 400; } .announcementBanner__link { - font-size: 16px; + font-size: 15px; + font-weight: 400; } .announcementBanner__close { From eee97b5202474b7872b3064e842feee870544a10 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 18:22:53 +0530 Subject: [PATCH 003/105] note update --- modules/ROOT/pages/full-app-customize.adoc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/ROOT/pages/full-app-customize.adoc b/modules/ROOT/pages/full-app-customize.adoc index 07366a97a..44d9e2530 100644 --- a/modules/ROOT/pages/full-app-customize.adoc +++ b/modules/ROOT/pages/full-app-customize.adoc @@ -8,11 +8,10 @@ The Visual Embed SDK provides several controls to customize the embedded view, including setting the default landing page, navigation style, visibility of modules and menu items, and more. -[div announcementBlock] --- [IMPORTANT] +==== The classic (V1) experience and V2 experience modes will be deprecated in an upcoming release in 2026. Therefore, ThoughtSpot recommends upgrading the UI experience of your full application embedding to the V3 experience. --- +==== == UI experience modes ThoughtSpot application supports the following UI experience modes: From f88ee8dfb9bd6fa24377f8f2557d48baa33c6cdc Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 18:35:31 +0530 Subject: [PATCH 004/105] version drop-down --- src/configs/doc-configs.js | 46 +------------------------------------- 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/src/configs/doc-configs.js b/src/configs/doc-configs.js index b31f15d4a..73c1e96d1 100644 --- a/src/configs/doc-configs.js +++ b/src/configs/doc-configs.js @@ -47,56 +47,12 @@ module.exports = { DEV: 'dev', }, VERSION_DROPDOWN: [ - { - label: '26.4.0.cl', - link: ' ', - subLabel: 'Cloud (Latest)', - iframeUrl: 'https://developer-docs-26-4-0-cl.vercel.app/docs/', - }, { label: '26.5.0.cl', link: '26.5.0.cl', - subLabel: 'Coming soon', + subLabel: 'Cloud (Latest)', iframeUrl: 'https://developer-docs-26-5-0-cl.vercel.app/docs/', }, - { - label: '26.3.0.cl', - link: '26.3.0.cl', - subLabel: 'Cloud', - iframeUrl: 'https://developer-docs-26-3-0-cl.vercel.app/docs/', - }, - { - label: '26.2.0.cl', - link: '26.2.0.cl', - subLabel: 'Cloud', - iframeUrl: 'https://developer-docs-26-2-0-cl.vercel.app/docs/', - }, - { - label: '10.15.0.cl', - link: '10.15.0.cl', - subLabel: 'Cloud', - iframeUrl: 'https://developer-docs-10-15-0-cl.vercel.app/docs/', - }, - { - label: '26.3.0.sw', - link: '26.3.0.sw', - subLabel: 'Software (Latest)', - iframeUrl: 'https://visual-embed-sdk-26-3.vercel.app/docs/', - }, - - { - label: '10.10.0.sw', - link: '10.10.0.sw', - subLabel: 'Software', - iframeUrl: 'https://visual-embed-sdk-10-10.vercel.app/docs/', - }, - { - label: '10.1.0.sw', - link: '10.1.0.sw', - subLabel: 'Software', - iframeUrl: 'https://visual-embed-sdk-10-1.vercel.app/docs/', - }, - ], CUSTOM_PAGE_ID: { API_PLAYGROUND: 'restV2-playground', From 86babe52aec4f12f402e69d807e592c4d346fdd1 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 19:16:03 +0530 Subject: [PATCH 005/105] iframe header fix --- src/components/DevDocTemplate/index.tsx | 30 ++++++++++++++++--------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/components/DevDocTemplate/index.tsx b/src/components/DevDocTemplate/index.tsx index 1999c5141..997eace44 100644 --- a/src/components/DevDocTemplate/index.tsx +++ b/src/components/DevDocTemplate/index.tsx @@ -157,6 +157,12 @@ const DevDocTemplate: FC = (props) => { version.iframeUrl === props?.pageContext?.iframeUrl, ); + // True when loaded inside a VersionIframe (outer shell sets ?_iframe=1). + // Outer shell already renders SecondaryHeader, so suppress ours to avoid duplication. + const isIframeMode = + typeof window !== 'undefined' && + new URLSearchParams(location.search).get('_iframe') === '1'; + const isGQPlayGround = params[TS_PAGE_ID_PARAM] === CUSTOM_PAGE_ID.GQ_PLAYGROUND; const isPlayGround = @@ -717,20 +723,24 @@ const DevDocTemplate: FC = (props) => { : { height: '0px' } } > - + {!isIframeMode && ( + + )}
} style={ - !isPublicSiteOpen - ? { height: 'calc(100lvh - 44px)' } - : { height: 'calc(100lvh - 65px - 44px)' } + isIframeMode + ? { height: '100lvh' } + : !isPublicSiteOpen + ? { height: 'calc(100lvh - 44px)' } + : { height: 'calc(100lvh - 65px - 44px)' } } > {isPlayGround ? ( From d1a77355406017263511fca94279d5820897210f Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 20:13:53 +0530 Subject: [PATCH 006/105] version iframe header --- src/components/DevDocTemplate/index.tsx | 29 +++++++++---------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/components/DevDocTemplate/index.tsx b/src/components/DevDocTemplate/index.tsx index 997eace44..a1e1ad89b 100644 --- a/src/components/DevDocTemplate/index.tsx +++ b/src/components/DevDocTemplate/index.tsx @@ -157,11 +157,6 @@ const DevDocTemplate: FC = (props) => { version.iframeUrl === props?.pageContext?.iframeUrl, ); - // True when loaded inside a VersionIframe (outer shell sets ?_iframe=1). - // Outer shell already renders SecondaryHeader, so suppress ours to avoid duplication. - const isIframeMode = - typeof window !== 'undefined' && - new URLSearchParams(location.search).get('_iframe') === '1'; const isGQPlayGround = params[TS_PAGE_ID_PARAM] === CUSTOM_PAGE_ID.GQ_PLAYGROUND; @@ -723,24 +718,20 @@ const DevDocTemplate: FC = (props) => { : { height: '0px' } } > - {!isIframeMode && ( - - )} +
} style={ - isIframeMode - ? { height: '100lvh' } - : !isPublicSiteOpen - ? { height: 'calc(100lvh - 44px)' } - : { height: 'calc(100lvh - 65px - 44px)' } + !isPublicSiteOpen + ? { height: 'calc(100lvh - 44px)' } + : { height: 'calc(100lvh - 65px - 44px)' } } > {isPlayGround ? ( From da2e53ffb2ba8804a930d26f3eb18d2c2c7a859f Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Mon, 11 May 2026 20:37:07 +0530 Subject: [PATCH 007/105] version drop-down css fixes --- src/components/Dropdown/index.scss | 156 +++++++++++++++++++++-------- src/components/Dropdown/index.tsx | 48 ++++++--- src/components/Header/index.scss | 67 +------------ 3 files changed, 148 insertions(+), 123 deletions(-) diff --git a/src/components/Dropdown/index.scss b/src/components/Dropdown/index.scss index fd8a2d04b..7add63496 100644 --- a/src/components/Dropdown/index.scss +++ b/src/components/Dropdown/index.scss @@ -2,78 +2,136 @@ .dropdownWrapper { padding: 10px; + .dropdown { - overflow: hidden; - @media screen and (min-width: $tablet-resolution-min) and (max-width: $tablet-resolution-max) { - padding-right: 0px; - margin-right: 0px; - } + overflow: visible; + position: relative; } - .dropdown .dropbtn { + .dropbtn { + display: inline-flex; + align-items: center; + gap: 6px; font-size: 15px; font-weight: 400; border: none; outline: none; color: rgba(255, 255, 255, 0.85); - background-color: inherit; + background-color: transparent; margin-left: 20px; margin-right: 5px; padding: 6px 10px; + cursor: pointer; + font-family: 'Optimo-Plain'; + border-radius: 6px; + transition: background 0.15s ease, color 0.15s ease; + + &:hover { + background: rgba(255, 255, 255, 0.1); + color: #A9E8FF; + } + } + + .arrowDown { + width: 13px; + height: 13px; + margin-left: 2px; + vertical-align: middle; + transition: transform 0.15s ease; + } + + .dropdown:hover .arrowDown { + transform: rotate(180deg); } + /* Panel revealed on hover */ .dropdownContent { display: none; position: absolute; - background-color: #f5f5f5; - border: solid 0.5px #d3d3d3; - min-width: 8rem; - box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); - z-index: 1; - right: 80px; - padding: 10px 0 10px 0; + top: 100%; + right: 0; + left: auto; + padding-top: 6px; + z-index: 200; } - .dropdownContent > div { - float: none; - cursor: pointer; - color: var(--header-link-color); - padding: 8px 16px; - text-decoration: none; + .dropdown:hover .dropdownContent { display: block; - text-align: left; - font-size: $font-size-home; } - .dropdownContent div:hover { - color: var(--secondary-color); + /* Two-column panel — mirrors .header-dropdown-menu-panel */ + .version-panel { + display: flex; + flex-direction: row; + align-items: flex-start; + gap: 0; + background: var(--nav-bar-color, #232F43); + border: 1px solid #458; + box-shadow: 0 8px 24px rgba(68, 85, 136, 0.35); + border-radius: 10px; + padding: 6px; + animation: versionDropdownFadeIn 0.15s ease; + white-space: nowrap; } - .dropdown:hover .dropdownContent { - display: block; + .version-section { + flex: 1; + min-width: 140px; } - .arrowDown { - height: 0.8rem; - width: 0.8rem; - vertical-align: middle; - margin-left: 15px; + .version-section-label { + font-size: 10px; + font-weight: 700; + letter-spacing: 0.1em; + text-transform: uppercase; + color: rgba(255, 255, 255, 0.35); + padding: 8px 12px 3px; } - .subLabel { - font-size: $font-size-small; - font-weight: $font-weight-normal; - padding: 3px 0px; + + .version-col-divider { + width: 1px; + background: rgba(255, 255, 255, 0.08); + align-self: stretch; + margin: 6px 4px; + flex-shrink: 0; } - .hide { - display: none; + + .version-item { + display: flex; + flex-direction: column; + cursor: pointer; + color: rgba(255, 255, 255, 0.8); + border-radius: 6px; + padding: 8px 12px; + transition: background 0.1s ease, color 0.1s ease; + + &:hover { + background: rgba(169, 232, 255, 0.08); + color: #A9E8FF; + + .version-item-sub { color: rgba(169, 232, 255, 0.5); } + } + + &.active { + .version-item-label { color: #A9E8FF; } + } } - .versionLabel { - padding-right: 20px; - cursor: default; - font-size: 15px; - font-weight: 400; - user-select: none; + + .version-item-label { + font-size: 14px; + font-weight: 500; + color: inherit; + line-height: 1.3; + } + + .version-item-sub { + font-size: 11.5px; + color: rgba(255, 255, 255, 0.4); + line-height: 1.3; + margin-top: 1px; + transition: color 0.1s ease; } + .dropdownContainer { display: flex; color: $white; @@ -84,6 +142,7 @@ @media screen and (max-width: $mobile-resolution-max) { .dropdownWrapper { min-width: 6rem; + .dropdownContent { right: 5px; } @@ -94,3 +153,14 @@ } } } + +@keyframes versionDropdownFadeIn { + from { + opacity: 0; + transform: translateY(-4px); + } + to { + opacity: 1; + transform: translateY(0); + } +} diff --git a/src/components/Dropdown/index.tsx b/src/components/Dropdown/index.tsx index c5d46cb67..8673e7926 100644 --- a/src/components/Dropdown/index.tsx +++ b/src/components/Dropdown/index.tsx @@ -95,7 +95,6 @@ const Dropdown = (props: { location: Location; isMobile: boolean }) => { // Handle latest version (empty or space link) if (link === ' ' || link === '') { - // If we're in /docs, stay in /docs for the latest version if (currentPath.startsWith('/docs')) { window?.location?.assign('/docs'); } else { @@ -116,6 +115,26 @@ const Dropdown = (props: { location: Location; isMobile: boolean }) => { } }; + const cloudVersions = options.filter((o) => o.label.endsWith('.cl')); + const swVersions = options.filter((o) => o.label.endsWith('.sw')); + + const renderVersionItem = (d: VersionOption) => { + const isActive = d.label === currentVersion?.label; + return ( +
handelClick(d)} + > + {d.label} + {d.subLabel && ( + {d.subLabel} + )} +
+ ); + }; + return (
@@ -125,20 +144,21 @@ const Dropdown = (props: { location: Location; isMobile: boolean }) => {
- {options.map((d) => { - return ( -
handelClick(d)} - > - {d?.label} -
- {d?.subLabel} +
+
+
Cloud
+ {cloudVersions.map(renderVersionItem)} +
+ {swVersions.length > 0 && ( + <> +
+
+
Software
+ {swVersions.map(renderVersionItem)}
-
- ); - })} + + )} +
diff --git a/src/components/Header/index.scss b/src/components/Header/index.scss index 7a6b4fd57..c8d800792 100644 --- a/src/components/Header/index.scss +++ b/src/components/Header/index.scss @@ -270,7 +270,6 @@ header { padding-right: 20px; margin-right: 5px; - /* ── Version dropdown (legacy Dropdown component) ───────────── */ .dropdownWrapper { padding: 0; @@ -278,73 +277,9 @@ header { align-items: center; } - .dropdown { - position: relative; - overflow: visible; - } - - .dropdown .dropbtn { - display: inline-flex; - align-items: center; - gap: 6px; - padding: 6px 10px; + .dropbtn { margin-left: 0; - color: rgba(255, 255, 255, 0.85); font-size: 16px; - font-weight: 400; - cursor: pointer; - font-family: 'Optimo-Plain'; - border-radius: 6px; - transition: background 0.15s ease, color 0.15s ease; - - &:hover { - background: rgba(255, 255, 255, 0.1); - color: #A9E8FF; - } - } - - .arrowDown { - width: 13px; - height: 13px; - margin-left: 2px; - vertical-align: middle; - transition: transform 0.15s ease; - } - - .dropdown:hover .arrowDown { - transform: rotate(180deg); - } - - .dropdownContent { - right: 0; - left: auto; - background-color: var(--nav-bar-color, #232F43); - border: 1px solid #458; - box-shadow: 0 8px 24px rgba(68, 85, 136, 0.35); - border-radius: 10px; - padding: 6px; - min-width: 160px; - - & > div { - color: rgba(255, 255, 255, 0.8); - border-radius: 6px; - font-size: 14px; - padding: 8px 12px; - transition: background 0.1s ease, color 0.1s ease; - cursor: pointer; - - &:hover { - background: rgba(169, 232, 255, 0.08); - color: #A9E8FF; - } - } - - .subLabel { - font-size: 11.5px; - color: rgba(255, 255, 255, 0.4); - padding: 0; - margin-top: 1px; - } } } } From 1f95a27ad82bb3120886ee87445adfa9f3080609 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 09:03:26 +0530 Subject: [PATCH 008/105] header banner fix --- src/assets/styles/index.scss | 2 +- src/components/SecondaryHeader/index.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 6bc712713..38b3d72cd 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -1103,7 +1103,7 @@ a.anchor { .header-banner { min-height: 240px; background: var(--header-banner-background); - box-shadow: 0 3px 3px #122246; + box-shadow: 0 2px 2px #1B3E61; padding: 30px 0 0 40px; diff --git a/src/components/SecondaryHeader/index.scss b/src/components/SecondaryHeader/index.scss index 91d3ffe87..b331ccc35 100644 --- a/src/components/SecondaryHeader/index.scss +++ b/src/components/SecondaryHeader/index.scss @@ -3,7 +3,7 @@ .secondary-header { background: var(--secondary-header-bg); border-bottom: 0.5px solid var(--secondary-header-border); - box-shadow: 0 2px 2px #1B3E61; + box-shadow: 0 1px 1px #1B3E61; border-top: 0.5px solid var(--secondary-header-border); position: sticky; top: $header-height; From a9a2508a5db403b796e04c19ac1e82a0af244f4f Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 09:19:34 +0530 Subject: [PATCH 009/105] css fixes --- src/assets/styles/index.scss | 4 ++-- src/assets/styles/variables.scss | 2 +- src/components/LeftSidebar/index.scss | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 38b3d72cd..5e7c2cb77 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -469,7 +469,7 @@ button { justify-content: space-between; margin: 10px; border-radius: 10px; - border: 1px solid var(--search-border-color); + border: 1px solid var(--border-color); &:hover { box-shadow: var(--box-shadow-hover); @@ -625,7 +625,7 @@ button { } .boxAuto { - border: 0.5px solid $disabledcolor; + border: 0.5px solid var(--border-color); height: auto; width: 100%; padding: 0 0 0 2px; diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss index ed68be159..252d5b52d 100644 --- a/src/assets/styles/variables.scss +++ b/src/assets/styles/variables.scss @@ -321,7 +321,7 @@ $tag-color-light: $lightgrey; --note-block-color: #1e2430; --note-border-color: #74daff; --var-important-color: #e22b3d; - --var-important-border-color: #1e2430; + --important-border-color: #30363d; --important-block-color: #1e2430; --var-docmap-nested-color: #8b949e; --sidebar-connector-color: #30363d; diff --git a/src/components/LeftSidebar/index.scss b/src/components/LeftSidebar/index.scss index d976c54aa..f2ee4bc10 100644 --- a/src/components/LeftSidebar/index.scss +++ b/src/components/LeftSidebar/index.scss @@ -93,7 +93,7 @@ .aside { padding: 0 0 0 10px; width: 100%; - border-right: 1px solid var(--search-border-color); + border-right: 1px solid var(--border-color); left: $gutter; height: 100%; overflow-y: auto; From 66327adb1e86a12304facdcc1a610ce96bc16030 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 10:26:20 +0530 Subject: [PATCH 010/105] react embed example update --- modules/ROOT/pages/embed-action-ref.adoc | 193 ++++++----- modules/ROOT/pages/embed-ts-react-app.adoc | 370 ++++++++------------- 2 files changed, 237 insertions(+), 326 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 5fbf06799..3de09b126 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -20,7 +20,7 @@ The actions associated with the Liveboards are available in the Liveboard header |Action string in SDK | Required SDK library a|Action label in the UI |xref:Action.adoc#_addtofavorites[`Action.AddToFavorites`]| `LiveboardEmbed` + `AppEmbed` | The *Favorites* (star) icon on a Liveboard page. + - Allows adding a Liveboard to the user's favorites list. +Allows adding a Liveboard to the user's favorites list. |xref:Action.adoc#_aihighlights[`Action.AIHighlights`]|`LiveboardEmbed` + `AppEmbed` | The AI highlights button on a Liveboard page. + Displays quick insights on how top metrics changed in your Liveboard. + @@ -41,8 +41,9 @@ a| `LiveboardEmbed` + `AppEmbed` |The filter configuration options in the *Add Filters* modal. + Applies filters and allows configuring filters applied to a visualization on a Liveboard. -|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `SearchBarEmbed` + -`AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard + + +|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `LiveboardEmbed` + +`AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard. + Allows adding parameters to a Liveboard. |xref:Action.adoc#_addtab[`Action.AddTab`]|`LiveboardEmbed` + @@ -53,7 +54,8 @@ Allows adding a new tab to a Liveboard view. See also, xref:LiveboardViewConfig.adoc#_hideirrelevantchipsinliveboardtabs[hideIrrelevantChipsInLiveboardTabs]. |xref:Action.adoc#_disablechipreorder[`Action.DisableChipReorder`]|`LiveboardEmbed` + -`SearchEmbed` `AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. +`SearchEmbed` + +`AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. |xref:Action.adoc#_save[`Action.Save`]|`LiveboardEmbed` + `AppEmbed` | *Save* + @@ -69,12 +71,12 @@ Downloads the Liveboard as a PDF file. Presents a fullscreen Liveboard in the slideshow mode. |xref:Action.adoc#_schedule[`Action.Schedule`] xref:Action.adoc#_subscription[`Action.Subscription`]| `LiveboardEmbed` + -`AppEmbed` |**Schedule** + +`AppEmbed` |*Schedule* + Allows scheduling Liveboard notifications. + |xref:Action.adoc#_scheduleslist[`Action.SchedulesList`]| `LiveboardEmbed` + `AppEmbed` | *Manage schedules* + Allows you to manage scheduled Liveboard jobs. -Saves Liveboard modifications. |xref:Action.adoc#_liveboardinfo[`Action.LiveboardInfo`]|`LiveboardEmbed` + `AppEmbed` | *Show Liveboard details* + @@ -87,9 +89,9 @@ Displays information about the Liveboard. |xref:Action.adoc#_verifiedliveboard[`Action.VerifiedLiveboard`]| `LiveboardEmbed` + `AppEmbed` |The Liveboard verified banner text. + Indicates the Liveboard is verified. -See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge].| +See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge]. -xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + +|xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + `AppEmbed` | The Liveboard personalized views drop-down. + Available if personalized views are saved on the Liveboard. Allows switching between the saved personalized views of a Liveboard. @@ -98,16 +100,14 @@ Allows switching between the saved personalized views of a Liveboard. The *Approve* action visible to Liveboard verifiers. + Marks the Liveboard as approved. |xref:Action.adoc#_synctoslack[`Action.SyncToSlack`]| `LiveboardEmbed` + -`AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to third-party apps Slack. +`AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to Slack. |xref:Action.adoc#_synctoteams[`Action.SyncToTeams`]| `LiveboardEmbed` + -`AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to third-party apps Team. -//|xref:Action.adoc#_unsubscribeschedulehomepage[`Action.UnsubscribeScheduleHomepage`]|`LiveboardEmbed` + -//`AppEmbed` | Action ID to hide or disable the unsubscribe option for Liveboard schedules. +`AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to Microsoft Teams. |xref:Action.adoc#_tml[`Action.TML`]| `LiveboardEmbed` + -`AppEmbed` |Action ID for the Parent TML action The parent action *TML* must be included to access TML-related options within the cascading menu. -|xref:Action.adoc#_exporttml[`Action.ExportTML`]|`AppEmbed` + -`LiveboardEmbed`| *Export TML* + +`AppEmbed` | Action ID for the parent TML action. The parent action *TML* must be included to access TML-related options within the cascading menu. +|xref:Action.adoc#_exporttml[`Action.ExportTML`]|`LiveboardEmbed` + +`AppEmbed`| *Export TML* + Exports the TML representation of a Liveboard object from ThoughtSpot. The parent action *TML* must be included to access TML-related options within the cascading menu. |xref:Action.adoc#_updatetml[`Action.UpdateTML`]|`LiveboardEmbed` + `AppEmbed` | *Update Liveboard* + @@ -117,7 +117,6 @@ Allows importing the TML representation of a Liveboard object to ThoughtSpot. Th Allows editing the ThoughtSpot Modelling Language (TML) representation of a Liveboard object loaded on the ThoughtSpot server. The parent action *TML* must be included to access TML-related options within the cascading menu. |==== - [#liveboardv2-viz-actions] == Visualizations on a Liveboard The visualizations pinned to a Liveboard have the following types of actions: @@ -134,20 +133,18 @@ The following actions are available for ThoughtSpot visualizations **More** menu |=== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_askai[`Action.AskAi`]| `LiveboardEmbed` + -`AppEmbed` | The Spotter button on a visualization. -Available if Spotter is enabled on your instance. -Allow users to initiate a conversation with Spotter. +`AppEmbed` | The Spotter button on a visualization. + +Available if Spotter is enabled on your instance. + +Allows users to initiate a conversation with Spotter. |xref:Action.adoc#_explore[`Action.Explore`] a| `LiveboardEmbed` + `AppEmbed` |*Explore* + Allows users to explore a visualization. |xref:Action.adoc#_createmonitor[`Action.CreateMonitor`]| `LiveboardEmbed` + `AppEmbed` | Alert icon + Allows you to schedule threshold-based alerts for KPI charts. - |xref:Action.adoc#_pin[`Action.Pin`]|`LiveboardEmbed` + `AppEmbed`|*Pin* + Pins a visualization to a Liveboard. - |xref:Action.adoc#_download[`Action.Download`]|`LiveboardEmbed` + `AppEmbed` a|*Download* + The **Download** menu action to download a visualization as a CSV, PNG, PDF, or XLSX file. + @@ -157,20 +154,20 @@ If you are using Visual Embed SDK version 1.21.0 or later, note the following be * If using `visibleActions` to show or hide actions on a visualization or Answer, include the following action enumerations along with `Action.Download` in the array: + ** `Action.DownloadAsCsv` + -//** `Action.DownloadAsPdf` + +** `Action.DownloadAsPdf` + ** `Action.DownloadAsXlsx` + ** `Action.DownloadAsPng` |xref:Action.adoc#_downloadascsv[`Action.DownloadAsCsv`]|`LiveboardEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. -|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXLSX`]|`LiveboardEmbed` + +|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`LiveboardEmbed` + `AppEmbed`| *Download* > *XLSX* + -Downloads the answer data in the XLSX file. -//|xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`LiveboardEmbed` + -//`AppEmbed` |*Download* > *PDF* + -//Downloads the answer data as a PDF file. Available only for tables. +Downloads the answer data in the XLSX file format. +|xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`LiveboardEmbed` + +`AppEmbed` |*Download* > *PDF* + +Downloads the answer data as a PDF file. Available only for tables. |xref:Action.adoc#_downloadaspng[`Action.DownloadAsPng`]|`LiveboardEmbed` + `AppEmbed` |*Download* > *PNG* + Downloads the chart as a PNG file. Available only for charts. @@ -189,6 +186,11 @@ Allows creating a sync to send data to external business apps such as Slack, Sal |xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`LiveboardEmbed` + `AppEmbed`| The *Manage pipelines* action in the **More** actions menu. + Allows managing data sync pipelines to external business apps set as sync destinations in ThoughtSpot. +|xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + +`AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + +Displays the list of users who have access to the Liveboard. + +Use this action ID to hide the viewers panel in the Liveboard details view. + +Available in SDK 1.26.0 and ThoughtSpot 9.7.0.cl or later. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`] |`LiveboardEmbed` + `AppEmbed`| *Delete* + Deletes the visualization from the Liveboard. @@ -205,20 +207,19 @@ The following actions are available in the contextual menu of visualizations on `AppEmbed` | *Filter* action in the contextual menu on a visualization. + Applies filters across visualizations for brushing and linking data on a Liveboard. |xref:Action.adoc#_removecrossfilter[`Action.RemoveCrossFilter`]| `LiveboardEmbed` + -`AppEmbed` | *Remove filter* option contextual menu on a visualization. + +`AppEmbed` | *Remove filter* option in the contextual menu on a visualization. + Removes the cross-filters applied on a visualization. |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`LiveboardEmbed` + `AppEmbed`|*Drill down* + Allows drilling down on a data point in the visualization to get granular details. - -//|xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`LiveboardEmbed` + -//`AppEmbed`|*Exclude* + -//Allows you to exclude a specific data point on a search answer. -//|xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`LiveboardEmbed` + -//`AppEmbed` |*Include* + -//Allows you to include a specific data point on a search answer. +|xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`LiveboardEmbed` + +`AppEmbed`|*Exclude* + +Allows you to exclude a specific data point on a visualization. +|xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`LiveboardEmbed` + +`AppEmbed` |*Include* + +Allows you to include a specific data point on a visualization. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]| `LiveboardEmbed` + -`AppEmbed` | Chart switching toggle + +`AppEmbed` | Chart switching toggle. + Allows switching to the table or chart mode when editing a visualization. |xref:Action.adoc#_edittitle[`Action.EditTitle`]|`LiveboardEmbed` + `AppEmbed`|The visualization title edit icon. + @@ -226,12 +227,15 @@ Updates the title of the visualization. |xref:Action.adoc#_movetotab[`Action.MoveToTab`]|`LiveboardEmbed` + `AppEmbed`| The *Move to tab* action on a Liveboard in the edit mode. Allows moving a visualization to a different tab. |xref:Action.adoc#_spotiqanalyze[`Action.SpotIQAnalyze`]|`LiveboardEmbed` + -`AppEmbed`|**SpotIQ analyze** + +`AppEmbed`|*SpotIQ analyze* + Allows you to run SpotIQ analyses. |xref:Action.adoc#_showunderlyingdata[`Action.ShowUnderlyingData`] | `LiveboardEmbed` + `AppEmbed`| *Show underlying data* + Displays detailed information and raw data for a given visualization. +|xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`]| `LiveboardEmbed` + +`AppEmbed`|*Copy to clipboard* + +Copies the selected data point. Available as a contextual menu action for table data. |=== == Spotter @@ -242,19 +246,23 @@ The following action IDs are available for the Spotter component: |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_previewdataspotter[`Action.PreviewDataSpotter`] | `SpotterEmbed` + -`AppEmbed` |*Preview data* action on the Spotter conversation panel. +`AppEmbed` |*Preview data* action on the Spotter conversation panel. + Shows the underlying data used for Spotter queries. + |xref:Action.adoc#_resetspotterchat[`Action.ResetSpotterChat`] |`SpotterEmbed` + -`AppEmbed` | *Preview data* action on the Spotter conversation panel. -Shows the underlying data used for Spotter queries. +`AppEmbed` | The *Reset* button on the Spotter conversation panel. + +Clears the current Spotter conversation and starts a new session. + |xref:Action.adoc#_editpreviousprompt[`Action.EditPreviousPrompt`] |`SpotterEmbed` + -`AppEmbed` | The edit icon on the Spotter prompt panel. +`AppEmbed` | The edit icon on the Spotter prompt panel. + Allows editing the prompt sent to Spotter. -|xref:xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + -`AppEmbed` | The delete icon on the Spotter prompt panel. + +|xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + +`AppEmbed` | The delete icon on the Spotter prompt panel. + Allows deleting the prompt sent to Spotter. -|xref:xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + -`AppEmbed` | The Spotter feedback widget in the generated Answer. + +|xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + +`AppEmbed` | The Spotter feedback widget in the generated Answer. + Allows sending feedback about the response received from Spotter. |===== @@ -272,40 +280,40 @@ The following actions are available on saved Answers and the Answers generated b `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + -Allows selecting data sources to query data. + +`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + +Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`| *Create formula* option on the data panel of an Answer page + -Allows adding formulas to a search query. + +`AppEmbed`| *Create formula* option on the data panel of an Answer page. + +Allows adding formulas to a search query. |xref:Action.adoc#_addparameter[`Action.AddParameter`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed`| *Add Parameters* option in the data panel on a Search page + +`AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | Chart toggle icon + +`AppEmbed` | Chart toggle icon. + Allows switching to the table or chart mode. |xref:Action.adoc#_edit[`Action.Edit`]| `SpotterEmbed` + -`AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. -Opens a table or chart in the edit mode. +`AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. + +Opens a table or chart in the edit mode. |xref:Action.adoc#_pin[`Action.Pin`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | *Pin* action on the visualization generated from a Spotter query. +`AppEmbed` | *Pin* action on the visualization generated from a Spotter query. + Allows adding a visualization generated from Spotter to a Liveboard. |xref:Action.adoc#_save[`Action.Save`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | *Save* action on the visualization generated from a Spotter query -Saves the visualization generated from Spotter.| -xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + -`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + +`AppEmbed` | *Save* action on the visualization generated from a Spotter query. + +Saves the visualization generated from Spotter. +|xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + +`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + Allows sending feedback about the AI-generated Answer. |xref:Action.adoc#_editsageanswer[`Action.EditSageAnswer`]| `SageEmbed` + `AppEmbed` | Edit action for AI-generated Answer. @@ -324,16 +332,16 @@ Allows you to share an Answer with another user or group. `SageEmbed` + `SearchEmbed` + `AppEmbed` -a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page + +a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page. + * The *Query visualizer* button displays the tables and filters used in a search query. + -* The *Query SQL* button displays the SQL statements used in a search query to fetch data. + +* The *Query SQL* button displays the SQL statements used in a search query to fetch data. |xref:Action.adoc#_download[`Action.Download`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` a|*Download* + -The **Download** action to download the Answer data +The **Download** action to download the Answer data. If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Search, or full app experience, note the following behavior: + @@ -350,7 +358,8 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. -|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXLSX`]|`SpotterEmbed` + + +|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` | @@ -371,13 +380,13 @@ Downloads the chart as a PNG file. Available only for charts. `SearchEmbed` + `AppEmbed`|*Show underlying data* + Displays detailed information and raw data for a given visualization. Available as a menu action in the *More* menu image:./images/icon-more-10px.png[the more options menu] and the contextual menu. -|xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|**Delete** + +|xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|*Delete* + Deletes the answer. |xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SageEmbed` + `SearchEmbed` + `AppEmbed`| The *Sync to sheets* action in the **More** actions menu. + -Allows creating a sync to send data to the Google Sheets app.| -xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + +Allows creating a sync to send data to the Google Sheets app. +|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + `SearchEmbed` + `AppEmbed`| The *Sync to other apps* action in the **More** actions menu. + Allows creating a sync to send data to external business apps such as Slack, Salesforce, and Microsoft Teams. @@ -389,9 +398,9 @@ Allows managing data sync pipelines to external business apps set as sync destin `SageEmbed` + `SearchEmbed` + `AppEmbed` | *Export TML* + -Exports the TML representation of an answer from ThoughtSpot.| +Exports the TML representation of an answer from ThoughtSpot. -xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + +|xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + Allows editing the TML representation of the answer object. This action is available on the saved answers page. |xref:Action.adoc#_importtml[`Action.ImportTML`]|`AppEmbed` | *Import TML* + Allows importing the TML representation of an answer into ThoughtSpot. This action is available on the saved answers page. @@ -441,15 +450,14 @@ The SDK provides the following Action enumerations for the contextual menu actio `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` + -| *Aggregate* option in the chart axis or the table column customization menu. +| *Aggregate* option in the chart axis or the table column customization menu. + Provides aggregation options to analyze the data on a chart or table. |xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + -`LiveboardEmbed` + | *Conditional formatting* menu option + +`LiveboardEmbed` | *Conditional formatting* menu option. + Allows adding rules for conditional formatting of data points on a chart or table. -| -xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + +|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + @@ -486,7 +494,7 @@ Removes the data labels from a chart or the column of a table visualization. `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Rename* option in the chart axis or table column customization menu. + -Renames axis label on a chart or the column header on a table +Renames axis label on a chart or the column header on a table. |xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]|`SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -512,9 +520,9 @@ The following actions are available on the *Liveboards* page in the full app emb [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -a|xref:Action.adoc#_share[`Action.Share`]|`AppEmbed` +| *Share* + +a|xref:Action.adoc#_share[`Action.Share`]|`AppEmbed` | *Share* + Allows sharing a Liveboard with another user or group. -a|xref:Action.adoc#_remove[`Action.Remove`]|`AppEmbed` +| *Delete* + +a|xref:Action.adoc#_remove[`Action.Remove`]|`AppEmbed` | *Delete* + Allows deleting a Liveboard. a|xref:Action.adoc#_createliveboard[`Action.CreateLiveboard`] a|`AppEmbed`| The *Create Liveboard* action on the Liveboards page. Allows users to create a Liveboard. a|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards page. @@ -530,12 +538,12 @@ The following actions are available on the *Search* page in the full app embedde [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` +|The Add Data Panel Objects action on the data panel v2. Allows to show action menu to add different objects (such as formulas, Parameters) in data panel new experience. -|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` +| The Collapse data panel icon on the Search page. Collapses the data panel view. -|xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` +|The *Add* *Formula* action allows adding formulas to an Answer. -|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` +| The *Add* *Parameter* action allows adding Parameters to an Answer. -|xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` +| The *Add Column Set* action allows adding column sets to an Answer. -|xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` +| The *Add Query Set* action allows adding query sets to an Answer. +|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The Add Data Panel Objects action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. +|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The Collapse data panel icon on the Search page. Collapses the data panel view. +|xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` |The *Add Formula* action allows adding formulas to an Answer. +|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` | The *Add Parameter* action allows adding Parameters to an Answer. +|xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` | The *Add Column Set* action allows adding column sets to an Answer. +|xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` | The *Add Query Set* action allows adding query sets to an Answer. |=== @@ -551,7 +559,8 @@ The following actions are available on the *Answers* page in the full app embedd Allows sharing a saved Answer with another user or group. |xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* + Allows deleting an Answer. -|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards + +|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Answers page. |=== @@ -564,12 +573,12 @@ The following actions are available on the *Data* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* action on the *Data* > *Home* page. + Allows sharing a Model, Table, or View with another user or group. -|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages + +|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + Allows deleting a Model, Table, or View. -|xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page + +|xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page. + Allows exporting a Model, Table, or View as a TML file. -|xref:Action.adoc#_edittml[`Action.EditTML`] a| `AppEmbed` | *Edit TML* action on the *Data* > *Home* page + -Opens the TML Editor that allows you to modify the TML file of Model, Table, or View. +|xref:Action.adoc#_edittml[`Action.EditTML`] a| `AppEmbed` | *Edit TML* action on the *Data* > *Home* page. + +Opens the TML Editor that allows you to modify the TML file of a Model, Table, or View. |xref:Action.adoc#_importtml[`Action.ImportTML`] a| `AppEmbed` | The *Import TML* menu action imports the TML representation of ThoughtSpot objects. |=== @@ -583,9 +592,10 @@ The following actions are available on the *Home* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI a|xref:Action.adoc#_addtowatchlist[`Action.AddToWatchlist`] a| `AppEmbed` | The *Add KPI to Watchlist* action on Home page watchlist. + Adds a KPI chart to the watchlist on the Home page. -a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. Removes a KPI chart from the watchlist on the Home page. +a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. + +Removes a KPI chart from the watchlist on the Home page. a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. -|xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|**Copy link** + +|xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|*Copy link* + Allows users to copy a link from the *Watchlist* on the Homepage. a|xref:Action.adoc#_deleteschedulehomepage[`Action.DeleteScheduleHomepage`] a|`AppEmbed`| The *Delete* action on the Liveboard Schedules page. + Deletes a Liveboard schedule. @@ -593,9 +603,8 @@ a|xref:Action.adoc#_pauseschedulehomepage[`Action.PauseScheduleHomepage`] a|`App Pauses a scheduled Liveboard job. a|xref:Action.adoc#_unsubscribeschedulehomepage[`Action.UnsubscribeScheduleHomepage`] a|`AppEmbed`|*Unsubscribe* option for the alerts on the *Monitor Subscriptions* page. + Unsubscribes from alerts. -a|xref:Action.adoc#_viewschedulerunhomepage[`Action.ViewScheduleRunHomepage`] a|`AppEmbed`|The *View run history* action Liveboard Schedules page. Allows viewing schedule run history. -|xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* option for objects in the library + +a|xref:Action.adoc#_viewschedulerunhomepage[`Action.ViewScheduleRunHomepage`] a|`AppEmbed`|The *View run history* action on the Liveboard Schedules page. + +Allows viewing schedule run history. +|xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* option for objects in the library. + Allows sharing an object with another user. -|=== - - +|=== \ No newline at end of file diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index 3c893b47d..e81a02ab1 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -53,11 +53,10 @@ A functional React app may require link:https://reactjs.org/docs/hooks-reference === Verify localhost port setting -By default, React uses Port 3000 as a localhost port. Make sure you add `localhost:3000` as a xref:security-settings.adoc#csp-viz-embed-hosts[CSP visual embed host] in the **Security Settings **page of the **Develop **tab. +By default, React uses Port 3000 as a localhost port. Make sure you add `localhost:3000` as a xref:security-settings.adoc#csp-viz-embed-hosts[CSP visual embed host] in the **Security Settings** page of the **Develop** tab. If you want to use Port 8000 instead, xref:security-settings.adoc#csp-viz-embed-hosts[add it to the CSP allowlist] and update the following script in the `package.json` file in your app directory. - [source,JSON] ---- "scripts": { @@ -71,7 +70,7 @@ If you want to use Port 8000 instead, xref:security-settings.adoc#csp-viz-embed- === Install SDK Install the Visual Embed SDK from NPM. -+ + ---- npm install @thoughtspot/visual-embed-sdk ---- @@ -92,15 +91,16 @@ To embed a ThoughtSpot Liveboard, complete the following steps: === Create a Liveboard component -In your React app project, go to the **Components ** directory and add a new page for Liveboard in your app directory; for example, `liveboard.tsx`. +In your React app project, go to the **Components** directory and add a new page for Liveboard in your app directory; for example, `liveboard.tsx`. . Import the `LiveboardEmbed` component and event libraries: + -[source.Typescript] +[source,TypeScript] ---- import React from "react"; import { Action, + AuthType, init, EmbedEvent, HostEvent, @@ -130,16 +130,16 @@ ts-data-app> npm start === Code sample -The following code sample embeds a Liveboard, disables UI actions such as *Share* and **Delete**, sets specific visualization GUIDs as visible visualizations, and registers event handlers for `Init`,`Load`, `SetVisibleVizs`, `onLiveboardRendered`, and `VizPointDoubleClick`. +The following code sample embeds a Liveboard and registers event handlers for `Load` and `onLiveboardRendered`. On the `onLiveboardRendered` event, it triggers `SetVisibleVizs` to display specific visualizations. [source,TypeScript] ---- -import { init } from '@thoughtspot/visual-embed-sdk'; -import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/react'; +import { AuthType, init, EmbedEvent, HostEvent, RuntimeFilterOp } from '@thoughtspot/visual-embed-sdk'; +import { LiveboardEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/react'; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: -// import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +// import { LiveboardEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; init({ thoughtSpotHost: '<%=tshost%>', @@ -147,8 +147,8 @@ init({ }); const Liveboard = ({liveboardId}) => { - const ref = useEmbedRef(); - //apply runtime filters + const embedRef = useEmbedRef(); + //apply runtime filters const runtimeFilters = [ { columnName: "state", @@ -157,10 +157,10 @@ const Liveboard = ({liveboardId}) => { }, ]; const onLoad = () => { - console.log(EmbedEvent.Load, {}); + console.log(EmbedEvent.Load, {}); }; //Register an event handler to trigger the SetVisibleVizs event when the Liveboard is rendered - const onLiveboardRendered = () => { + const onLiveboardRendered = () => { embedRef.current.trigger(HostEvent.SetVisibleVizs, [ "3f84d633-e325-44b2-be25-c6650e5a49cf", "28b73b4a-1341-4535-ab71-f76b6fe7bf92", @@ -187,38 +187,6 @@ For more information about `LiveboardEmbed` object and properties, see the follo * xref:LiveboardViewConfig.adoc[LiveboardViewConfig] * xref:Action.adoc[Actions] - -//// -+ -The following example includes a `Liveboard` function with a Liveboard ID and registers an event handler for the `Init` and `Load` events. - -+ -[source,TypeScript] ----- -const Liveboard = () => { - //Register event handlers - const onInit = () => { - console.log(EmbedEvent.Init, {}); - }; - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; - return ( - - ); -}; ----- -//// - - === Test your app * Load the embedded Liveboard in your app. @@ -229,19 +197,20 @@ image::./images/liveboard-embed-react.png[] == Embed a visualization -To embed a ThoughtSpot Liveboard, complete the following steps: +To embed a ThoughtSpot visualization, complete the following steps: === Create a visualization component -In your React app project, go to the **Components ** folder in your app directory and add a new page for visualization; for example, `viz.tsx`. +In your React app project, go to the **Components** folder in your app directory and add a new page for visualization; for example, `viz.tsx`. . Import the `LiveboardEmbed` component and event libraries: + -[source.Typescript] +[source,TypeScript] ---- import React from "react"; import { Action, + AuthType, init, EmbedEvent, HostEvent, @@ -271,27 +240,26 @@ ts-data-app> npm start ---- === Code sample -The following example includes the `viz` function with the Liveboard and visualization GUIDs and registers event handlers for `Init` and `Load`. +The following example includes the `vizEmbed` function with the Liveboard and visualization GUIDs and registers an event handler for `Load`. [source,TypeScript] ---- -import { init } from '@thoughtspot/visual-embed-sdk'; +import { AuthType, init, EmbedEvent } from '@thoughtspot/visual-embed-sdk'; import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/react'; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: -import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +// import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; init({ thoughtSpotHost: '<%=tshost%>', authType: AuthType.None, }); -const vizEmbed = ({liveboardId}) => { - const viz = ({ vizId }) => { - // Register event handlers - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; + +const VizEmbed = ({ liveboardId, vizId }) => { + // Register event handlers + const onLoad = () => { + console.log(EmbedEvent.Load, {}); }; return ( { }; ---- -For more information about visualization objects and its properties, see the following pages: +For more information about visualization objects and their properties, see the following pages: * xref:LiveboardEmbed.adoc[LiveboardEmbed] * xref:LiveboardViewConfig.adoc[LiveboardViewConfig] @@ -319,69 +287,107 @@ For more information about visualization objects and its properties, see the fol + [.bordered] image::./images/viz-embed-react.png[] -* Check if the registered events are emitted and logged in the console. -//// -=== Visualization embed code sample +== Embed a saved answer + +To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `savedAnswerGuid` property. -The following code sample embeds a visualization with runtime filters applied, disables UI actions such as *Share* and **Pin**, and registers event handlers to log `Init`, `Load`, and custom action events in the console. +=== Create a saved answer component +In your React app project, go to the **Components** folder in your app directory and add a new page for the saved answer; for example, `savedAnswer.tsx`. + +. Import the `SearchEmbed` component and event libraries: ++ [source,TypeScript] ---- -const viz= () => { - //apply runtime filters - const runtimeFilters = [ - { - columnName: "state", - operator: RuntimeFilterOp.EQ, - values: ["michigan"], - }, - ]; - - // Register event handlers +import React from "react"; +import { + Action, + AuthType, + init, + EmbedEvent, +} from "@thoughtspot/visual-embed-sdk"; +import { SearchEmbed, useEmbedRef } from "@thoughtspot/visual-embed-sdk/react"; +---- ++ +If you are using Webpack 4, import the React components as shown in this example: + ++ +[source,TypeScript] +---- +import { SearchEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +---- +. Initialize the SDK and specify the xref:embed-authentication.adoc[authentication method]. +. Add constructor options as props. +.. For Embed events, use the `on` convention. +.. For Host events, use the `trigger(HostEvent.)` method. ++ +For more information, see xref:EmbedEvent.adoc[EmbedEvent] and xref:HostEvent.adoc[HostEvent]. + +. Render the app. ++ +---- +ts-data-app> npm start +---- + +=== Code sample + +The following code sample embeds a saved answer using its GUID and registers event handlers for `Init` and `Load`. + +[source,TypeScript] +---- +import { AuthType, init, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; +import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/react"; + +// If you are using Webpack 4 (which is the default when using create-react-app v4), import +// the React components using the below: +// import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/lib/src/react"; + +init({ + thoughtSpotHost: "<%=tshost%>", + authType: AuthType.None, +}); + +const SavedAnswer = () => { const onInit = () => { console.log(EmbedEvent.Init, {}); }; - const onLoad = () => { console.log(EmbedEvent.Load, {}); }; - - //If a custom action is added, register a custom action event to log data in the console - const onCustomAction = (payload) => { - const data = payload.data; - if (data.id === "insert Custom Action ID here") { - console.log("Custom Action event:", data.embedAnswerData); - } - }; - return ( - ); }; ---- -//// +For more information about `SearchEmbed` objects and attributes, see the following pages: + +* xref:SearchEmbed.adoc[SearchEmbed] +* xref:SearchViewConfig.adoc[SearchViewConfig] +* xref:Action.adoc[Actions] + +=== Test your app + +* Load your application. +* Check if the saved answer is rendered with the chart or table from the saved query. +* Check if the registered events are triggered and logged in the console. == Embed full app -To full ThoughtSpot application, complete the following steps: +To embed the full ThoughtSpot application, complete the following steps: === Create a full app component -In your React app project, go to the **Components ** folder in your app directory and add a new page for full application embed: for example, `fullApp.tsx`. +In your React app project, go to the **Components** folder in your app directory and add a new page for full application embed: for example, `fullApp.tsx`. . Import the `AppEmbed` component and event libraries: + @@ -447,7 +453,7 @@ const FullApp = () => { For a complete list of `AppEmbed` attributes and events, see the following pages: * xref:AppEmbed.adoc[AppEmbed] -* xref:AppViewConfig.adoc[LiveboardViewConfig] +* xref:AppViewConfig.adoc[AppViewConfig] * xref:Action.adoc[Actions] === Test your app @@ -460,41 +466,6 @@ image::./images/full-app-react.png[] * Check if the registered events are emitted. -//// -=== Full app embed code sample - -The following code sample embeds the full application experience, sets the `Liveboards` page as the default home page, disables *Edit* and *Present* actions on Liveboard visualizations, and registers event handlers for `Init`, `Load`, and `RouteChange` events. - -[source,TypeScript] ----- -const FullApp = () => { - // Register event handlers - const onInit = () => { - console.log(EmbedEvent.Init, {}); - }; - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; - const onRouteChange = () => { - console.log(EmbedEvent.RouteChange, {}); - }; - return ( - - ); -}; ----- -//// - == Embed Spotter for conversation analytics To embed ThoughtSpot Spotter page with AI search experience and conversation analytics, use the `SpotterEmbed` component. @@ -502,17 +473,16 @@ To embed ThoughtSpot Spotter page with AI search experience and conversation ana In your React app project: -. Go to the **Components ** folder in your app directory and add a page for the embedded search object; for example, `spotter.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `spotter.tsx`. . Import the `SpotterEmbed` component. + [source,TypeScript] ---- -import { AuthType, init, Action } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, Action, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; import { SpotterEmbed, - useEmbedRef -} from "@thoughtspot/visual-embed-sdk/react'"; +} from "@thoughtspot/visual-embed-sdk/react"; ---- + If you are using Webpack 4, import the React components as shown in this example: @@ -520,8 +490,7 @@ If you are using Webpack 4, import the React components as shown in this example + [source,TypeScript] ---- -import { SpotterEmbed, - useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +import { SpotterEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; ---- . Initialize the SDK and specify the xref:embed-authentication.adoc[authentication method]. @@ -538,20 +507,20 @@ ts-data-app> npm start === Code sample The following code sample shows the following attributes and properties: -* A `SpotterEmbed` function with `worksheetId` prop to pass the ID of the data source object such as a Model. + +* A `Spotter` function with `worksheetId` prop to pass the ID of the data source object. ++ [NOTE] ==== Worksheets are deprecated and replaced by Models in ThoughtSpot Cloud 10.12.0.cl and later versions. ==== - * The `searchOptions` property to pass a search query string. -* Event handlers for `init` and `Load` Embed events. +* Event handlers for `Init` and `Load` Embed events. + [source,TypeScript] ---- -import { AuthType, init, Action } from "@thoughtspot/visual-embed-sdk"; -import { SpotterEmbed, useEmbedRef } from "@thoughtspot/visual-embed-sdk/react"; +import { AuthType, init, Action, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; +import { SpotterEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: @@ -562,12 +531,13 @@ init({ thoughtSpotHost: "https://your-thoughtspot-host", // Replace with your ThoughtSpot application URL authType: AuthType.None, // Use the appropriate AuthType for your setup }); -const SpotterEmbed = () => { + +const Spotter = () => { // Define search options const searchOptions = { - searchQuery: "sales by region" // Search query to execute + searchQuery: "sales by region", // Search query to execute }; - const worksheetId = "your-worksheet-id", // ID of the data source object (Model) to query data + const worksheetId = "your-worksheet-id"; // ID of the data source object (Model) to query data // Add Event handlers const onInit = () => { @@ -594,7 +564,7 @@ const SpotterEmbed = () => { For more information, see the following pages: -* xref:SpotterEmbedViewConfig.adoc[Spotter view configuration settings] +* xref:SpotterEmbedViewConfig.adoc[SpotterEmbed view configuration settings] * xref:EmbedEvent.adoc[EmbedEvent] * xref:Action.adoc[Actions] @@ -605,8 +575,7 @@ For more information, see the following pages: + [.widthAuto] [.bordered] -image::./images/converseEmbed-with-query.png[Conversation embed] - +image::./images/converseEmbed-with-query.png[Spotter embed] == Embed Spotter Agent in your own app @@ -616,7 +585,7 @@ To embed only the Spotter AI search component without additional features or Spo In your React app project: -. Go to the **Components * folder in your app directory and add a page for the embedded search object; for example, `SpotterAgent.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `SpotterAgent.tsx`. . Import the `SpotterAgentEmbed` component and `useSpotterAgent` React hook. + [source,TypeScript] @@ -682,6 +651,8 @@ ts-data-app> npm start ---- === Code sample + +[source,TypeScript] ---- import React, { useState } from "react"; import { init, AuthType, logout } from "@thoughtspot/visual-embed-sdk"; @@ -797,12 +768,12 @@ The following code sample shows additional attributes and properties: * A `Search` function with a data source ID. * The `searchOptions` property to construct a query string with `[quantity purchased] [region]` keywords and execute the search query. -* Event handlers for `init` and Load` events. +* Event handlers for `Init` and `Load` events. + [source,TypeScript] ---- -import { init } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), import @@ -831,8 +802,9 @@ const Search = () => { frameParams={{ height: 600, }} - dataSource={["cd252e5c-b552-49a8-821d-3eadaa049cca"]} + dataSource="cd252e5c-b552-49a8-821d-3eadaa049cca" searchOptions={searchOptions} + onInit={onInit} onLoad={onLoad} /> ); @@ -845,51 +817,6 @@ For more information about `SearchEmbed` objects and attributes, see the followi * xref:SearchViewConfig.adoc[SearchViewConfig] * xref:Action.adoc[Actions] -//// -+ -If you want to programmatically change the search query string, you can add a custom function; for example, `changeSearch`. You can assign this function to a button to programmatically update a search query. + -The following example defines the `changeSearch` function and adds an event handler to trigger a host app event when the query changes to `[sales] by [item type]`. - -+ -[source,TypeScript] ----- -const Search = () => { - const embedRef = useEmbedRef(); - // define a search token string to construct a search query - const searchOptions = { - searchTokenString: "[quantity purchased] [region]", - executeSearch: true, - }; - //Add a custom function to update the search query string and trigger an event when the query is changed - const changeSearch = () => { - embedRef.current.trigger(HostEvent.Search, { - searchQuery: "[sales] by [item type]", - dataSource: ["cd252e5c-b552-49a8-821d-3eadaa049cca"], - }); - }; - //add event handlers - const onQueryChanged = () => { - console.log(EmbedEvent.QueryChanged, {}); - }; - return ( -
- - -
- ); -}; ----- -//// - - === Test your app * Load your application. @@ -898,15 +825,6 @@ const Search = () => { [.bordered] image::./images/embed-search-react.png[] -//// -* Change the search query and check if the search tokens are replaced. -+ -[.bordered] -image::./images/search-query-changed.png[] - -* Check the console log to verify if the registered events are emitted. -//// - == Embed a Natural Language Search (Legacy interface) To embed ThoughtSpot Natural Language Search interface, complete the steps listed in the following sections. @@ -915,7 +833,7 @@ To embed ThoughtSpot Natural Language Search interface, complete the steps liste In your React app project: -. Go to the **Components ** folder in your app directory and add a page for the embedded search object; for example, `Sage.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `Sage.tsx`. . Import the `SageEmbed` component and event libraries. + [source,TypeScript] @@ -925,7 +843,7 @@ import { AuthType, init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed import { SageEmbed, useEmbedRef -} from "@thoughtspot/visual-embed-sdk/react'"; +} from "@thoughtspot/visual-embed-sdk/react"; ---- + If you are using Webpack 4, import the React components as shown in this example: @@ -952,12 +870,12 @@ The following code sample shows additional attributes and properties: * A `Sage` function with a data source ID. * The `searchOptions` property to pass a search query `number of jackets sold today` and execute the query. -* Event handlers for `init` and `Load` embed events. +* Event handlers for `Init` and `Load` embed events. + [source,TypeScript] ---- -import { init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed-sdk"; import { SageEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import @@ -969,14 +887,15 @@ init({ thoughtSpotHost: "<%=tshost%>", authType: AuthType.None, }); + const Sage = () => { - // Define search options + // It has been moved to a separate const declaration. const searchOptions = { - searchQuery: "number of jackets sold today", // Search query to execute - executeSearch: true, // Execute search immediately - }, - dataSource: "c8684f7f-d8a4-4bc9-b87d-115433c5e458", // Replace with your actual data source + searchQuery: "number of jackets sold today", // Search query to execute + executeSearch: true, // Execute search immediately }; + const dataSource = "c8684f7f-d8a4-4bc9-b87d-115433c5e458"; // Replace with your actual data source GUID + // Add Event handlers const onInit = () => { console.log(EmbedEvent.Init, {}); @@ -989,8 +908,9 @@ const Sage = () => { return ( Date: Tue, 12 May 2026 10:39:32 +0530 Subject: [PATCH 011/105] action ref toc --- modules/ROOT/pages/embed-action-ref.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 3de09b126..ad39bbca4 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -1,6 +1,6 @@ = Action IDs in the SDK :toc: true -:toclevels: 2 +:toclevels: 1 :page-title: Actions :page-pageid: actions From 334b8afd70cd2ee258d5145201c7aab614ea03a4 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 09:19:34 +0530 Subject: [PATCH 012/105] css fixes --- src/assets/styles/index.scss | 4 ++-- src/assets/styles/variables.scss | 2 +- src/components/LeftSidebar/index.scss | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss index 6bc712713..ad867b8ed 100644 --- a/src/assets/styles/index.scss +++ b/src/assets/styles/index.scss @@ -469,7 +469,7 @@ button { justify-content: space-between; margin: 10px; border-radius: 10px; - border: 1px solid var(--search-border-color); + border: 1px solid var(--border-color); &:hover { box-shadow: var(--box-shadow-hover); @@ -625,7 +625,7 @@ button { } .boxAuto { - border: 0.5px solid $disabledcolor; + border: 0.5px solid var(--border-color); height: auto; width: 100%; padding: 0 0 0 2px; diff --git a/src/assets/styles/variables.scss b/src/assets/styles/variables.scss index ed68be159..252d5b52d 100644 --- a/src/assets/styles/variables.scss +++ b/src/assets/styles/variables.scss @@ -321,7 +321,7 @@ $tag-color-light: $lightgrey; --note-block-color: #1e2430; --note-border-color: #74daff; --var-important-color: #e22b3d; - --var-important-border-color: #1e2430; + --important-border-color: #30363d; --important-block-color: #1e2430; --var-docmap-nested-color: #8b949e; --sidebar-connector-color: #30363d; diff --git a/src/components/LeftSidebar/index.scss b/src/components/LeftSidebar/index.scss index d976c54aa..f2ee4bc10 100644 --- a/src/components/LeftSidebar/index.scss +++ b/src/components/LeftSidebar/index.scss @@ -93,7 +93,7 @@ .aside { padding: 0 0 0 10px; width: 100%; - border-right: 1px solid var(--search-border-color); + border-right: 1px solid var(--border-color); left: $gutter; height: 100%; overflow-y: auto; From 30a9174db156364181822f112df32c8d8a4857b6 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 10:26:20 +0530 Subject: [PATCH 013/105] react embed example update --- modules/ROOT/pages/embed-action-ref.adoc | 193 ++++++----- modules/ROOT/pages/embed-ts-react-app.adoc | 370 ++++++++------------- 2 files changed, 237 insertions(+), 326 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 5fbf06799..3de09b126 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -20,7 +20,7 @@ The actions associated with the Liveboards are available in the Liveboard header |Action string in SDK | Required SDK library a|Action label in the UI |xref:Action.adoc#_addtofavorites[`Action.AddToFavorites`]| `LiveboardEmbed` + `AppEmbed` | The *Favorites* (star) icon on a Liveboard page. + - Allows adding a Liveboard to the user's favorites list. +Allows adding a Liveboard to the user's favorites list. |xref:Action.adoc#_aihighlights[`Action.AIHighlights`]|`LiveboardEmbed` + `AppEmbed` | The AI highlights button on a Liveboard page. + Displays quick insights on how top metrics changed in your Liveboard. + @@ -41,8 +41,9 @@ a| `LiveboardEmbed` + `AppEmbed` |The filter configuration options in the *Add Filters* modal. + Applies filters and allows configuring filters applied to a visualization on a Liveboard. -|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `SearchBarEmbed` + -`AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard + + +|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `LiveboardEmbed` + +`AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard. + Allows adding parameters to a Liveboard. |xref:Action.adoc#_addtab[`Action.AddTab`]|`LiveboardEmbed` + @@ -53,7 +54,8 @@ Allows adding a new tab to a Liveboard view. See also, xref:LiveboardViewConfig.adoc#_hideirrelevantchipsinliveboardtabs[hideIrrelevantChipsInLiveboardTabs]. |xref:Action.adoc#_disablechipreorder[`Action.DisableChipReorder`]|`LiveboardEmbed` + -`SearchEmbed` `AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. +`SearchEmbed` + +`AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. |xref:Action.adoc#_save[`Action.Save`]|`LiveboardEmbed` + `AppEmbed` | *Save* + @@ -69,12 +71,12 @@ Downloads the Liveboard as a PDF file. Presents a fullscreen Liveboard in the slideshow mode. |xref:Action.adoc#_schedule[`Action.Schedule`] xref:Action.adoc#_subscription[`Action.Subscription`]| `LiveboardEmbed` + -`AppEmbed` |**Schedule** + +`AppEmbed` |*Schedule* + Allows scheduling Liveboard notifications. + |xref:Action.adoc#_scheduleslist[`Action.SchedulesList`]| `LiveboardEmbed` + `AppEmbed` | *Manage schedules* + Allows you to manage scheduled Liveboard jobs. -Saves Liveboard modifications. |xref:Action.adoc#_liveboardinfo[`Action.LiveboardInfo`]|`LiveboardEmbed` + `AppEmbed` | *Show Liveboard details* + @@ -87,9 +89,9 @@ Displays information about the Liveboard. |xref:Action.adoc#_verifiedliveboard[`Action.VerifiedLiveboard`]| `LiveboardEmbed` + `AppEmbed` |The Liveboard verified banner text. + Indicates the Liveboard is verified. -See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge].| +See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge]. -xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + +|xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + `AppEmbed` | The Liveboard personalized views drop-down. + Available if personalized views are saved on the Liveboard. Allows switching between the saved personalized views of a Liveboard. @@ -98,16 +100,14 @@ Allows switching between the saved personalized views of a Liveboard. The *Approve* action visible to Liveboard verifiers. + Marks the Liveboard as approved. |xref:Action.adoc#_synctoslack[`Action.SyncToSlack`]| `LiveboardEmbed` + -`AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to third-party apps Slack. +`AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to Slack. |xref:Action.adoc#_synctoteams[`Action.SyncToTeams`]| `LiveboardEmbed` + -`AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to third-party apps Team. -//|xref:Action.adoc#_unsubscribeschedulehomepage[`Action.UnsubscribeScheduleHomepage`]|`LiveboardEmbed` + -//`AppEmbed` | Action ID to hide or disable the unsubscribe option for Liveboard schedules. +`AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to Microsoft Teams. |xref:Action.adoc#_tml[`Action.TML`]| `LiveboardEmbed` + -`AppEmbed` |Action ID for the Parent TML action The parent action *TML* must be included to access TML-related options within the cascading menu. -|xref:Action.adoc#_exporttml[`Action.ExportTML`]|`AppEmbed` + -`LiveboardEmbed`| *Export TML* + +`AppEmbed` | Action ID for the parent TML action. The parent action *TML* must be included to access TML-related options within the cascading menu. +|xref:Action.adoc#_exporttml[`Action.ExportTML`]|`LiveboardEmbed` + +`AppEmbed`| *Export TML* + Exports the TML representation of a Liveboard object from ThoughtSpot. The parent action *TML* must be included to access TML-related options within the cascading menu. |xref:Action.adoc#_updatetml[`Action.UpdateTML`]|`LiveboardEmbed` + `AppEmbed` | *Update Liveboard* + @@ -117,7 +117,6 @@ Allows importing the TML representation of a Liveboard object to ThoughtSpot. Th Allows editing the ThoughtSpot Modelling Language (TML) representation of a Liveboard object loaded on the ThoughtSpot server. The parent action *TML* must be included to access TML-related options within the cascading menu. |==== - [#liveboardv2-viz-actions] == Visualizations on a Liveboard The visualizations pinned to a Liveboard have the following types of actions: @@ -134,20 +133,18 @@ The following actions are available for ThoughtSpot visualizations **More** menu |=== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_askai[`Action.AskAi`]| `LiveboardEmbed` + -`AppEmbed` | The Spotter button on a visualization. -Available if Spotter is enabled on your instance. -Allow users to initiate a conversation with Spotter. +`AppEmbed` | The Spotter button on a visualization. + +Available if Spotter is enabled on your instance. + +Allows users to initiate a conversation with Spotter. |xref:Action.adoc#_explore[`Action.Explore`] a| `LiveboardEmbed` + `AppEmbed` |*Explore* + Allows users to explore a visualization. |xref:Action.adoc#_createmonitor[`Action.CreateMonitor`]| `LiveboardEmbed` + `AppEmbed` | Alert icon + Allows you to schedule threshold-based alerts for KPI charts. - |xref:Action.adoc#_pin[`Action.Pin`]|`LiveboardEmbed` + `AppEmbed`|*Pin* + Pins a visualization to a Liveboard. - |xref:Action.adoc#_download[`Action.Download`]|`LiveboardEmbed` + `AppEmbed` a|*Download* + The **Download** menu action to download a visualization as a CSV, PNG, PDF, or XLSX file. + @@ -157,20 +154,20 @@ If you are using Visual Embed SDK version 1.21.0 or later, note the following be * If using `visibleActions` to show or hide actions on a visualization or Answer, include the following action enumerations along with `Action.Download` in the array: + ** `Action.DownloadAsCsv` + -//** `Action.DownloadAsPdf` + +** `Action.DownloadAsPdf` + ** `Action.DownloadAsXlsx` + ** `Action.DownloadAsPng` |xref:Action.adoc#_downloadascsv[`Action.DownloadAsCsv`]|`LiveboardEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. -|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXLSX`]|`LiveboardEmbed` + +|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`LiveboardEmbed` + `AppEmbed`| *Download* > *XLSX* + -Downloads the answer data in the XLSX file. -//|xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`LiveboardEmbed` + -//`AppEmbed` |*Download* > *PDF* + -//Downloads the answer data as a PDF file. Available only for tables. +Downloads the answer data in the XLSX file format. +|xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`LiveboardEmbed` + +`AppEmbed` |*Download* > *PDF* + +Downloads the answer data as a PDF file. Available only for tables. |xref:Action.adoc#_downloadaspng[`Action.DownloadAsPng`]|`LiveboardEmbed` + `AppEmbed` |*Download* > *PNG* + Downloads the chart as a PNG file. Available only for charts. @@ -189,6 +186,11 @@ Allows creating a sync to send data to external business apps such as Slack, Sal |xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`LiveboardEmbed` + `AppEmbed`| The *Manage pipelines* action in the **More** actions menu. + Allows managing data sync pipelines to external business apps set as sync destinations in ThoughtSpot. +|xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + +`AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + +Displays the list of users who have access to the Liveboard. + +Use this action ID to hide the viewers panel in the Liveboard details view. + +Available in SDK 1.26.0 and ThoughtSpot 9.7.0.cl or later. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`] |`LiveboardEmbed` + `AppEmbed`| *Delete* + Deletes the visualization from the Liveboard. @@ -205,20 +207,19 @@ The following actions are available in the contextual menu of visualizations on `AppEmbed` | *Filter* action in the contextual menu on a visualization. + Applies filters across visualizations for brushing and linking data on a Liveboard. |xref:Action.adoc#_removecrossfilter[`Action.RemoveCrossFilter`]| `LiveboardEmbed` + -`AppEmbed` | *Remove filter* option contextual menu on a visualization. + +`AppEmbed` | *Remove filter* option in the contextual menu on a visualization. + Removes the cross-filters applied on a visualization. |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`LiveboardEmbed` + `AppEmbed`|*Drill down* + Allows drilling down on a data point in the visualization to get granular details. - -//|xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`LiveboardEmbed` + -//`AppEmbed`|*Exclude* + -//Allows you to exclude a specific data point on a search answer. -//|xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`LiveboardEmbed` + -//`AppEmbed` |*Include* + -//Allows you to include a specific data point on a search answer. +|xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`LiveboardEmbed` + +`AppEmbed`|*Exclude* + +Allows you to exclude a specific data point on a visualization. +|xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`LiveboardEmbed` + +`AppEmbed` |*Include* + +Allows you to include a specific data point on a visualization. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]| `LiveboardEmbed` + -`AppEmbed` | Chart switching toggle + +`AppEmbed` | Chart switching toggle. + Allows switching to the table or chart mode when editing a visualization. |xref:Action.adoc#_edittitle[`Action.EditTitle`]|`LiveboardEmbed` + `AppEmbed`|The visualization title edit icon. + @@ -226,12 +227,15 @@ Updates the title of the visualization. |xref:Action.adoc#_movetotab[`Action.MoveToTab`]|`LiveboardEmbed` + `AppEmbed`| The *Move to tab* action on a Liveboard in the edit mode. Allows moving a visualization to a different tab. |xref:Action.adoc#_spotiqanalyze[`Action.SpotIQAnalyze`]|`LiveboardEmbed` + -`AppEmbed`|**SpotIQ analyze** + +`AppEmbed`|*SpotIQ analyze* + Allows you to run SpotIQ analyses. |xref:Action.adoc#_showunderlyingdata[`Action.ShowUnderlyingData`] | `LiveboardEmbed` + `AppEmbed`| *Show underlying data* + Displays detailed information and raw data for a given visualization. +|xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`]| `LiveboardEmbed` + +`AppEmbed`|*Copy to clipboard* + +Copies the selected data point. Available as a contextual menu action for table data. |=== == Spotter @@ -242,19 +246,23 @@ The following action IDs are available for the Spotter component: |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_previewdataspotter[`Action.PreviewDataSpotter`] | `SpotterEmbed` + -`AppEmbed` |*Preview data* action on the Spotter conversation panel. +`AppEmbed` |*Preview data* action on the Spotter conversation panel. + Shows the underlying data used for Spotter queries. + |xref:Action.adoc#_resetspotterchat[`Action.ResetSpotterChat`] |`SpotterEmbed` + -`AppEmbed` | *Preview data* action on the Spotter conversation panel. -Shows the underlying data used for Spotter queries. +`AppEmbed` | The *Reset* button on the Spotter conversation panel. + +Clears the current Spotter conversation and starts a new session. + |xref:Action.adoc#_editpreviousprompt[`Action.EditPreviousPrompt`] |`SpotterEmbed` + -`AppEmbed` | The edit icon on the Spotter prompt panel. +`AppEmbed` | The edit icon on the Spotter prompt panel. + Allows editing the prompt sent to Spotter. -|xref:xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + -`AppEmbed` | The delete icon on the Spotter prompt panel. + +|xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + +`AppEmbed` | The delete icon on the Spotter prompt panel. + Allows deleting the prompt sent to Spotter. -|xref:xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + -`AppEmbed` | The Spotter feedback widget in the generated Answer. + +|xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + +`AppEmbed` | The Spotter feedback widget in the generated Answer. + Allows sending feedback about the response received from Spotter. |===== @@ -272,40 +280,40 @@ The following actions are available on saved Answers and the Answers generated b `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + -Allows selecting data sources to query data. + +`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + +Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`| *Create formula* option on the data panel of an Answer page + -Allows adding formulas to a search query. + +`AppEmbed`| *Create formula* option on the data panel of an Answer page. + +Allows adding formulas to a search query. |xref:Action.adoc#_addparameter[`Action.AddParameter`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed`| *Add Parameters* option in the data panel on a Search page + +`AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | Chart toggle icon + +`AppEmbed` | Chart toggle icon. + Allows switching to the table or chart mode. |xref:Action.adoc#_edit[`Action.Edit`]| `SpotterEmbed` + -`AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. -Opens a table or chart in the edit mode. +`AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. + +Opens a table or chart in the edit mode. |xref:Action.adoc#_pin[`Action.Pin`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | *Pin* action on the visualization generated from a Spotter query. +`AppEmbed` | *Pin* action on the visualization generated from a Spotter query. + Allows adding a visualization generated from Spotter to a Liveboard. |xref:Action.adoc#_save[`Action.Save`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + -`AppEmbed` | *Save* action on the visualization generated from a Spotter query -Saves the visualization generated from Spotter.| -xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + -`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + +`AppEmbed` | *Save* action on the visualization generated from a Spotter query. + +Saves the visualization generated from Spotter. +|xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + +`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + Allows sending feedback about the AI-generated Answer. |xref:Action.adoc#_editsageanswer[`Action.EditSageAnswer`]| `SageEmbed` + `AppEmbed` | Edit action for AI-generated Answer. @@ -324,16 +332,16 @@ Allows you to share an Answer with another user or group. `SageEmbed` + `SearchEmbed` + `AppEmbed` -a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page + +a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page. + * The *Query visualizer* button displays the tables and filters used in a search query. + -* The *Query SQL* button displays the SQL statements used in a search query to fetch data. + +* The *Query SQL* button displays the SQL statements used in a search query to fetch data. |xref:Action.adoc#_download[`Action.Download`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` a|*Download* + -The **Download** action to download the Answer data +The **Download** action to download the Answer data. If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Search, or full app experience, note the following behavior: + @@ -350,7 +358,8 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. -|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXLSX`]|`SpotterEmbed` + + +|xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` | @@ -371,13 +380,13 @@ Downloads the chart as a PNG file. Available only for charts. `SearchEmbed` + `AppEmbed`|*Show underlying data* + Displays detailed information and raw data for a given visualization. Available as a menu action in the *More* menu image:./images/icon-more-10px.png[the more options menu] and the contextual menu. -|xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|**Delete** + +|xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|*Delete* + Deletes the answer. |xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SageEmbed` + `SearchEmbed` + `AppEmbed`| The *Sync to sheets* action in the **More** actions menu. + -Allows creating a sync to send data to the Google Sheets app.| -xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + +Allows creating a sync to send data to the Google Sheets app. +|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + `SearchEmbed` + `AppEmbed`| The *Sync to other apps* action in the **More** actions menu. + Allows creating a sync to send data to external business apps such as Slack, Salesforce, and Microsoft Teams. @@ -389,9 +398,9 @@ Allows managing data sync pipelines to external business apps set as sync destin `SageEmbed` + `SearchEmbed` + `AppEmbed` | *Export TML* + -Exports the TML representation of an answer from ThoughtSpot.| +Exports the TML representation of an answer from ThoughtSpot. -xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + +|xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + Allows editing the TML representation of the answer object. This action is available on the saved answers page. |xref:Action.adoc#_importtml[`Action.ImportTML`]|`AppEmbed` | *Import TML* + Allows importing the TML representation of an answer into ThoughtSpot. This action is available on the saved answers page. @@ -441,15 +450,14 @@ The SDK provides the following Action enumerations for the contextual menu actio `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` + -| *Aggregate* option in the chart axis or the table column customization menu. +| *Aggregate* option in the chart axis or the table column customization menu. + Provides aggregation options to analyze the data on a chart or table. |xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + -`LiveboardEmbed` + | *Conditional formatting* menu option + +`LiveboardEmbed` | *Conditional formatting* menu option. + Allows adding rules for conditional formatting of data points on a chart or table. -| -xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + +|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + @@ -486,7 +494,7 @@ Removes the data labels from a chart or the column of a table visualization. `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Rename* option in the chart axis or table column customization menu. + -Renames axis label on a chart or the column header on a table +Renames axis label on a chart or the column header on a table. |xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]|`SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -512,9 +520,9 @@ The following actions are available on the *Liveboards* page in the full app emb [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -a|xref:Action.adoc#_share[`Action.Share`]|`AppEmbed` +| *Share* + +a|xref:Action.adoc#_share[`Action.Share`]|`AppEmbed` | *Share* + Allows sharing a Liveboard with another user or group. -a|xref:Action.adoc#_remove[`Action.Remove`]|`AppEmbed` +| *Delete* + +a|xref:Action.adoc#_remove[`Action.Remove`]|`AppEmbed` | *Delete* + Allows deleting a Liveboard. a|xref:Action.adoc#_createliveboard[`Action.CreateLiveboard`] a|`AppEmbed`| The *Create Liveboard* action on the Liveboards page. Allows users to create a Liveboard. a|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards page. @@ -530,12 +538,12 @@ The following actions are available on the *Search* page in the full app embedde [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` +|The Add Data Panel Objects action on the data panel v2. Allows to show action menu to add different objects (such as formulas, Parameters) in data panel new experience. -|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` +| The Collapse data panel icon on the Search page. Collapses the data panel view. -|xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` +|The *Add* *Formula* action allows adding formulas to an Answer. -|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` +| The *Add* *Parameter* action allows adding Parameters to an Answer. -|xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` +| The *Add Column Set* action allows adding column sets to an Answer. -|xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` +| The *Add Query Set* action allows adding query sets to an Answer. +|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The Add Data Panel Objects action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. +|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The Collapse data panel icon on the Search page. Collapses the data panel view. +|xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` |The *Add Formula* action allows adding formulas to an Answer. +|xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` | The *Add Parameter* action allows adding Parameters to an Answer. +|xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` | The *Add Column Set* action allows adding column sets to an Answer. +|xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` | The *Add Query Set* action allows adding query sets to an Answer. |=== @@ -551,7 +559,8 @@ The following actions are available on the *Answers* page in the full app embedd Allows sharing a saved Answer with another user or group. |xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* + Allows deleting an Answer. -|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards + +|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Answers page. |=== @@ -564,12 +573,12 @@ The following actions are available on the *Data* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* action on the *Data* > *Home* page. + Allows sharing a Model, Table, or View with another user or group. -|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages + +|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + Allows deleting a Model, Table, or View. -|xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page + +|xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page. + Allows exporting a Model, Table, or View as a TML file. -|xref:Action.adoc#_edittml[`Action.EditTML`] a| `AppEmbed` | *Edit TML* action on the *Data* > *Home* page + -Opens the TML Editor that allows you to modify the TML file of Model, Table, or View. +|xref:Action.adoc#_edittml[`Action.EditTML`] a| `AppEmbed` | *Edit TML* action on the *Data* > *Home* page. + +Opens the TML Editor that allows you to modify the TML file of a Model, Table, or View. |xref:Action.adoc#_importtml[`Action.ImportTML`] a| `AppEmbed` | The *Import TML* menu action imports the TML representation of ThoughtSpot objects. |=== @@ -583,9 +592,10 @@ The following actions are available on the *Home* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI a|xref:Action.adoc#_addtowatchlist[`Action.AddToWatchlist`] a| `AppEmbed` | The *Add KPI to Watchlist* action on Home page watchlist. + Adds a KPI chart to the watchlist on the Home page. -a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. Removes a KPI chart from the watchlist on the Home page. +a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. + +Removes a KPI chart from the watchlist on the Home page. a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. -|xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|**Copy link** + +|xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|*Copy link* + Allows users to copy a link from the *Watchlist* on the Homepage. a|xref:Action.adoc#_deleteschedulehomepage[`Action.DeleteScheduleHomepage`] a|`AppEmbed`| The *Delete* action on the Liveboard Schedules page. + Deletes a Liveboard schedule. @@ -593,9 +603,8 @@ a|xref:Action.adoc#_pauseschedulehomepage[`Action.PauseScheduleHomepage`] a|`App Pauses a scheduled Liveboard job. a|xref:Action.adoc#_unsubscribeschedulehomepage[`Action.UnsubscribeScheduleHomepage`] a|`AppEmbed`|*Unsubscribe* option for the alerts on the *Monitor Subscriptions* page. + Unsubscribes from alerts. -a|xref:Action.adoc#_viewschedulerunhomepage[`Action.ViewScheduleRunHomepage`] a|`AppEmbed`|The *View run history* action Liveboard Schedules page. Allows viewing schedule run history. -|xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* option for objects in the library + +a|xref:Action.adoc#_viewschedulerunhomepage[`Action.ViewScheduleRunHomepage`] a|`AppEmbed`|The *View run history* action on the Liveboard Schedules page. + +Allows viewing schedule run history. +|xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* option for objects in the library. + Allows sharing an object with another user. -|=== - - +|=== \ No newline at end of file diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index 3c893b47d..e81a02ab1 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -53,11 +53,10 @@ A functional React app may require link:https://reactjs.org/docs/hooks-reference === Verify localhost port setting -By default, React uses Port 3000 as a localhost port. Make sure you add `localhost:3000` as a xref:security-settings.adoc#csp-viz-embed-hosts[CSP visual embed host] in the **Security Settings **page of the **Develop **tab. +By default, React uses Port 3000 as a localhost port. Make sure you add `localhost:3000` as a xref:security-settings.adoc#csp-viz-embed-hosts[CSP visual embed host] in the **Security Settings** page of the **Develop** tab. If you want to use Port 8000 instead, xref:security-settings.adoc#csp-viz-embed-hosts[add it to the CSP allowlist] and update the following script in the `package.json` file in your app directory. - [source,JSON] ---- "scripts": { @@ -71,7 +70,7 @@ If you want to use Port 8000 instead, xref:security-settings.adoc#csp-viz-embed- === Install SDK Install the Visual Embed SDK from NPM. -+ + ---- npm install @thoughtspot/visual-embed-sdk ---- @@ -92,15 +91,16 @@ To embed a ThoughtSpot Liveboard, complete the following steps: === Create a Liveboard component -In your React app project, go to the **Components ** directory and add a new page for Liveboard in your app directory; for example, `liveboard.tsx`. +In your React app project, go to the **Components** directory and add a new page for Liveboard in your app directory; for example, `liveboard.tsx`. . Import the `LiveboardEmbed` component and event libraries: + -[source.Typescript] +[source,TypeScript] ---- import React from "react"; import { Action, + AuthType, init, EmbedEvent, HostEvent, @@ -130,16 +130,16 @@ ts-data-app> npm start === Code sample -The following code sample embeds a Liveboard, disables UI actions such as *Share* and **Delete**, sets specific visualization GUIDs as visible visualizations, and registers event handlers for `Init`,`Load`, `SetVisibleVizs`, `onLiveboardRendered`, and `VizPointDoubleClick`. +The following code sample embeds a Liveboard and registers event handlers for `Load` and `onLiveboardRendered`. On the `onLiveboardRendered` event, it triggers `SetVisibleVizs` to display specific visualizations. [source,TypeScript] ---- -import { init } from '@thoughtspot/visual-embed-sdk'; -import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/react'; +import { AuthType, init, EmbedEvent, HostEvent, RuntimeFilterOp } from '@thoughtspot/visual-embed-sdk'; +import { LiveboardEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/react'; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: -// import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +// import { LiveboardEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; init({ thoughtSpotHost: '<%=tshost%>', @@ -147,8 +147,8 @@ init({ }); const Liveboard = ({liveboardId}) => { - const ref = useEmbedRef(); - //apply runtime filters + const embedRef = useEmbedRef(); + //apply runtime filters const runtimeFilters = [ { columnName: "state", @@ -157,10 +157,10 @@ const Liveboard = ({liveboardId}) => { }, ]; const onLoad = () => { - console.log(EmbedEvent.Load, {}); + console.log(EmbedEvent.Load, {}); }; //Register an event handler to trigger the SetVisibleVizs event when the Liveboard is rendered - const onLiveboardRendered = () => { + const onLiveboardRendered = () => { embedRef.current.trigger(HostEvent.SetVisibleVizs, [ "3f84d633-e325-44b2-be25-c6650e5a49cf", "28b73b4a-1341-4535-ab71-f76b6fe7bf92", @@ -187,38 +187,6 @@ For more information about `LiveboardEmbed` object and properties, see the follo * xref:LiveboardViewConfig.adoc[LiveboardViewConfig] * xref:Action.adoc[Actions] - -//// -+ -The following example includes a `Liveboard` function with a Liveboard ID and registers an event handler for the `Init` and `Load` events. - -+ -[source,TypeScript] ----- -const Liveboard = () => { - //Register event handlers - const onInit = () => { - console.log(EmbedEvent.Init, {}); - }; - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; - return ( - - ); -}; ----- -//// - - === Test your app * Load the embedded Liveboard in your app. @@ -229,19 +197,20 @@ image::./images/liveboard-embed-react.png[] == Embed a visualization -To embed a ThoughtSpot Liveboard, complete the following steps: +To embed a ThoughtSpot visualization, complete the following steps: === Create a visualization component -In your React app project, go to the **Components ** folder in your app directory and add a new page for visualization; for example, `viz.tsx`. +In your React app project, go to the **Components** folder in your app directory and add a new page for visualization; for example, `viz.tsx`. . Import the `LiveboardEmbed` component and event libraries: + -[source.Typescript] +[source,TypeScript] ---- import React from "react"; import { Action, + AuthType, init, EmbedEvent, HostEvent, @@ -271,27 +240,26 @@ ts-data-app> npm start ---- === Code sample -The following example includes the `viz` function with the Liveboard and visualization GUIDs and registers event handlers for `Init` and `Load`. +The following example includes the `vizEmbed` function with the Liveboard and visualization GUIDs and registers an event handler for `Load`. [source,TypeScript] ---- -import { init } from '@thoughtspot/visual-embed-sdk'; +import { AuthType, init, EmbedEvent } from '@thoughtspot/visual-embed-sdk'; import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/react'; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: -import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +// import { LiveboardEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; init({ thoughtSpotHost: '<%=tshost%>', authType: AuthType.None, }); -const vizEmbed = ({liveboardId}) => { - const viz = ({ vizId }) => { - // Register event handlers - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; + +const VizEmbed = ({ liveboardId, vizId }) => { + // Register event handlers + const onLoad = () => { + console.log(EmbedEvent.Load, {}); }; return ( { }; ---- -For more information about visualization objects and its properties, see the following pages: +For more information about visualization objects and their properties, see the following pages: * xref:LiveboardEmbed.adoc[LiveboardEmbed] * xref:LiveboardViewConfig.adoc[LiveboardViewConfig] @@ -319,69 +287,107 @@ For more information about visualization objects and its properties, see the fol + [.bordered] image::./images/viz-embed-react.png[] -* Check if the registered events are emitted and logged in the console. -//// -=== Visualization embed code sample +== Embed a saved answer + +To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `savedAnswerGuid` property. -The following code sample embeds a visualization with runtime filters applied, disables UI actions such as *Share* and **Pin**, and registers event handlers to log `Init`, `Load`, and custom action events in the console. +=== Create a saved answer component +In your React app project, go to the **Components** folder in your app directory and add a new page for the saved answer; for example, `savedAnswer.tsx`. + +. Import the `SearchEmbed` component and event libraries: ++ [source,TypeScript] ---- -const viz= () => { - //apply runtime filters - const runtimeFilters = [ - { - columnName: "state", - operator: RuntimeFilterOp.EQ, - values: ["michigan"], - }, - ]; - - // Register event handlers +import React from "react"; +import { + Action, + AuthType, + init, + EmbedEvent, +} from "@thoughtspot/visual-embed-sdk"; +import { SearchEmbed, useEmbedRef } from "@thoughtspot/visual-embed-sdk/react"; +---- ++ +If you are using Webpack 4, import the React components as shown in this example: + ++ +[source,TypeScript] +---- +import { SearchEmbed, useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +---- +. Initialize the SDK and specify the xref:embed-authentication.adoc[authentication method]. +. Add constructor options as props. +.. For Embed events, use the `on` convention. +.. For Host events, use the `trigger(HostEvent.)` method. ++ +For more information, see xref:EmbedEvent.adoc[EmbedEvent] and xref:HostEvent.adoc[HostEvent]. + +. Render the app. ++ +---- +ts-data-app> npm start +---- + +=== Code sample + +The following code sample embeds a saved answer using its GUID and registers event handlers for `Init` and `Load`. + +[source,TypeScript] +---- +import { AuthType, init, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; +import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/react"; + +// If you are using Webpack 4 (which is the default when using create-react-app v4), import +// the React components using the below: +// import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/lib/src/react"; + +init({ + thoughtSpotHost: "<%=tshost%>", + authType: AuthType.None, +}); + +const SavedAnswer = () => { const onInit = () => { console.log(EmbedEvent.Init, {}); }; - const onLoad = () => { console.log(EmbedEvent.Load, {}); }; - - //If a custom action is added, register a custom action event to log data in the console - const onCustomAction = (payload) => { - const data = payload.data; - if (data.id === "insert Custom Action ID here") { - console.log("Custom Action event:", data.embedAnswerData); - } - }; - return ( - ); }; ---- -//// +For more information about `SearchEmbed` objects and attributes, see the following pages: + +* xref:SearchEmbed.adoc[SearchEmbed] +* xref:SearchViewConfig.adoc[SearchViewConfig] +* xref:Action.adoc[Actions] + +=== Test your app + +* Load your application. +* Check if the saved answer is rendered with the chart or table from the saved query. +* Check if the registered events are triggered and logged in the console. == Embed full app -To full ThoughtSpot application, complete the following steps: +To embed the full ThoughtSpot application, complete the following steps: === Create a full app component -In your React app project, go to the **Components ** folder in your app directory and add a new page for full application embed: for example, `fullApp.tsx`. +In your React app project, go to the **Components** folder in your app directory and add a new page for full application embed: for example, `fullApp.tsx`. . Import the `AppEmbed` component and event libraries: + @@ -447,7 +453,7 @@ const FullApp = () => { For a complete list of `AppEmbed` attributes and events, see the following pages: * xref:AppEmbed.adoc[AppEmbed] -* xref:AppViewConfig.adoc[LiveboardViewConfig] +* xref:AppViewConfig.adoc[AppViewConfig] * xref:Action.adoc[Actions] === Test your app @@ -460,41 +466,6 @@ image::./images/full-app-react.png[] * Check if the registered events are emitted. -//// -=== Full app embed code sample - -The following code sample embeds the full application experience, sets the `Liveboards` page as the default home page, disables *Edit* and *Present* actions on Liveboard visualizations, and registers event handlers for `Init`, `Load`, and `RouteChange` events. - -[source,TypeScript] ----- -const FullApp = () => { - // Register event handlers - const onInit = () => { - console.log(EmbedEvent.Init, {}); - }; - const onLoad = () => { - console.log(EmbedEvent.Load, {}); - }; - const onRouteChange = () => { - console.log(EmbedEvent.RouteChange, {}); - }; - return ( - - ); -}; ----- -//// - == Embed Spotter for conversation analytics To embed ThoughtSpot Spotter page with AI search experience and conversation analytics, use the `SpotterEmbed` component. @@ -502,17 +473,16 @@ To embed ThoughtSpot Spotter page with AI search experience and conversation ana In your React app project: -. Go to the **Components ** folder in your app directory and add a page for the embedded search object; for example, `spotter.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `spotter.tsx`. . Import the `SpotterEmbed` component. + [source,TypeScript] ---- -import { AuthType, init, Action } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, Action, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; import { SpotterEmbed, - useEmbedRef -} from "@thoughtspot/visual-embed-sdk/react'"; +} from "@thoughtspot/visual-embed-sdk/react"; ---- + If you are using Webpack 4, import the React components as shown in this example: @@ -520,8 +490,7 @@ If you are using Webpack 4, import the React components as shown in this example + [source,TypeScript] ---- -import { SpotterEmbed, - useEmbedRef } from '@thoughtspot/visual-embed-sdk/lib/src/react'; +import { SpotterEmbed } from '@thoughtspot/visual-embed-sdk/lib/src/react'; ---- . Initialize the SDK and specify the xref:embed-authentication.adoc[authentication method]. @@ -538,20 +507,20 @@ ts-data-app> npm start === Code sample The following code sample shows the following attributes and properties: -* A `SpotterEmbed` function with `worksheetId` prop to pass the ID of the data source object such as a Model. + +* A `Spotter` function with `worksheetId` prop to pass the ID of the data source object. ++ [NOTE] ==== Worksheets are deprecated and replaced by Models in ThoughtSpot Cloud 10.12.0.cl and later versions. ==== - * The `searchOptions` property to pass a search query string. -* Event handlers for `init` and `Load` Embed events. +* Event handlers for `Init` and `Load` Embed events. + [source,TypeScript] ---- -import { AuthType, init, Action } from "@thoughtspot/visual-embed-sdk"; -import { SpotterEmbed, useEmbedRef } from "@thoughtspot/visual-embed-sdk/react"; +import { AuthType, init, Action, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; +import { SpotterEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import // the React components using the below: @@ -562,12 +531,13 @@ init({ thoughtSpotHost: "https://your-thoughtspot-host", // Replace with your ThoughtSpot application URL authType: AuthType.None, // Use the appropriate AuthType for your setup }); -const SpotterEmbed = () => { + +const Spotter = () => { // Define search options const searchOptions = { - searchQuery: "sales by region" // Search query to execute + searchQuery: "sales by region", // Search query to execute }; - const worksheetId = "your-worksheet-id", // ID of the data source object (Model) to query data + const worksheetId = "your-worksheet-id"; // ID of the data source object (Model) to query data // Add Event handlers const onInit = () => { @@ -594,7 +564,7 @@ const SpotterEmbed = () => { For more information, see the following pages: -* xref:SpotterEmbedViewConfig.adoc[Spotter view configuration settings] +* xref:SpotterEmbedViewConfig.adoc[SpotterEmbed view configuration settings] * xref:EmbedEvent.adoc[EmbedEvent] * xref:Action.adoc[Actions] @@ -605,8 +575,7 @@ For more information, see the following pages: + [.widthAuto] [.bordered] -image::./images/converseEmbed-with-query.png[Conversation embed] - +image::./images/converseEmbed-with-query.png[Spotter embed] == Embed Spotter Agent in your own app @@ -616,7 +585,7 @@ To embed only the Spotter AI search component without additional features or Spo In your React app project: -. Go to the **Components * folder in your app directory and add a page for the embedded search object; for example, `SpotterAgent.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `SpotterAgent.tsx`. . Import the `SpotterAgentEmbed` component and `useSpotterAgent` React hook. + [source,TypeScript] @@ -682,6 +651,8 @@ ts-data-app> npm start ---- === Code sample + +[source,TypeScript] ---- import React, { useState } from "react"; import { init, AuthType, logout } from "@thoughtspot/visual-embed-sdk"; @@ -797,12 +768,12 @@ The following code sample shows additional attributes and properties: * A `Search` function with a data source ID. * The `searchOptions` property to construct a query string with `[quantity purchased] [region]` keywords and execute the search query. -* Event handlers for `init` and Load` events. +* Event handlers for `Init` and `Load` events. + [source,TypeScript] ---- -import { init } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, EmbedEvent } from "@thoughtspot/visual-embed-sdk"; import { SearchEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), import @@ -831,8 +802,9 @@ const Search = () => { frameParams={{ height: 600, }} - dataSource={["cd252e5c-b552-49a8-821d-3eadaa049cca"]} + dataSource="cd252e5c-b552-49a8-821d-3eadaa049cca" searchOptions={searchOptions} + onInit={onInit} onLoad={onLoad} /> ); @@ -845,51 +817,6 @@ For more information about `SearchEmbed` objects and attributes, see the followi * xref:SearchViewConfig.adoc[SearchViewConfig] * xref:Action.adoc[Actions] -//// -+ -If you want to programmatically change the search query string, you can add a custom function; for example, `changeSearch`. You can assign this function to a button to programmatically update a search query. + -The following example defines the `changeSearch` function and adds an event handler to trigger a host app event when the query changes to `[sales] by [item type]`. - -+ -[source,TypeScript] ----- -const Search = () => { - const embedRef = useEmbedRef(); - // define a search token string to construct a search query - const searchOptions = { - searchTokenString: "[quantity purchased] [region]", - executeSearch: true, - }; - //Add a custom function to update the search query string and trigger an event when the query is changed - const changeSearch = () => { - embedRef.current.trigger(HostEvent.Search, { - searchQuery: "[sales] by [item type]", - dataSource: ["cd252e5c-b552-49a8-821d-3eadaa049cca"], - }); - }; - //add event handlers - const onQueryChanged = () => { - console.log(EmbedEvent.QueryChanged, {}); - }; - return ( -
- - -
- ); -}; ----- -//// - - === Test your app * Load your application. @@ -898,15 +825,6 @@ const Search = () => { [.bordered] image::./images/embed-search-react.png[] -//// -* Change the search query and check if the search tokens are replaced. -+ -[.bordered] -image::./images/search-query-changed.png[] - -* Check the console log to verify if the registered events are emitted. -//// - == Embed a Natural Language Search (Legacy interface) To embed ThoughtSpot Natural Language Search interface, complete the steps listed in the following sections. @@ -915,7 +833,7 @@ To embed ThoughtSpot Natural Language Search interface, complete the steps liste In your React app project: -. Go to the **Components ** folder in your app directory and add a page for the embedded search object; for example, `Sage.tsx`. +. Go to the **Components** folder in your app directory and add a page for the embedded search object; for example, `Sage.tsx`. . Import the `SageEmbed` component and event libraries. + [source,TypeScript] @@ -925,7 +843,7 @@ import { AuthType, init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed import { SageEmbed, useEmbedRef -} from "@thoughtspot/visual-embed-sdk/react'"; +} from "@thoughtspot/visual-embed-sdk/react"; ---- + If you are using Webpack 4, import the React components as shown in this example: @@ -952,12 +870,12 @@ The following code sample shows additional attributes and properties: * A `Sage` function with a data source ID. * The `searchOptions` property to pass a search query `number of jackets sold today` and execute the query. -* Event handlers for `init` and `Load` embed events. +* Event handlers for `Init` and `Load` embed events. + [source,TypeScript] ---- -import { init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed-sdk"; +import { AuthType, init, EmbedEvent, HostEvent } from "@thoughtspot/visual-embed-sdk"; import { SageEmbed } from "@thoughtspot/visual-embed-sdk/react"; // If you are using Webpack 4 (which is the default when using create-react-app v4), you would need to import @@ -969,14 +887,15 @@ init({ thoughtSpotHost: "<%=tshost%>", authType: AuthType.None, }); + const Sage = () => { - // Define search options + // It has been moved to a separate const declaration. const searchOptions = { - searchQuery: "number of jackets sold today", // Search query to execute - executeSearch: true, // Execute search immediately - }, - dataSource: "c8684f7f-d8a4-4bc9-b87d-115433c5e458", // Replace with your actual data source + searchQuery: "number of jackets sold today", // Search query to execute + executeSearch: true, // Execute search immediately }; + const dataSource = "c8684f7f-d8a4-4bc9-b87d-115433c5e458"; // Replace with your actual data source GUID + // Add Event handlers const onInit = () => { console.log(EmbedEvent.Init, {}); @@ -989,8 +908,9 @@ const Sage = () => { return ( Date: Tue, 12 May 2026 10:39:32 +0530 Subject: [PATCH 014/105] action ref toc --- modules/ROOT/pages/embed-action-ref.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 3de09b126..ad39bbca4 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -1,6 +1,6 @@ = Action IDs in the SDK :toc: true -:toclevels: 2 +:toclevels: 1 :page-title: Actions :page-pageid: actions From 7007c432e6df87e0384a45ccecaddc40d834f3f5 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 11:02:47 +0530 Subject: [PATCH 015/105] action ref list udpate --- modules/ROOT/pages/embed-action-ref.adoc | 171 +++++++++++++++++------ 1 file changed, 130 insertions(+), 41 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index ad39bbca4..089894a62 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -22,7 +22,7 @@ The actions associated with the Liveboards are available in the Liveboard header `AppEmbed` | The *Favorites* (star) icon on a Liveboard page. + Allows adding a Liveboard to the user's favorites list. |xref:Action.adoc#_aihighlights[`Action.AIHighlights`]|`LiveboardEmbed` + -`AppEmbed` | The AI highlights button on a Liveboard page. + +`AppEmbed` | The AI highlights button on a Liveboard page. + Displays quick insights on how top metrics changed in your Liveboard. + To enable *AI Highlights*, ensure that the link:https://docs.thoughtspot.com/cloud/latest/time-series-anomaly[KPI anomaly detection, window=_blank] feature is enabled on your instance. |xref:Action.adoc#_share[`Action.Share`]| `LiveboardEmbed` + @@ -41,31 +41,41 @@ a| `LiveboardEmbed` + `AppEmbed` |The filter configuration options in the *Add Filters* modal. + Applies filters and allows configuring filters applied to a visualization on a Liveboard. - |xref:Action.adoc#_addparameter[`Action.AddParameter`]| `LiveboardEmbed` + `AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard. + Allows adding parameters to a Liveboard. - |xref:Action.adoc#_addtab[`Action.AddTab`]|`LiveboardEmbed` + `AppEmbed` | The *Add Tab* action on a Liveboard. + Allows adding a new tab to a Liveboard view. |xref:Action.adoc#_changefiltervisibilityintab[`Action.ChangeFilterVisibilityInTab`]|`LiveboardEmbed` + `AppEmbed` | Action ID to disable or hide the filter visibility on Liveboard tabs. Applicable if link:https://docs.thoughtspot.com/cloud/latest/liveboard-filters#_apply_filters_to_specific_visualizations_or_tabs[the filter visibility on tabs, window=_blank] feature is enabled on your instance. + See also, xref:LiveboardViewConfig.adoc#_hideirrelevantchipsinliveboardtabs[hideIrrelevantChipsInLiveboardTabs]. - |xref:Action.adoc#_disablechipreorder[`Action.DisableChipReorder`]|`LiveboardEmbed` + `SearchEmbed` + `AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. - |xref:Action.adoc#_save[`Action.Save`]|`LiveboardEmbed` + `AppEmbed` | *Save* + Saves Liveboard modifications. |xref:Action.adoc#_makeacopy[`Action.MakeACopy`] | `LiveboardEmbed` + `AppEmbed`| *Make a copy* + -Creates a copy of the Liveboard. +Creates a copy of the Liveboard. In `LiveboardEmbed`, the *Make a copy* action is not available for visualizations in the embedded Liveboard view. In `AppEmbed`, the action is available on both Liveboards and visualizations. |xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`] | `LiveboardEmbed` + `AppEmbed`|*Download as PDF* + Downloads the Liveboard as a PDF file. +|xref:Action.adoc#_downloadliveboard[`Action.DownloadLiveboard`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard* + +Downloads the entire Liveboard. +|xref:Action.adoc#_downloadliveboardascontinuouspdf[`Action.DownloadLiveboardAsContinuousPDF`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as Continuous PDF* + +Downloads the entire Liveboard as a continuous PDF file. +|xref:Action.adoc#_downloadliveboardascsv[`Action.DownloadLiveboardAsCsv`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as CSV* + +Downloads the entire Liveboard as a CSV file. +|xref:Action.adoc#_downloadliveboardasxlsx[`Action.DownloadLiveboardAsXlsx`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as XLSX* + +Downloads the entire Liveboard as an XLSX file. +|xref:Action.adoc#_coverandfilteroptioninpdf[`Action.CoverAndFilterOptionInPDF`] | `LiveboardEmbed` + +`AppEmbed` | Action ID to hide the checkboxes for including or excluding cover and filter pages in the Liveboard PDF download dialog. |xref:Action.adoc#_present[`Action.Present`]| `LiveboardEmbed` + `AppEmbed` | *Present* + Presents a fullscreen Liveboard in the slideshow mode. @@ -73,37 +83,69 @@ Presents a fullscreen Liveboard in the slideshow mode. xref:Action.adoc#_subscription[`Action.Subscription`]| `LiveboardEmbed` + `AppEmbed` |*Schedule* + Allows scheduling Liveboard notifications. - |xref:Action.adoc#_scheduleslist[`Action.SchedulesList`]| `LiveboardEmbed` + `AppEmbed` | *Manage schedules* + Allows you to manage scheduled Liveboard jobs. - |xref:Action.adoc#_liveboardinfo[`Action.LiveboardInfo`]|`LiveboardEmbed` + `AppEmbed` | *Show Liveboard details* + Displays information about the Liveboard. - +|xref:Action.adoc#_liveboardstylepanel[`Action.LiveboardStylePanel`] | `LiveboardEmbed` + +`AppEmbed` | The *Style panel* on a Liveboard. + +Controls the visibility of the Liveboard style panel. |xref:Action.adoc#_renamemodaltitledescription[`Action.RenameModalTitleDescription`]|`LiveboardEmbed` + `AppEmbed` | The *Rename* menu action on Liveboards. Allows editing the name of the Liveboard. |xref:Action.adoc#_requestverification[`Action.RequestVerification`]|`LiveboardEmbed` + `AppEmbed` | The *Request verification* menu action on Liveboards. Initiates a request for Liveboard verification. |xref:Action.adoc#_verifiedliveboard[`Action.VerifiedLiveboard`]| `LiveboardEmbed` + `AppEmbed` |The Liveboard verified banner text. + -Indicates the Liveboard is verified. +Indicates the Liveboard is verified. + See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge]. - |xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + `AppEmbed` | The Liveboard personalized views drop-down. + -Available if personalized views are saved on the Liveboard. +Available if personalized views are saved on the Liveboard. + +Allows switching between the saved personalized views of a Liveboard. + +[NOTE] +==== +This action is deprecated. Use `Action.PersonalizedViewsDropdown` instead. +==== +|xref:Action.adoc#_personalizedviewsdropdown[`Action.PersonalizedViewsDropdown`]| `LiveboardEmbed` + +`AppEmbed` | The Liveboard personalized views drop-down. + Allows switching between the saved personalized views of a Liveboard. |xref:Action.adoc#_markasverified[`Action.MarkAsVerified`] |`LiveboardEmbed` + -`AppEmbed` | -The *Approve* action visible to Liveboard verifiers. + +`AppEmbed` | The *Approve* action visible to Liveboard verifiers. + Marks the Liveboard as approved. +|xref:Action.adoc#_managemonitor[`Action.ManageMonitor`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Alerts* menu action on KPI visualizations. + +Allows creating, viewing, and editing monitor alerts for a KPI chart. +|xref:Action.adoc#_creategroup[`Action.CreateGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Create Group* menu action on a Liveboard. + +Allows creating a new visualization group on a Liveboard. +|xref:Action.adoc#_movetogroup[`Action.MoveToGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Move to Group* menu action on a Liveboard. + +Allows moving a visualization to a different group. +|xref:Action.adoc#_moveoutofgroup[`Action.MoveOutOfGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Move out of Group* menu action on a Liveboard. + +Allows moving a visualization out of a group. +|xref:Action.adoc#_ungroupliveboardgroup[`Action.UngroupLiveboardGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Ungroup* menu action on a Liveboard group. + +Allows ungrouping a Liveboard visualization group. +|xref:Action.adoc#_publish[`Action.Publish`]| `LiveboardEmbed` + +`AppEmbed` | The *Publish* action for Liveboards. + +Opens the publishing modal. Acts as a parent action for *Manage Publishing* and *Unpublish* if the object is already published. +|xref:Action.adoc#_managepublishing[`Action.ManagePublishing`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Publishing* action for Liveboards. + +Opens the publishing modal. Appears as a child action to *Publish* if the object is already published. +|xref:Action.adoc#_unpublish[`Action.Unpublish`]| `LiveboardEmbed` + +`AppEmbed` | The *Unpublish* action for Liveboards. + +Appears as a child action to *Publish* if the object is already published. |xref:Action.adoc#_synctoslack[`Action.SyncToSlack`]| `LiveboardEmbed` + `AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to Slack. |xref:Action.adoc#_synctoteams[`Action.SyncToTeams`]| `LiveboardEmbed` + `AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to Microsoft Teams. - +|xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + +`AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + +Displays the list of users who have access to the Liveboard. + +Use this action ID to hide the viewers panel in the Liveboard details view. |xref:Action.adoc#_tml[`Action.TML`]| `LiveboardEmbed` + `AppEmbed` | Action ID for the parent TML action. The parent action *TML* must be included to access TML-related options within the cascading menu. |xref:Action.adoc#_exporttml[`Action.ExportTML`]|`LiveboardEmbed` + @@ -117,6 +159,7 @@ Allows importing the TML representation of a Liveboard object to ThoughtSpot. Th Allows editing the ThoughtSpot Modelling Language (TML) representation of a Liveboard object loaded on the ThoughtSpot server. The parent action *TML* must be included to access TML-related options within the cascading menu. |==== + [#liveboardv2-viz-actions] == Visualizations on a Liveboard The visualizations pinned to a Liveboard have the following types of actions: @@ -140,8 +183,18 @@ Allows users to initiate a conversation with Spotter. `AppEmbed` |*Explore* + Allows users to explore a visualization. |xref:Action.adoc#_createmonitor[`Action.CreateMonitor`]| `LiveboardEmbed` + -`AppEmbed` | Alert icon + +`AppEmbed` | The *Create alert* icon on KPI charts. + Allows you to schedule threshold-based alerts for KPI charts. +|xref:Action.adoc#_managemonitor[`Action.ManageMonitor`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Alerts* menu action on KPI visualizations. + +Allows creating, viewing, and editing monitor alerts for a KPI chart. +|xref:Action.adoc#_kpianalysiscta[`Action.KPIAnalysisCTA`]| `LiveboardEmbed` + +`AppEmbed` | The *Analyze* call-to-action button on KPI charts. + +Allows initiating KPI analysis directly from the chart. +|xref:Action.adoc#_enablecontextualchangeanalysis[`Action.EnableContextualChangeAnalysis`]| `LiveboardEmbed` + +`AppEmbed` | Initiates contextual change analysis on KPI charts. +|xref:Action.adoc#_enableiterativechangeanalysis[`Action.EnableIterativeChangeAnalysis`]| `LiveboardEmbed` + +`AppEmbed` | Action ID to hide or disable the Iterative Change Analysis option in the contextual change analysis insight charts context menu. |xref:Action.adoc#_pin[`Action.Pin`]|`LiveboardEmbed` + `AppEmbed`|*Pin* + Pins a visualization to a Liveboard. @@ -189,8 +242,7 @@ Allows managing data sync pipelines to external business apps set as sync destin |xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + `AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + Displays the list of users who have access to the Liveboard. + -Use this action ID to hide the viewers panel in the Liveboard details view. + -Available in SDK 1.26.0 and ThoughtSpot 9.7.0.cl or later. +Use this action ID to hide the viewers panel in the Liveboard details view. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`] |`LiveboardEmbed` + `AppEmbed`| *Delete* + Deletes the visualization from the Liveboard. @@ -248,22 +300,56 @@ The following action IDs are available for the Spotter component: |xref:Action.adoc#_previewdataspotter[`Action.PreviewDataSpotter`] | `SpotterEmbed` + `AppEmbed` |*Preview data* action on the Spotter conversation panel. + Shows the underlying data used for Spotter queries. - |xref:Action.adoc#_resetspotterchat[`Action.ResetSpotterChat`] |`SpotterEmbed` + `AppEmbed` | The *Reset* button on the Spotter conversation panel. + Clears the current Spotter conversation and starts a new session. - |xref:Action.adoc#_editpreviousprompt[`Action.EditPreviousPrompt`] |`SpotterEmbed` + `AppEmbed` | The edit icon on the Spotter prompt panel. + Allows editing the prompt sent to Spotter. - |xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + `AppEmbed` | The delete icon on the Spotter prompt panel. + Allows deleting the prompt sent to Spotter. - |xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + `AppEmbed` | The Spotter feedback widget in the generated Answer. + Allows sending feedback about the response received from Spotter. +|xref:Action.adoc#_edittokens[`Action.EditTokens`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide or disable editing tokens generated from Spotter results. +|xref:Action.adoc#_datamodelinstructions[`Action.DataModelInstructions`] |`SpotterEmbed` + +`AppEmbed` | The *Data model instructions* button on the Spotter interface. + +Allows opening the data model instructions modal. +|xref:Action.adoc#_inconversationtraining[`Action.InConversationTraining`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide or disable the *Add to Coaching* workflow in Spotter conversations. + +The *Add to Coaching* feature allows adding reference questions and business terms to improve Spotter's responses. This feature is GA from ThoughtSpot 26.2.0.cl and enabled by default on embed deployments. +|xref:Action.adoc#_spotterwarningsbanner[`Action.SpotterWarningsBanner`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide the warnings banner in Spotter results. +|xref:Action.adoc#_spotterwarningsontokens[`Action.SpotterWarningsOnTokens`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide the warnings border on the knowledge card in Spotter results. +|xref:Action.adoc#_spottertokenquickedit[`Action.SpotterTokenQuickEdit`] |`SpotterEmbed` + +`AppEmbed` | Action ID to disable the click event handler on knowledge cards in Spotter results. +|xref:Action.adoc#_spotternewchat[`Action.SpotterNewChat`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *New Chat* button in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterpastchatbanner[`Action.SpotterPastChatBanner`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the past conversation banner alert in the Spotter interface. +|xref:Action.adoc#_spottersidebarheader[`Action.SpotterSidebarHeader`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the sidebar header (title and toggle button) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spottersidebarfooter[`Action.SpotterSidebarFooter`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the sidebar footer (documentation link) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spottersidebartoggle[`Action.SpotterSidebarToggle`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the sidebar toggle/expand button in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterchatmenu[`Action.SpotterChatMenu`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the conversation edit menu (three-dot menu) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterchatrename[`Action.SpotterChatRename`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *Rename* action in the Spotter conversation edit menu. +|xref:Action.adoc#_spotterchatdelete[`Action.SpotterChatDelete`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *Delete* action in the Spotter conversation edit menu. +|xref:Action.adoc#_spotterdocs[`Action.SpotterDocs`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the documentation/best practices link in the Spotter sidebar footer. +|xref:Action.adoc#_spotterchatconnectors[`Action.SpotterChatConnectors`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the connectors in the Spotter chat interface. +|xref:Action.adoc#_spotterchatconnectorresources[`Action.SpotterChatConnectorResources`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the connector resources section in the Spotter chat interface. +|xref:Action.adoc#_spotterchatmodeswitcher[`Action.SpotterChatModeSwitcher`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the mode switcher in the Spotter chat interface. |===== For information about the action IDs available for Answers generated from Spotter (`SpotterEmbed`), see xref:embed-action-ref#answer-actions[Answers]. @@ -280,7 +366,7 @@ The following actions are available on saved Answers and the Answers generated b `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + +`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + `SageEmbed` + @@ -293,7 +379,6 @@ Allows adding formulas to a search query. `SearchEmbed` + `AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. - |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -327,7 +412,6 @@ Allows generating SpotIQ analyses. Available as a primary button and contextual `SageEmbed` + `AppEmbed`|*Share* + Allows you to share an Answer with another user or group. - |xref:Action.adoc#_querydetailsbuttons[`Action.QueryDetailsButtons`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -358,7 +442,6 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. - |xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -399,7 +482,6 @@ Allows managing data sync pipelines to external business apps set as sync destin `SearchEmbed` + `AppEmbed` | *Export TML* + Exports the TML representation of an answer from ThoughtSpot. - |xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + Allows editing the TML representation of the answer object. This action is available on the saved answers page. |xref:Action.adoc#_importtml[`Action.ImportTML`]|`AppEmbed` | *Import TML* + @@ -424,13 +506,11 @@ Allows you to exclude a specific data point when drilling down on an Answer. `SearchEmbed` + `AppEmbed` |*Include* + Allows you to include a specific data point during drill down on an Answer. - |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` |*Drill down* + Allows you to drill down the data for additional details and granular information. Available as a contextual menu action. - |xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`] |`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -462,19 +542,16 @@ Allows adding rules for conditional formatting of data points on a chart or tabl `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + Allows editing the axis name, position, minimum and maximum values and format a column. - |xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Filter* action in the chart axis or table column customization menu. + Allows adding, editing, or removing filters. - |xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Group* option in the chart axis or table column customization menu. + Allows grouping data points if the axes use the same unit of measurement and a similar scale. - |xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -489,7 +566,6 @@ Allows changing the position of the axis to the left or right side of the chart. `SearchEmbed` + `LiveboardEmbed` | *Remove* in the chart axis or table column customization menu. + Removes the data labels from a chart or the column of a table visualization. - |xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -509,6 +585,16 @@ Wraps or clips column text on a table. `SearchEmbed` + `LiveboardEmbed` | *Time bucket* option in the chart axis or table column customization menu. + Allows defining time metric for date comparison. +|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `SageEmbed` + +`AppEmbed` + +`SearchEmbed` + +`LiveboardEmbed` | *Compare with* option in the chart axis customization menu. + +Allows comparing data across dimensions or measures. +|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `SageEmbed` + +`AppEmbed` + +`SearchEmbed` + +`LiveboardEmbed` | *Merge with* option in the chart axis customization menu. + +Allows merging data across dimensions or measures. |===== == Full app embed @@ -528,7 +614,6 @@ a|xref:Action.adoc#_createliveboard[`Action.CreateLiveboard`] a|`AppEmbed`| The a|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards page. |xref:Action.adoc#_exporttml[`Action.ExportTML`] a|`AppEmbed` | *Export TML* + Exports the TML representation of a Liveboard object from ThoughtSpot. - |=== === Search page @@ -538,13 +623,12 @@ The following actions are available on the *Search* page in the full app embedde [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The Add Data Panel Objects action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. -|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The Collapse data panel icon on the Search page. Collapses the data panel view. +|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The *Add Data Panel Objects* action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. +|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The *Collapse data panel* icon on the Search page. Collapses the data panel view. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` |The *Add Formula* action allows adding formulas to an Answer. |xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` | The *Add Parameter* action allows adding Parameters to an Answer. |xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` | The *Add Column Set* action allows adding column sets to an Answer. |xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` | The *Add Query Set* action allows adding query sets to an Answer. - |=== === Answers page @@ -559,9 +643,7 @@ The following actions are available on the *Answers* page in the full app embedd Allows sharing a saved Answer with another user or group. |xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* + Allows deleting an Answer. - |xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Answers page. - |=== === Data Workspace page @@ -573,7 +655,7 @@ The following actions are available on the *Data* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* action on the *Data* > *Home* page. + Allows sharing a Model, Table, or View with another user or group. -|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + +|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + Allows deleting a Model, Table, or View. |xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page. + Allows exporting a Model, Table, or View as a TML file. @@ -594,9 +676,16 @@ a|xref:Action.adoc#_addtowatchlist[`Action.AddToWatchlist`] a| `AppEmbed` | The Adds a KPI chart to the watchlist on the Home page. a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. + Removes a KPI chart from the watchlist on the Home page. -a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. +a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. + +[NOTE] +==== +This action is deprecated. Use `Action.OrganizeFavorites` instead. +==== +a|xref:Action.adoc#_organizefavorites[`Action.OrganizeFavorites`] a| `AppEmbed` | The *Organize Favorites* action on Homepage Favorites module. |xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|*Copy link* + Allows users to copy a link from the *Watchlist* on the Homepage. +a|xref:Action.adoc#_editschedulehomepage[`Action.EditScheduleHomepage`] a|`AppEmbed`| The *Edit* action on the *Liveboard Schedules* page. + +Allows editing Liveboard schedules. a|xref:Action.adoc#_deleteschedulehomepage[`Action.DeleteScheduleHomepage`] a|`AppEmbed`| The *Delete* action on the Liveboard Schedules page. + Deletes a Liveboard schedule. a|xref:Action.adoc#_pauseschedulehomepage[`Action.PauseScheduleHomepage`] a|`AppEmbed`| The *Pause* action on the *Liveboard Schedules* page. + From ff79829c8ca86167b505cdfee83227a591fdd743 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 11:02:47 +0530 Subject: [PATCH 016/105] action ref list udpate --- modules/ROOT/pages/embed-action-ref.adoc | 171 +++++++++++++++++------ 1 file changed, 130 insertions(+), 41 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index ad39bbca4..089894a62 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -22,7 +22,7 @@ The actions associated with the Liveboards are available in the Liveboard header `AppEmbed` | The *Favorites* (star) icon on a Liveboard page. + Allows adding a Liveboard to the user's favorites list. |xref:Action.adoc#_aihighlights[`Action.AIHighlights`]|`LiveboardEmbed` + -`AppEmbed` | The AI highlights button on a Liveboard page. + +`AppEmbed` | The AI highlights button on a Liveboard page. + Displays quick insights on how top metrics changed in your Liveboard. + To enable *AI Highlights*, ensure that the link:https://docs.thoughtspot.com/cloud/latest/time-series-anomaly[KPI anomaly detection, window=_blank] feature is enabled on your instance. |xref:Action.adoc#_share[`Action.Share`]| `LiveboardEmbed` + @@ -41,31 +41,41 @@ a| `LiveboardEmbed` + `AppEmbed` |The filter configuration options in the *Add Filters* modal. + Applies filters and allows configuring filters applied to a visualization on a Liveboard. - |xref:Action.adoc#_addparameter[`Action.AddParameter`]| `LiveboardEmbed` + `AppEmbed`| The *Add Parameters* option in the top panel of the Liveboard. + Allows adding parameters to a Liveboard. - |xref:Action.adoc#_addtab[`Action.AddTab`]|`LiveboardEmbed` + `AppEmbed` | The *Add Tab* action on a Liveboard. + Allows adding a new tab to a Liveboard view. |xref:Action.adoc#_changefiltervisibilityintab[`Action.ChangeFilterVisibilityInTab`]|`LiveboardEmbed` + `AppEmbed` | Action ID to disable or hide the filter visibility on Liveboard tabs. Applicable if link:https://docs.thoughtspot.com/cloud/latest/liveboard-filters#_apply_filters_to_specific_visualizations_or_tabs[the filter visibility on tabs, window=_blank] feature is enabled on your instance. + See also, xref:LiveboardViewConfig.adoc#_hideirrelevantchipsinliveboardtabs[hideIrrelevantChipsInLiveboardTabs]. - |xref:Action.adoc#_disablechipreorder[`Action.DisableChipReorder`]|`LiveboardEmbed` + `SearchEmbed` + `AppEmbed` | Action ID for disabling filter chip reordering on a Liveboard. - |xref:Action.adoc#_save[`Action.Save`]|`LiveboardEmbed` + `AppEmbed` | *Save* + Saves Liveboard modifications. |xref:Action.adoc#_makeacopy[`Action.MakeACopy`] | `LiveboardEmbed` + `AppEmbed`| *Make a copy* + -Creates a copy of the Liveboard. +Creates a copy of the Liveboard. In `LiveboardEmbed`, the *Make a copy* action is not available for visualizations in the embedded Liveboard view. In `AppEmbed`, the action is available on both Liveboards and visualizations. |xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`] | `LiveboardEmbed` + `AppEmbed`|*Download as PDF* + Downloads the Liveboard as a PDF file. +|xref:Action.adoc#_downloadliveboard[`Action.DownloadLiveboard`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard* + +Downloads the entire Liveboard. +|xref:Action.adoc#_downloadliveboardascontinuouspdf[`Action.DownloadLiveboardAsContinuousPDF`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as Continuous PDF* + +Downloads the entire Liveboard as a continuous PDF file. +|xref:Action.adoc#_downloadliveboardascsv[`Action.DownloadLiveboardAsCsv`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as CSV* + +Downloads the entire Liveboard as a CSV file. +|xref:Action.adoc#_downloadliveboardasxlsx[`Action.DownloadLiveboardAsXlsx`] | `LiveboardEmbed` + +`AppEmbed` | *Download Liveboard as XLSX* + +Downloads the entire Liveboard as an XLSX file. +|xref:Action.adoc#_coverandfilteroptioninpdf[`Action.CoverAndFilterOptionInPDF`] | `LiveboardEmbed` + +`AppEmbed` | Action ID to hide the checkboxes for including or excluding cover and filter pages in the Liveboard PDF download dialog. |xref:Action.adoc#_present[`Action.Present`]| `LiveboardEmbed` + `AppEmbed` | *Present* + Presents a fullscreen Liveboard in the slideshow mode. @@ -73,37 +83,69 @@ Presents a fullscreen Liveboard in the slideshow mode. xref:Action.adoc#_subscription[`Action.Subscription`]| `LiveboardEmbed` + `AppEmbed` |*Schedule* + Allows scheduling Liveboard notifications. - |xref:Action.adoc#_scheduleslist[`Action.SchedulesList`]| `LiveboardEmbed` + `AppEmbed` | *Manage schedules* + Allows you to manage scheduled Liveboard jobs. - |xref:Action.adoc#_liveboardinfo[`Action.LiveboardInfo`]|`LiveboardEmbed` + `AppEmbed` | *Show Liveboard details* + Displays information about the Liveboard. - +|xref:Action.adoc#_liveboardstylepanel[`Action.LiveboardStylePanel`] | `LiveboardEmbed` + +`AppEmbed` | The *Style panel* on a Liveboard. + +Controls the visibility of the Liveboard style panel. |xref:Action.adoc#_renamemodaltitledescription[`Action.RenameModalTitleDescription`]|`LiveboardEmbed` + `AppEmbed` | The *Rename* menu action on Liveboards. Allows editing the name of the Liveboard. |xref:Action.adoc#_requestverification[`Action.RequestVerification`]|`LiveboardEmbed` + `AppEmbed` | The *Request verification* menu action on Liveboards. Initiates a request for Liveboard verification. |xref:Action.adoc#_verifiedliveboard[`Action.VerifiedLiveboard`]| `LiveboardEmbed` + `AppEmbed` |The Liveboard verified banner text. + -Indicates the Liveboard is verified. +Indicates the Liveboard is verified. + See also, xref:LiveboardViewConfig.adoc#_showliveboardverifiedbadge[showLiveboardVerifiedBadge]. - |xref:Action.adoc#_personalisedviewsdropdown[`Action.PersonalisedViewsDropdown`]| `LiveboardEmbed` + `AppEmbed` | The Liveboard personalized views drop-down. + -Available if personalized views are saved on the Liveboard. +Available if personalized views are saved on the Liveboard. + +Allows switching between the saved personalized views of a Liveboard. + +[NOTE] +==== +This action is deprecated. Use `Action.PersonalizedViewsDropdown` instead. +==== +|xref:Action.adoc#_personalizedviewsdropdown[`Action.PersonalizedViewsDropdown`]| `LiveboardEmbed` + +`AppEmbed` | The Liveboard personalized views drop-down. + Allows switching between the saved personalized views of a Liveboard. |xref:Action.adoc#_markasverified[`Action.MarkAsVerified`] |`LiveboardEmbed` + -`AppEmbed` | -The *Approve* action visible to Liveboard verifiers. + +`AppEmbed` | The *Approve* action visible to Liveboard verifiers. + Marks the Liveboard as approved. +|xref:Action.adoc#_managemonitor[`Action.ManageMonitor`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Alerts* menu action on KPI visualizations. + +Allows creating, viewing, and editing monitor alerts for a KPI chart. +|xref:Action.adoc#_creategroup[`Action.CreateGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Create Group* menu action on a Liveboard. + +Allows creating a new visualization group on a Liveboard. +|xref:Action.adoc#_movetogroup[`Action.MoveToGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Move to Group* menu action on a Liveboard. + +Allows moving a visualization to a different group. +|xref:Action.adoc#_moveoutofgroup[`Action.MoveOutOfGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Move out of Group* menu action on a Liveboard. + +Allows moving a visualization out of a group. +|xref:Action.adoc#_ungroupliveboardgroup[`Action.UngroupLiveboardGroup`]| `LiveboardEmbed` + +`AppEmbed` | The *Ungroup* menu action on a Liveboard group. + +Allows ungrouping a Liveboard visualization group. +|xref:Action.adoc#_publish[`Action.Publish`]| `LiveboardEmbed` + +`AppEmbed` | The *Publish* action for Liveboards. + +Opens the publishing modal. Acts as a parent action for *Manage Publishing* and *Unpublish* if the object is already published. +|xref:Action.adoc#_managepublishing[`Action.ManagePublishing`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Publishing* action for Liveboards. + +Opens the publishing modal. Appears as a child action to *Publish* if the object is already published. +|xref:Action.adoc#_unpublish[`Action.Unpublish`]| `LiveboardEmbed` + +`AppEmbed` | The *Unpublish* action for Liveboards. + +Appears as a child action to *Publish* if the object is already published. |xref:Action.adoc#_synctoslack[`Action.SyncToSlack`]| `LiveboardEmbed` + `AppEmbed` | The *Sync to Slack* action on Liveboard visualizations. Allows sending data to Slack. |xref:Action.adoc#_synctoteams[`Action.SyncToTeams`]| `LiveboardEmbed` + `AppEmbed` | The *Sync to Teams* action on Liveboard visualizations. Allows sending data to Microsoft Teams. - +|xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + +`AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + +Displays the list of users who have access to the Liveboard. + +Use this action ID to hide the viewers panel in the Liveboard details view. |xref:Action.adoc#_tml[`Action.TML`]| `LiveboardEmbed` + `AppEmbed` | Action ID for the parent TML action. The parent action *TML* must be included to access TML-related options within the cascading menu. |xref:Action.adoc#_exporttml[`Action.ExportTML`]|`LiveboardEmbed` + @@ -117,6 +159,7 @@ Allows importing the TML representation of a Liveboard object to ThoughtSpot. Th Allows editing the ThoughtSpot Modelling Language (TML) representation of a Liveboard object loaded on the ThoughtSpot server. The parent action *TML* must be included to access TML-related options within the cascading menu. |==== + [#liveboardv2-viz-actions] == Visualizations on a Liveboard The visualizations pinned to a Liveboard have the following types of actions: @@ -140,8 +183,18 @@ Allows users to initiate a conversation with Spotter. `AppEmbed` |*Explore* + Allows users to explore a visualization. |xref:Action.adoc#_createmonitor[`Action.CreateMonitor`]| `LiveboardEmbed` + -`AppEmbed` | Alert icon + +`AppEmbed` | The *Create alert* icon on KPI charts. + Allows you to schedule threshold-based alerts for KPI charts. +|xref:Action.adoc#_managemonitor[`Action.ManageMonitor`]| `LiveboardEmbed` + +`AppEmbed` | The *Manage Alerts* menu action on KPI visualizations. + +Allows creating, viewing, and editing monitor alerts for a KPI chart. +|xref:Action.adoc#_kpianalysiscta[`Action.KPIAnalysisCTA`]| `LiveboardEmbed` + +`AppEmbed` | The *Analyze* call-to-action button on KPI charts. + +Allows initiating KPI analysis directly from the chart. +|xref:Action.adoc#_enablecontextualchangeanalysis[`Action.EnableContextualChangeAnalysis`]| `LiveboardEmbed` + +`AppEmbed` | Initiates contextual change analysis on KPI charts. +|xref:Action.adoc#_enableiterativechangeanalysis[`Action.EnableIterativeChangeAnalysis`]| `LiveboardEmbed` + +`AppEmbed` | Action ID to hide or disable the Iterative Change Analysis option in the contextual change analysis insight charts context menu. |xref:Action.adoc#_pin[`Action.Pin`]|`LiveboardEmbed` + `AppEmbed`|*Pin* + Pins a visualization to a Liveboard. @@ -189,8 +242,7 @@ Allows managing data sync pipelines to external business apps set as sync destin |xref:Action.adoc#_liveboardusers[`Action.LiveboardUsers`]|`LiveboardEmbed` + `AppEmbed`| The *Viewers* panel inside the *Show Liveboard details* modal. + Displays the list of users who have access to the Liveboard. + -Use this action ID to hide the viewers panel in the Liveboard details view. + -Available in SDK 1.26.0 and ThoughtSpot 9.7.0.cl or later. +Use this action ID to hide the viewers panel in the Liveboard details view. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`] |`LiveboardEmbed` + `AppEmbed`| *Delete* + Deletes the visualization from the Liveboard. @@ -248,22 +300,56 @@ The following action IDs are available for the Spotter component: |xref:Action.adoc#_previewdataspotter[`Action.PreviewDataSpotter`] | `SpotterEmbed` + `AppEmbed` |*Preview data* action on the Spotter conversation panel. + Shows the underlying data used for Spotter queries. - |xref:Action.adoc#_resetspotterchat[`Action.ResetSpotterChat`] |`SpotterEmbed` + `AppEmbed` | The *Reset* button on the Spotter conversation panel. + Clears the current Spotter conversation and starts a new session. - |xref:Action.adoc#_editpreviousprompt[`Action.EditPreviousPrompt`] |`SpotterEmbed` + `AppEmbed` | The edit icon on the Spotter prompt panel. + Allows editing the prompt sent to Spotter. - |xref:Action.adoc#_deletepreviousprompt[`Action.DeletePreviousPrompt`] |`SpotterEmbed` + `AppEmbed` | The delete icon on the Spotter prompt panel. + Allows deleting the prompt sent to Spotter. - |xref:Action.adoc#_spotterfeedback[`Action.SpotterFeedback`] |`SpotterEmbed` + `AppEmbed` | The Spotter feedback widget in the generated Answer. + Allows sending feedback about the response received from Spotter. +|xref:Action.adoc#_edittokens[`Action.EditTokens`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide or disable editing tokens generated from Spotter results. +|xref:Action.adoc#_datamodelinstructions[`Action.DataModelInstructions`] |`SpotterEmbed` + +`AppEmbed` | The *Data model instructions* button on the Spotter interface. + +Allows opening the data model instructions modal. +|xref:Action.adoc#_inconversationtraining[`Action.InConversationTraining`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide or disable the *Add to Coaching* workflow in Spotter conversations. + +The *Add to Coaching* feature allows adding reference questions and business terms to improve Spotter's responses. This feature is GA from ThoughtSpot 26.2.0.cl and enabled by default on embed deployments. +|xref:Action.adoc#_spotterwarningsbanner[`Action.SpotterWarningsBanner`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide the warnings banner in Spotter results. +|xref:Action.adoc#_spotterwarningsontokens[`Action.SpotterWarningsOnTokens`] |`SpotterEmbed` + +`AppEmbed` | Action ID to hide the warnings border on the knowledge card in Spotter results. +|xref:Action.adoc#_spottertokenquickedit[`Action.SpotterTokenQuickEdit`] |`SpotterEmbed` + +`AppEmbed` | Action ID to disable the click event handler on knowledge cards in Spotter results. +|xref:Action.adoc#_spotternewchat[`Action.SpotterNewChat`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *New Chat* button in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterpastchatbanner[`Action.SpotterPastChatBanner`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the past conversation banner alert in the Spotter interface. +|xref:Action.adoc#_spottersidebarheader[`Action.SpotterSidebarHeader`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the sidebar header (title and toggle button) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spottersidebarfooter[`Action.SpotterSidebarFooter`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility of the sidebar footer (documentation link) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spottersidebartoggle[`Action.SpotterSidebarToggle`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the sidebar toggle/expand button in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterchatmenu[`Action.SpotterChatMenu`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the conversation edit menu (three-dot menu) in the Spotter past conversations sidebar. +|xref:Action.adoc#_spotterchatrename[`Action.SpotterChatRename`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *Rename* action in the Spotter conversation edit menu. +|xref:Action.adoc#_spotterchatdelete[`Action.SpotterChatDelete`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the *Delete* action in the Spotter conversation edit menu. +|xref:Action.adoc#_spotterdocs[`Action.SpotterDocs`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the documentation/best practices link in the Spotter sidebar footer. +|xref:Action.adoc#_spotterchatconnectors[`Action.SpotterChatConnectors`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the connectors in the Spotter chat interface. +|xref:Action.adoc#_spotterchatconnectorresources[`Action.SpotterChatConnectorResources`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the connector resources section in the Spotter chat interface. +|xref:Action.adoc#_spotterchatmodeswitcher[`Action.SpotterChatModeSwitcher`] |`SpotterEmbed` + +`AppEmbed` | Controls visibility and disable state of the mode switcher in the Spotter chat interface. |===== For information about the action IDs available for Answers generated from Spotter (`SpotterEmbed`), see xref:embed-action-ref#answer-actions[Answers]. @@ -280,7 +366,7 @@ The following actions are available on saved Answers and the Answers generated b `SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + -`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + +`AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + `SageEmbed` + @@ -293,7 +379,6 @@ Allows adding formulas to a search query. `SearchEmbed` + `AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. - |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -327,7 +412,6 @@ Allows generating SpotIQ analyses. Available as a primary button and contextual `SageEmbed` + `AppEmbed`|*Share* + Allows you to share an Answer with another user or group. - |xref:Action.adoc#_querydetailsbuttons[`Action.QueryDetailsButtons`]| `SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -358,7 +442,6 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. - |xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -399,7 +482,6 @@ Allows managing data sync pipelines to external business apps set as sync destin `SearchEmbed` + `AppEmbed` | *Export TML* + Exports the TML representation of an answer from ThoughtSpot. - |xref:Action.adoc#_edittml[`Action.EditTML`]|`AppEmbed` | *Edit TML* + Allows editing the TML representation of the answer object. This action is available on the saved answers page. |xref:Action.adoc#_importtml[`Action.ImportTML`]|`AppEmbed` | *Import TML* + @@ -424,13 +506,11 @@ Allows you to exclude a specific data point when drilling down on an Answer. `SearchEmbed` + `AppEmbed` |*Include* + Allows you to include a specific data point during drill down on an Answer. - |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + `AppEmbed` |*Drill down* + Allows you to drill down the data for additional details and granular information. Available as a contextual menu action. - |xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`] |`SpotterEmbed` + `SageEmbed` + `SearchEmbed` + @@ -462,19 +542,16 @@ Allows adding rules for conditional formatting of data points on a chart or tabl `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + Allows editing the axis name, position, minimum and maximum values and format a column. - |xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Filter* action in the chart axis or table column customization menu. + Allows adding, editing, or removing filters. - |xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Group* option in the chart axis or table column customization menu. + Allows grouping data points if the axes use the same unit of measurement and a similar scale. - |xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -489,7 +566,6 @@ Allows changing the position of the axis to the left or right side of the chart. `SearchEmbed` + `LiveboardEmbed` | *Remove* in the chart axis or table column customization menu. + Removes the data labels from a chart or the column of a table visualization. - |xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `SageEmbed` + `AppEmbed` + `SearchEmbed` + @@ -509,6 +585,16 @@ Wraps or clips column text on a table. `SearchEmbed` + `LiveboardEmbed` | *Time bucket* option in the chart axis or table column customization menu. + Allows defining time metric for date comparison. +|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `SageEmbed` + +`AppEmbed` + +`SearchEmbed` + +`LiveboardEmbed` | *Compare with* option in the chart axis customization menu. + +Allows comparing data across dimensions or measures. +|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `SageEmbed` + +`AppEmbed` + +`SearchEmbed` + +`LiveboardEmbed` | *Merge with* option in the chart axis customization menu. + +Allows merging data across dimensions or measures. |===== == Full app embed @@ -528,7 +614,6 @@ a|xref:Action.adoc#_createliveboard[`Action.CreateLiveboard`] a|`AppEmbed`| The a|xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Liveboards page. |xref:Action.adoc#_exporttml[`Action.ExportTML`] a|`AppEmbed` | *Export TML* + Exports the TML representation of a Liveboard object from ThoughtSpot. - |=== === Search page @@ -538,13 +623,12 @@ The following actions are available on the *Search* page in the full app embedde [options='header'] |=== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The Add Data Panel Objects action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. -|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The Collapse data panel icon on the Search page. Collapses the data panel view. +|xref:Action.adoc#_adddatapanelobjects[`Action.AddDataPanelObjects`]| `AppEmbed` |The *Add Data Panel Objects* action on the data panel v2. Allows showing action menu to add different objects (such as formulas, Parameters) in the data panel new experience. +|xref:Action.adoc#_collapsedatapanel[`Action.CollapseDataPanel`]| `AppEmbed` | The *Collapse data panel* icon on the Search page. Collapses the data panel view. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `AppEmbed` |The *Add Formula* action allows adding formulas to an Answer. |xref:Action.adoc#_addparameter[`Action.AddParameter`]| `AppEmbed` | The *Add Parameter* action allows adding Parameters to an Answer. |xref:Action.adoc#_addcolumnset[`Action.AddColumnSet`]| `AppEmbed` | The *Add Column Set* action allows adding column sets to an Answer. |xref:Action.adoc#_addqueryset[`Action.AddQuerySet`]| `AppEmbed` | The *Add Query Set* action allows adding query sets to an Answer. - |=== === Answers page @@ -559,9 +643,7 @@ The following actions are available on the *Answers* page in the full app embedd Allows sharing a saved Answer with another user or group. |xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* + Allows deleting an Answer. - |xref:Action.adoc#_managetags[`Action.ManageTags`] a|`AppEmbed`| The *Manage Tags* action on the Answers page. - |=== === Data Workspace page @@ -573,7 +655,7 @@ The following actions are available on the *Data* page in the full app embedded |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_share[`Action.Share`] a|`AppEmbed` | *Share* action on the *Data* > *Home* page. + Allows sharing a Model, Table, or View with another user or group. -|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + +|xref:Action.adoc#_remove[`Action.Remove`] a|`AppEmbed` | *Delete* action on the *Data* > *Home* and *Data* > *Connections* pages. + Allows deleting a Model, Table, or View. |xref:Action.adoc#_exporttml[`Action.ExportTML`] a| `AppEmbed` | *Export TML* action on the *Data* > *Home* page. + Allows exporting a Model, Table, or View as a TML file. @@ -594,9 +676,16 @@ a|xref:Action.adoc#_addtowatchlist[`Action.AddToWatchlist`] a| `AppEmbed` | The Adds a KPI chart to the watchlist on the Home page. a|xref:Action.adoc#_removefromwatchlist[`Action.RemoveFromWatchlist`] a| `AppEmbed` | The *Remove from watchlist* menu action on KPI watchlist. + Removes a KPI chart from the watchlist on the Home page. -a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. +a|xref:Action.adoc#_organisefavourites[`Action.OrganiseFavourites`] a| `AppEmbed` | The *Organize Favourites* action on Homepage Favorites module. + +[NOTE] +==== +This action is deprecated. Use `Action.OrganizeFavorites` instead. +==== +a|xref:Action.adoc#_organizefavorites[`Action.OrganizeFavorites`] a| `AppEmbed` | The *Organize Favorites* action on Homepage Favorites module. |xref:Action.adoc#_copylink[`Action.CopyLink`] a|`AppEmbed`|*Copy link* + Allows users to copy a link from the *Watchlist* on the Homepage. +a|xref:Action.adoc#_editschedulehomepage[`Action.EditScheduleHomepage`] a|`AppEmbed`| The *Edit* action on the *Liveboard Schedules* page. + +Allows editing Liveboard schedules. a|xref:Action.adoc#_deleteschedulehomepage[`Action.DeleteScheduleHomepage`] a|`AppEmbed`| The *Delete* action on the Liveboard Schedules page. + Deletes a Liveboard schedule. a|xref:Action.adoc#_pauseschedulehomepage[`Action.PauseScheduleHomepage`] a|`AppEmbed`| The *Pause* action on the *Liveboard Schedules* page. + From de9fc835027c2e247b200775db8b55ebc49d0c48 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 11:17:49 +0530 Subject: [PATCH 017/105] sagemebed ref removal --- modules/ROOT/pages/embed-action-ref.adoc | 82 ++++++------------------ 1 file changed, 19 insertions(+), 63 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 089894a62..43d3e94ed 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -1,6 +1,6 @@ = Action IDs in the SDK :toc: true -:toclevels: 1 +:toclevels: 2 :page-title: Actions :page-pageid: actions @@ -356,31 +356,27 @@ For information about the action IDs available for Answers generated from Spotte [#answer-actions] == Answers -The following actions are available on saved Answers and the Answers generated by passing a Natural Language Search query, search tokens on the Search Data page, or from a conversation with Spotter. +The following actions are available on saved Answers and the Answers generated by passing a search query on the Search Data page or from a conversation with Spotter. [width="100%" cols="3,3,4"] [options='header'] |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_choosedatasources[`Action.ChooseDataSources`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + `AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + `AppEmbed`| *Create formula* option on the data panel of an Answer page. + Allows adding formulas to a search query. |xref:Action.adoc#_addparameter[`Action.AddParameter`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | Chart toggle icon. + Allows switching to the table or chart mode. @@ -388,32 +384,20 @@ Allows switching to the table or chart mode. `AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. + Opens a table or chart in the edit mode. |xref:Action.adoc#_pin[`Action.Pin`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Pin* action on the visualization generated from a Spotter query. + Allows adding a visualization generated from Spotter to a Liveboard. |xref:Action.adoc#_save[`Action.Save`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Save* action on the visualization generated from a Spotter query. + Saves the visualization generated from Spotter. -|xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + -`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + -Allows sending feedback about the AI-generated Answer. -|xref:Action.adoc#_editsageanswer[`Action.EditSageAnswer`]| `SageEmbed` + -`AppEmbed` | Edit action for AI-generated Answer. -|xref:Action.adoc#_modifysageanswer[`Action.ModifySageAnswer`]| `SageEmbed` + -`AppEmbed` | The *Fix the Answer* option that appears after a user submits negative feedback on the Answer generated from a Natural Language Search query. + -Allows users to fix the Answer in the Search Data page to provide feedback. |xref:Action.adoc#_spotiqanalyze[`Action.SpotIQAnalyze`]|`SearchEmbed` + `AppEmbed`|*SpotIQ analyze* + Allows generating SpotIQ analyses. Available as a primary button and contextual menu action. |xref:Action.adoc#_share[`Action.Share`]|`SearchEmbed` + -`SageEmbed` + `AppEmbed`|*Share* + Allows you to share an Answer with another user or group. |xref:Action.adoc#_querydetailsbuttons[`Action.QueryDetailsButtons`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page. + @@ -422,7 +406,6 @@ a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answe * The *Query SQL* button displays the SQL statements used in a search query to fetch data. |xref:Action.adoc#_download[`Action.Download`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` a|*Download* + The **Download** action to download the Answer data. @@ -438,47 +421,38 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se ** `Action.DownloadAsPng` |xref:Action.adoc#_downloadascsv[`Action.DownloadAsCsv`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. |xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Download* > *XLSX* + Downloads the answer data in the XLSX file format. |xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *PDF* + Downloads the answer data as a PDF file. Available only for tables. |xref:Action.adoc#_downloadaspng[`Action.DownloadAsPng`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *PNG* + Downloads the chart as a PNG file. Available only for charts. |xref:Action.adoc#_showunderlyingdata[`Action.ShowUnderlyingData`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Show underlying data* + Displays detailed information and raw data for a given visualization. Available as a menu action in the *More* menu image:./images/icon-more-10px.png[the more options menu] and the contextual menu. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|*Delete* + Deletes the answer. -|xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SearchEmbed` + `AppEmbed`| The *Sync to sheets* action in the **More** actions menu. + Allows creating a sync to send data to the Google Sheets app. -|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SearchEmbed` + `AppEmbed`| The *Sync to other apps* action in the **More** actions menu. + Allows creating a sync to send data to external business apps such as Slack, Salesforce, and Microsoft Teams. -|xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`SearchEmbed` + `AppEmbed`| The *Manage pipelines* action in the **More** actions menu. + Allows managing data sync pipelines to external business apps set as sync destinations in ThoughtSpot. |xref:Action.adoc#_exporttml[`Action.ExportTML`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Export TML* + Exports the TML representation of an answer from ThoughtSpot. @@ -497,22 +471,18 @@ The following actions are available in the contextual menu of an Answer: |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Exclude* + Allows you to exclude a specific data point when drilling down on an Answer. |xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Include* + Allows you to include a specific data point during drill down on an Answer. |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Drill down* + Allows you to drill down the data for additional details and granular information. Available as a contextual menu action. |xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`] |`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Copy to clipboard* + Copies the selected data point. Available as a contextual menu action for table data. @@ -526,72 +496,58 @@ The SDK provides the following Action enumerations for the contextual menu actio |===== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_axismenuaggregate[`Action.AxisMenuAggregate`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuaggregate[`Action.AxisMenuAggregate`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` + | *Aggregate* option in the chart axis or the table column customization menu. + Provides aggregation options to analyze the data on a chart or table. -|xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Conditional formatting* menu option. + Allows adding rules for conditional formatting of data points on a chart or table. -|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + Allows editing the axis name, position, minimum and maximum values and format a column. -|xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Filter* action in the chart axis or table column customization menu. + Allows adding, editing, or removing filters. -|xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Group* option in the chart axis or table column customization menu. + Allows grouping data points if the axes use the same unit of measurement and a similar scale. -|xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed`| *Number format* option to customize the format of the data labels on a chart or table. -|xref:Action.adoc#_axismenuposition[`Action.AxisMenuPosition`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuposition[`Action.AxisMenuPosition`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Position* option in axis customization menu. + Allows changing the position of the axis to the left or right side of the chart. -|xref:Action.adoc#_axismenuremove[`Action.AxisMenuRemove`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuremove[`Action.AxisMenuRemove`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Remove* in the chart axis or table column customization menu. + Removes the data labels from a chart or the column of a table visualization. -|xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Rename* option in the chart axis or table column customization menu. + Renames axis label on a chart or the column header on a table. -|xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]|`SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Sort* option to sort the data in the ascending or descending order on a chart or table. -|xref:Action.adoc#_axismenutextwrapping[`Action.AxisMenuTextWrapping`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenutextwrapping[`Action.AxisMenuTextWrapping`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Text wrapping* option on a table visualization. + Wraps or clips column text on a table. -|xref:Action.adoc#_axismenutimebucket[`Action.AxisMenuTimeBucket`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenutimebucket[`Action.AxisMenuTimeBucket`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Time bucket* option in the chart axis or table column customization menu. + Allows defining time metric for date comparison. -|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Compare with* option in the chart axis customization menu. + Allows comparing data across dimensions or measures. -|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Merge with* option in the chart axis customization menu. + Allows merging data across dimensions or measures. From 0fd3519a4c049142692688e789cdfb3e3a76a605 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 11:17:49 +0530 Subject: [PATCH 018/105] sagemebed ref removal --- modules/ROOT/pages/embed-action-ref.adoc | 82 ++++++------------------ 1 file changed, 19 insertions(+), 63 deletions(-) diff --git a/modules/ROOT/pages/embed-action-ref.adoc b/modules/ROOT/pages/embed-action-ref.adoc index 089894a62..43d3e94ed 100644 --- a/modules/ROOT/pages/embed-action-ref.adoc +++ b/modules/ROOT/pages/embed-action-ref.adoc @@ -1,6 +1,6 @@ = Action IDs in the SDK :toc: true -:toclevels: 1 +:toclevels: 2 :page-title: Actions :page-pageid: actions @@ -356,31 +356,27 @@ For information about the action IDs available for Answers generated from Spotte [#answer-actions] == Answers -The following actions are available on saved Answers and the Answers generated by passing a Natural Language Search query, search tokens on the Search Data page, or from a conversation with Spotter. +The following actions are available on saved Answers and the Answers generated by passing a search query on the Search Data page or from a conversation with Spotter. [width="100%" cols="3,3,4"] [options='header'] |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_choosedatasources[`Action.ChooseDataSources`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + `AppEmbed`|The *Choose sources* option in the Search page and Spotter conversation panel. + Allows selecting data sources to query data. |xref:Action.adoc#_addformula[`Action.AddFormula`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `SearchBarEmbed` + `AppEmbed`| *Create formula* option on the data panel of an Answer page. + Allows adding formulas to a search query. |xref:Action.adoc#_addparameter[`Action.AddParameter`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`| *Add Parameters* option in the data panel on a Search page. + Allows adding parameters to an Answer. |xref:Action.adoc#_answerchartswitcher[`Action.AnswerChartSwitcher`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | Chart toggle icon. + Allows switching to the table or chart mode. @@ -388,32 +384,20 @@ Allows switching to the table or chart mode. `AppEmbed` | *Edit* action on charts and tables generated from a Spotter query. + Opens a table or chart in the edit mode. |xref:Action.adoc#_pin[`Action.Pin`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Pin* action on the visualization generated from a Spotter query. + Allows adding a visualization generated from Spotter to a Liveboard. |xref:Action.adoc#_save[`Action.Save`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Save* action on the visualization generated from a Spotter query. + Saves the visualization generated from Spotter. -|xref:Action.adoc#_sageanswerfeedback[`Action.SageAnswerFeedback`]| `SageEmbed` + -`AppEmbed` | The feedback widget on the Answers generated from a Natural Language Search query. + -Allows sending feedback about the AI-generated Answer. -|xref:Action.adoc#_editsageanswer[`Action.EditSageAnswer`]| `SageEmbed` + -`AppEmbed` | Edit action for AI-generated Answer. -|xref:Action.adoc#_modifysageanswer[`Action.ModifySageAnswer`]| `SageEmbed` + -`AppEmbed` | The *Fix the Answer* option that appears after a user submits negative feedback on the Answer generated from a Natural Language Search query. + -Allows users to fix the Answer in the Search Data page to provide feedback. |xref:Action.adoc#_spotiqanalyze[`Action.SpotIQAnalyze`]|`SearchEmbed` + `AppEmbed`|*SpotIQ analyze* + Allows generating SpotIQ analyses. Available as a primary button and contextual menu action. |xref:Action.adoc#_share[`Action.Share`]|`SearchEmbed` + -`SageEmbed` + `AppEmbed`|*Share* + Allows you to share an Answer with another user or group. |xref:Action.adoc#_querydetailsbuttons[`Action.QueryDetailsButtons`]| `SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answer page. + @@ -422,7 +406,6 @@ a|The *Query visualizer* and *Query SQL* buttons in *Query details* on the Answe * The *Query SQL* button displays the SQL statements used in a search query to fetch data. |xref:Action.adoc#_download[`Action.Download`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` a|*Download* + The **Download** action to download the Answer data. @@ -438,47 +421,38 @@ If you are using Visual Embed SDK version 1.21.0 or later to embed Liveboard, Se ** `Action.DownloadAsPng` |xref:Action.adoc#_downloadascsv[`Action.DownloadAsCsv`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *CSV* + Downloads the answer data in the CSV file format. |xref:Action.adoc#_downloadasxlsx[`Action.DownloadAsXlsx`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Download* > *XLSX* + Downloads the answer data in the XLSX file format. |xref:Action.adoc#_downloadaspdf[`Action.DownloadAsPdf`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *PDF* + Downloads the answer data as a PDF file. Available only for tables. |xref:Action.adoc#_downloadaspng[`Action.DownloadAsPng`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Download* > *PNG* + Downloads the chart as a PNG file. Available only for charts. |xref:Action.adoc#_showunderlyingdata[`Action.ShowUnderlyingData`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Show underlying data* + Displays detailed information and raw data for a given visualization. Available as a menu action in the *More* menu image:./images/icon-more-10px.png[the more options menu] and the contextual menu. |xref:Action.adoc#_answerdelete[`Action.AnswerDelete`]| `AppEmbed`|*Delete* + Deletes the answer. -|xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_synctosheets[`Action.SyncToSheets`]|`SearchEmbed` + `AppEmbed`| The *Sync to sheets* action in the **More** actions menu. + Allows creating a sync to send data to the Google Sheets app. -|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_synctootherapps[`Action.SyncToOtherApps`] |`SearchEmbed` + `AppEmbed`| The *Sync to other apps* action in the **More** actions menu. + Allows creating a sync to send data to external business apps such as Slack, Salesforce, and Microsoft Teams. -|xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`SageEmbed` + -`SearchEmbed` + +|xref:Action.adoc#_managepipelines[`Action.ManagePipelines`]|`SearchEmbed` + `AppEmbed`| The *Manage pipelines* action in the **More** actions menu. + Allows managing data sync pipelines to external business apps set as sync destinations in ThoughtSpot. |xref:Action.adoc#_exporttml[`Action.ExportTML`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` | *Export TML* + Exports the TML representation of an answer from ThoughtSpot. @@ -497,22 +471,18 @@ The following actions are available in the contextual menu of an Answer: |===== |Action string in SDK| Required SDK library|Action label in the UI |xref:Action.adoc#_drillexclude[`Action.DrillExclude`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Exclude* + Allows you to exclude a specific data point when drilling down on an Answer. |xref:Action.adoc#_drillinclude[`Action.DrillInclude`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Include* + Allows you to include a specific data point during drill down on an Answer. |xref:Action.adoc#_drilldown[`Action.DrillDown`]|`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed` |*Drill down* + Allows you to drill down the data for additional details and granular information. Available as a contextual menu action. |xref:Action.adoc#_copytoclipboard[`Action.CopyToClipboard`] |`SpotterEmbed` + -`SageEmbed` + `SearchEmbed` + `AppEmbed`|*Copy to clipboard* + Copies the selected data point. Available as a contextual menu action for table data. @@ -526,72 +496,58 @@ The SDK provides the following Action enumerations for the contextual menu actio |===== |Action string in SDK| Required SDK library|Action label in the UI -|xref:Action.adoc#_axismenuaggregate[`Action.AxisMenuAggregate`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuaggregate[`Action.AxisMenuAggregate`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` + | *Aggregate* option in the chart axis or the table column customization menu. + Provides aggregation options to analyze the data on a chart or table. -|xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuconditionalformat[`Action.AxisMenuConditionalFormat`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Conditional formatting* menu option. + Allows adding rules for conditional formatting of data points on a chart or table. -|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuedit[`Action.AxisMenuEdit`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Edit* action in the axis customization menu. + Allows editing the axis name, position, minimum and maximum values and format a column. -|xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenufilter[`Action.AxisMenuFilter`] | `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Filter* action in the chart axis or table column customization menu. + Allows adding, editing, or removing filters. -|xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenugroup[`Action.AxisMenuGroup`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Group* option in the chart axis or table column customization menu. + Allows grouping data points if the axes use the same unit of measurement and a similar scale. -|xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenunumberformat[`Action.AxisMenuNumberFormat`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed`| *Number format* option to customize the format of the data labels on a chart or table. -|xref:Action.adoc#_axismenuposition[`Action.AxisMenuPosition`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuposition[`Action.AxisMenuPosition`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Position* option in axis customization menu. + Allows changing the position of the axis to the left or right side of the chart. -|xref:Action.adoc#_axismenuremove[`Action.AxisMenuRemove`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenuremove[`Action.AxisMenuRemove`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Remove* in the chart axis or table column customization menu. + Removes the data labels from a chart or the column of a table visualization. -|xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenurename[`Action.AxisMenuRename`] | `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Rename* option in the chart axis or table column customization menu. + Renames axis label on a chart or the column header on a table. -|xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]|`SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenusort[`Action.AxisMenuSort`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Sort* option to sort the data in the ascending or descending order on a chart or table. -|xref:Action.adoc#_axismenutextwrapping[`Action.AxisMenuTextWrapping`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenutextwrapping[`Action.AxisMenuTextWrapping`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Text wrapping* option on a table visualization. + Wraps or clips column text on a table. -|xref:Action.adoc#_axismenutimebucket[`Action.AxisMenuTimeBucket`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenutimebucket[`Action.AxisMenuTimeBucket`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Time bucket* option in the chart axis or table column customization menu. + Allows defining time metric for date comparison. -|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenucompare[`Action.AxisMenuCompare`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Compare with* option in the chart axis customization menu. + Allows comparing data across dimensions or measures. -|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `SageEmbed` + -`AppEmbed` + +|xref:Action.adoc#_axismenumerge[`Action.AxisMenuMerge`]| `AppEmbed` + `SearchEmbed` + `LiveboardEmbed` | *Merge with* option in the chart axis customization menu. + Allows merging data across dimensions or measures. From 6b91f1cce6aebe89649dd498f39a0cfc2d671bbe Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 14:17:04 +0530 Subject: [PATCH 019/105] sageembed section removal --- modules/ROOT/pages/embed-ts-react-app.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index e81a02ab1..58eca50d9 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -825,7 +825,7 @@ For more information about `SearchEmbed` objects and attributes, see the followi [.bordered] image::./images/embed-search-react.png[] - +//// == Embed a Natural Language Search (Legacy interface) To embed ThoughtSpot Natural Language Search interface, complete the steps listed in the following sections. @@ -934,6 +934,7 @@ For more information about `SageEmbed` objects and attributes, see the following + [.bordered] image::./images/sage-embed.png[] +//// [#react-routes] == Add routes for navigation From c1f8e6ab29ddad16b5bb3b3451c3611d8c686dc4 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Tue, 12 May 2026 14:17:04 +0530 Subject: [PATCH 020/105] sageembed section removal --- modules/ROOT/pages/embed-ts-react-app.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index e81a02ab1..58eca50d9 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -825,7 +825,7 @@ For more information about `SearchEmbed` objects and attributes, see the followi [.bordered] image::./images/embed-search-react.png[] - +//// == Embed a Natural Language Search (Legacy interface) To embed ThoughtSpot Natural Language Search interface, complete the steps listed in the following sections. @@ -934,6 +934,7 @@ For more information about `SageEmbed` objects and attributes, see the following + [.bordered] image::./images/sage-embed.png[] +//// [#react-routes] == Add routes for navigation From 44732f5b59ad657efaf133cf13ab87ca18c54217 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 06:12:12 +0530 Subject: [PATCH 021/105] outdated page deleted --- modules/ROOT/pages/push-data-to-slack.adoc | 177 --------------------- 1 file changed, 177 deletions(-) delete mode 100644 modules/ROOT/pages/push-data-to-slack.adoc diff --git a/modules/ROOT/pages/push-data-to-slack.adoc b/modules/ROOT/pages/push-data-to-slack.adoc deleted file mode 100644 index 273ad8486..000000000 --- a/modules/ROOT/pages/push-data-to-slack.adoc +++ /dev/null @@ -1,177 +0,0 @@ - -= Push data to a Slack workspace[beta betaBackground]^Beta^ -:toc: true - -:page-title: Integrate ThoughtSpot with Slack app -:page-pageid: slack-integration -:page-description: You can connect users to their Slack workspace via app actions and allow them to push insights to a Slack channel - -With most businesses using Slack for communication and team collaboration, business users and analysts may want to deliver insights to their Slack workspace from the ThoughtSpot UI. ThoughtSpot makes it easier for your developers to automate the app integration workflow and enable seamless integration with your business apps. With app actions, users can now connect their Slack workspace with ThoughtSpot and push insights directly to their Slack channels. - - -== Before you begin - -To integrate Slack workspaces with ThoughtSpot, you will need the following: - -* A ThoughtSpot user account with developer or admin privileges to create app actions -* A ThoughtSpot user with a Slack account -* A ThoughtSpot application instance with *New Answer Experience* enabled -* A saved answer or Liveboard visualization - - -== Integration workflow - -The Slack app integration workflow involves the following steps: - -. A developer or admin user creates an app action for Slack in the Developer portal. -+ -This step sets Slack as a destination app. -. A user clicks a Slack app action on a saved answer or Liveboard visualization, and invokes the workflow. - -+ -This step initiates the OAuth workflow to secure data transactions between the source and destination app. -. ThoughtSpot requests access to the users' Slack workspace. -. The user authorizes the request. - -+ -This step creates a pipeline between ThoughtSpot and the destination app for data exchange. -. ThoughtSpot obtains a list of channels from the user's Slack workspace. -. The user selects a channel and clicks **Send now**. -. ThoughtSpot pushes the answer data or insights from the visualization to the specified channel in the specified file format. - - -== Get started - -The Slack app integration procedure involves the following steps: - -. xref:push-data-to-slack.adoc#app-action-slack[Create an app action with Slack as the destination app] -. xref:push-data-to-slack.adoc#initiateActionSlack[Initiate a data push request to Slack] -. xref:push-data-to-slack.adoc#viewInSlack[View insights in your Slack workspace] - -[#app-action-slack] -=== Create an app action with Slack as the destination app - -To create an app action for Slack, complete the following steps: - -. Log in to ThoughtSpot with your admin or developer user credentials. -. Go to *Develop* > *Customizations* > *Custom actions*. -. Click *Create action*. -. Enter a name for the action. For example, __Send to Slack__. -. Select the *App* option and then select **Slack** from the *Select app* drop-down. -+ -Note that the app action ID is generated automatically. - -. To add this action globally to all visualizations and saved answers, select *On by default on all visualizations*. -+ -If you do not select this checkbox, the app action is set as *Local* and is not assigned to any visualization or saved answer. - -+ -[.bordered] -image:./images/app-action-dev.png[App action creation, width=auto] - -+ -. To restrict action availability to specific user groups, click *Show advanced availability settings*, and select the groups. - -. Click *Create action*. - -. To view the custom action you just created, navigate to a visualization or saved answer page. - -+ -include::{path}/global-local-action.adoc[] - - -[#initiateActionSlack] -=== Initiate the app action - -Before you begin, perform the following checks: - -* You have access to a Slack workspace. -* The *New Answer experience* is enabled on your ThoughtSpot application instance. -* The Slack app action is added to a visualization or saved answer on your instance. - -[NOTE] -==== -The Slack app authorization page opens as a pop-up. Make sure your web browser allows pop-ups from the ThoughtSpot application. -==== - -To initiate a data push request to your Slack workspace, complete the following steps: - -. Go to a Liveboard visualization or saved answer page. - -. If you have created an answer from a new query, make sure you save the answer. -+ -If the app action is set as a global action, the action will appear in the **More** menu image:./images/icon-more-10px.png[the more options menu]. If the action is set as a local app action, you must add it to your answer page. - -. Click the action to initiate a data push request. - -+ -[.bordered] -image::./images/initiate-app-action.png[Initiate an app action] - -. In the app authorization pop-up, select your Slack workspace. - -If the ThoughtSpot app is not installed in your Slack workspace:: - -The app authorization page prompts you to install the app. - -* If you have admin rights to your workspace, complete the installation, and then retry the Slack action workflow. - -* If you don't have access rights to install the app in your Slack workspace: -.. Click **Submit** to send a request to your workspace administrator. You can also add a message for your workspace administrator in the request. -+ -Your Slack workspace administrator will receive a Slackbot notification to approve the request. - -.. Close the app authorization pop-up and return to the ThoughtSpot UI. -.. Wait until your request is approved by the Slack workspace administrator. If your request is approved, you will receive a notification via email and Slackbot. -+ -If your request is not approved, the app authorization pop-up displays the *Your request is already submitted* message when you re-initiate the Slack app action. Contact your Slack administrator and ensure that the ThoughtSpot app is installed in your workspace. - -.. After you receive a notification from Slackbot or email about the request approval, re-initiate the data push workflow by clicking the app action in the ThoughtSpot UI. - -+ -If the ThoughtSpot app is installed in your Slack workspace:: -ThoughtSpot requests access to your Slack workspace and opens the app authorization pop-up. -+ -If you are not logged in to Slack workspace, the app authorization page prompts you to sign in. To continue with the integration, sign in with your credentials. - -. To authorize ThoughtSpot to send data, click **Allow**. - -+ -This step is required only if you are using the Slack integration action for the first time or when ThoughtSpot refreshes its OAuth access token. - -. Wait for ThoughtSpot to connect to your workspace and obtain a list of channels. - -+ -If the connection is successful, the app action dialog in the ThoughtSpot UI displays a list of Slack channels. - -+ -[.bordered] -image:./images/send-to-slack.png[Initiate an app action, width=auto] - -. Select a channel from the *Slack channel* drop-down. -+ -You can also search for a channel and then select it. - -. If required, modify the title of the data. -. Specify the text to send in your Slack message. -. Specify if the data must be sent as a PNG file or in the CSV format, or both. -+ - -[NOTE] -==== -ThoughtSpot does not support sending data in the PNG format if a chart or table does not include measures. -==== -. Click **Send now**. - -[#viewInSlack] -=== View insights in your Slack workspace - -To view the insights sent to a Slack channel: - -. Go to your Slack workspace. -. Click the channel to which you have sent the data. -. Verify the data in the CSV and image files. -+ -To view the source app details in your Slack workspace, go to *Apps* in your Slack app. - - From 91b8f0241d1f3ea932229936f6cfaedd3967a62e Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 06:12:12 +0530 Subject: [PATCH 022/105] outdated page deleted --- modules/ROOT/pages/push-data-to-slack.adoc | 177 --------------------- 1 file changed, 177 deletions(-) delete mode 100644 modules/ROOT/pages/push-data-to-slack.adoc diff --git a/modules/ROOT/pages/push-data-to-slack.adoc b/modules/ROOT/pages/push-data-to-slack.adoc deleted file mode 100644 index 273ad8486..000000000 --- a/modules/ROOT/pages/push-data-to-slack.adoc +++ /dev/null @@ -1,177 +0,0 @@ - -= Push data to a Slack workspace[beta betaBackground]^Beta^ -:toc: true - -:page-title: Integrate ThoughtSpot with Slack app -:page-pageid: slack-integration -:page-description: You can connect users to their Slack workspace via app actions and allow them to push insights to a Slack channel - -With most businesses using Slack for communication and team collaboration, business users and analysts may want to deliver insights to their Slack workspace from the ThoughtSpot UI. ThoughtSpot makes it easier for your developers to automate the app integration workflow and enable seamless integration with your business apps. With app actions, users can now connect their Slack workspace with ThoughtSpot and push insights directly to their Slack channels. - - -== Before you begin - -To integrate Slack workspaces with ThoughtSpot, you will need the following: - -* A ThoughtSpot user account with developer or admin privileges to create app actions -* A ThoughtSpot user with a Slack account -* A ThoughtSpot application instance with *New Answer Experience* enabled -* A saved answer or Liveboard visualization - - -== Integration workflow - -The Slack app integration workflow involves the following steps: - -. A developer or admin user creates an app action for Slack in the Developer portal. -+ -This step sets Slack as a destination app. -. A user clicks a Slack app action on a saved answer or Liveboard visualization, and invokes the workflow. - -+ -This step initiates the OAuth workflow to secure data transactions between the source and destination app. -. ThoughtSpot requests access to the users' Slack workspace. -. The user authorizes the request. - -+ -This step creates a pipeline between ThoughtSpot and the destination app for data exchange. -. ThoughtSpot obtains a list of channels from the user's Slack workspace. -. The user selects a channel and clicks **Send now**. -. ThoughtSpot pushes the answer data or insights from the visualization to the specified channel in the specified file format. - - -== Get started - -The Slack app integration procedure involves the following steps: - -. xref:push-data-to-slack.adoc#app-action-slack[Create an app action with Slack as the destination app] -. xref:push-data-to-slack.adoc#initiateActionSlack[Initiate a data push request to Slack] -. xref:push-data-to-slack.adoc#viewInSlack[View insights in your Slack workspace] - -[#app-action-slack] -=== Create an app action with Slack as the destination app - -To create an app action for Slack, complete the following steps: - -. Log in to ThoughtSpot with your admin or developer user credentials. -. Go to *Develop* > *Customizations* > *Custom actions*. -. Click *Create action*. -. Enter a name for the action. For example, __Send to Slack__. -. Select the *App* option and then select **Slack** from the *Select app* drop-down. -+ -Note that the app action ID is generated automatically. - -. To add this action globally to all visualizations and saved answers, select *On by default on all visualizations*. -+ -If you do not select this checkbox, the app action is set as *Local* and is not assigned to any visualization or saved answer. - -+ -[.bordered] -image:./images/app-action-dev.png[App action creation, width=auto] - -+ -. To restrict action availability to specific user groups, click *Show advanced availability settings*, and select the groups. - -. Click *Create action*. - -. To view the custom action you just created, navigate to a visualization or saved answer page. - -+ -include::{path}/global-local-action.adoc[] - - -[#initiateActionSlack] -=== Initiate the app action - -Before you begin, perform the following checks: - -* You have access to a Slack workspace. -* The *New Answer experience* is enabled on your ThoughtSpot application instance. -* The Slack app action is added to a visualization or saved answer on your instance. - -[NOTE] -==== -The Slack app authorization page opens as a pop-up. Make sure your web browser allows pop-ups from the ThoughtSpot application. -==== - -To initiate a data push request to your Slack workspace, complete the following steps: - -. Go to a Liveboard visualization or saved answer page. - -. If you have created an answer from a new query, make sure you save the answer. -+ -If the app action is set as a global action, the action will appear in the **More** menu image:./images/icon-more-10px.png[the more options menu]. If the action is set as a local app action, you must add it to your answer page. - -. Click the action to initiate a data push request. - -+ -[.bordered] -image::./images/initiate-app-action.png[Initiate an app action] - -. In the app authorization pop-up, select your Slack workspace. - -If the ThoughtSpot app is not installed in your Slack workspace:: - -The app authorization page prompts you to install the app. - -* If you have admin rights to your workspace, complete the installation, and then retry the Slack action workflow. - -* If you don't have access rights to install the app in your Slack workspace: -.. Click **Submit** to send a request to your workspace administrator. You can also add a message for your workspace administrator in the request. -+ -Your Slack workspace administrator will receive a Slackbot notification to approve the request. - -.. Close the app authorization pop-up and return to the ThoughtSpot UI. -.. Wait until your request is approved by the Slack workspace administrator. If your request is approved, you will receive a notification via email and Slackbot. -+ -If your request is not approved, the app authorization pop-up displays the *Your request is already submitted* message when you re-initiate the Slack app action. Contact your Slack administrator and ensure that the ThoughtSpot app is installed in your workspace. - -.. After you receive a notification from Slackbot or email about the request approval, re-initiate the data push workflow by clicking the app action in the ThoughtSpot UI. - -+ -If the ThoughtSpot app is installed in your Slack workspace:: -ThoughtSpot requests access to your Slack workspace and opens the app authorization pop-up. -+ -If you are not logged in to Slack workspace, the app authorization page prompts you to sign in. To continue with the integration, sign in with your credentials. - -. To authorize ThoughtSpot to send data, click **Allow**. - -+ -This step is required only if you are using the Slack integration action for the first time or when ThoughtSpot refreshes its OAuth access token. - -. Wait for ThoughtSpot to connect to your workspace and obtain a list of channels. - -+ -If the connection is successful, the app action dialog in the ThoughtSpot UI displays a list of Slack channels. - -+ -[.bordered] -image:./images/send-to-slack.png[Initiate an app action, width=auto] - -. Select a channel from the *Slack channel* drop-down. -+ -You can also search for a channel and then select it. - -. If required, modify the title of the data. -. Specify the text to send in your Slack message. -. Specify if the data must be sent as a PNG file or in the CSV format, or both. -+ - -[NOTE] -==== -ThoughtSpot does not support sending data in the PNG format if a chart or table does not include measures. -==== -. Click **Send now**. - -[#viewInSlack] -=== View insights in your Slack workspace - -To view the insights sent to a Slack channel: - -. Go to your Slack workspace. -. Click the channel to which you have sent the data. -. Verify the data in the CSV and image files. -+ -To view the source app details in your Slack workspace, go to *Apps* in your Slack app. - - From 736dd5b74c9f4981d6ff13094cab8e4e04173146 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 07:07:16 +0530 Subject: [PATCH 023/105] css edits for search --- src/components/Search/index.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/Search/index.scss b/src/components/Search/index.scss index be0d8fc8e..afb3ae35e 100644 --- a/src/components/Search/index.scss +++ b/src/components/Search/index.scss @@ -43,8 +43,7 @@ height: $height-search-input; padding-left: $padding-left-search-input; font-size: 15px; - color: var(--border-color); - + color: var(--primary-color); font-family: $font-family-doc; padding-bottom: 1px; background: inherit; From 56c0a2d2ef1089ce073da59edb0679c39aea20d2 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 06:59:03 +0530 Subject: [PATCH 024/105] edits --- modules/ROOT/pages/embed-ts-react-app.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index 58eca50d9..f0bf63313 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -290,7 +290,7 @@ image::./images/viz-embed-react.png[] == Embed a saved answer -To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `savedAnswerGuid` property. +To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `answerId` property. === Create a saved answer component @@ -360,7 +360,7 @@ const SavedAnswer = () => { frameParams={{ height: 600, }} - savedAnswerGuid="" + answerId="" hideSearchBar={true} onInit={onInit} onLoad={onLoad} From 729eb574b3aecce64632857bbb6f5f53d592ab05 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 06:59:03 +0530 Subject: [PATCH 025/105] edits --- modules/ROOT/pages/embed-ts-react-app.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/embed-ts-react-app.adoc b/modules/ROOT/pages/embed-ts-react-app.adoc index 58eca50d9..f0bf63313 100644 --- a/modules/ROOT/pages/embed-ts-react-app.adoc +++ b/modules/ROOT/pages/embed-ts-react-app.adoc @@ -290,7 +290,7 @@ image::./images/viz-embed-react.png[] == Embed a saved answer -To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `savedAnswerGuid` property. +To embed a ThoughtSpot saved answer in your React app, use the `SearchEmbed` component with the `answerId` property. === Create a saved answer component @@ -360,7 +360,7 @@ const SavedAnswer = () => { frameParams={{ height: 600, }} - savedAnswerGuid="" + answerId="" hideSearchBar={true} onInit={onInit} onLoad={onLoad} From 06dbcc117f6dcbdaf8a89598393e2c046b802ad6 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 07:07:16 +0530 Subject: [PATCH 026/105] css edits for search --- src/components/Search/index.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/Search/index.scss b/src/components/Search/index.scss index be0d8fc8e..afb3ae35e 100644 --- a/src/components/Search/index.scss +++ b/src/components/Search/index.scss @@ -43,8 +43,7 @@ height: $height-search-input; padding-left: $padding-left-search-input; font-size: 15px; - color: var(--border-color); - + color: var(--primary-color); font-family: $font-family-doc; padding-bottom: 1px; background: inherit; From 72800c3fd74f1d1cd866fc3672f2611d58262756 Mon Sep 17 00:00:00 2001 From: ShashiSubramanya Date: Wed, 13 May 2026 14:33:27 +0530 Subject: [PATCH 027/105] template addition --- modules/ROOT/pages/3rd-party-script.adoc | 72 ------------------------ modules/_templates/concept.adoc | 32 +++++++++++ modules/_templates/procedure.adoc | 46 +++++++++++++++ modules/_templates/reference.adoc | 36 ++++++++++++ modules/_templates/release-notes.adoc | 29 ++++++++++ 5 files changed, 143 insertions(+), 72 deletions(-) delete mode 100644 modules/ROOT/pages/3rd-party-script.adoc create mode 100644 modules/_templates/concept.adoc create mode 100644 modules/_templates/procedure.adoc create mode 100644 modules/_templates/reference.adoc create mode 100644 modules/_templates/release-notes.adoc diff --git a/modules/ROOT/pages/3rd-party-script.adoc b/modules/ROOT/pages/3rd-party-script.adoc deleted file mode 100644 index a978ada50..000000000 --- a/modules/ROOT/pages/3rd-party-script.adoc +++ /dev/null @@ -1,72 +0,0 @@ -= External tools and script integration -:toc: true -:toclevels: 2 - -:page-title: Integrate external tools and allow scripts -:page-pageid: external-tool-script-integration -:page-description: Security settings for embedding - -ThoughtSpot supports integrating third-party apps such as Mixpanel, Pendo, LogRocket, and more in your embed. If you are using third-party tools to track usage, trace, log, or onboard your application users, you can seamlessly integrate these tools with ThoughtSpot embed and add custom JavaScript. This feature is disabled by default on ThoughtSpot instances. To enable this feature, contact ThoughtSpot Support. - -[IMPORTANT] -==== -While ThoughtSpot allows the injection of custom JavaScript, it is important to be aware of the associated security risks, particularly Cross-Site Scripting (XSS). XSS is a vulnerability that can enable malicious actors to inject and execute unauthorized scripts within a trusted environment. This can lead to data breaches, unauthorized access to user sessions, and compromised system integrity. ThoughtSpot strongly recommends reviewing security guidelines before activating this feature in your instances and exercising caution when integrating third-party tools into your embedded application. -==== - -== Security considerations - -Before requesting ThoughtSpot Support to enable this feature on your instance, do the following: - -* Review the security risks associated with custom-hosted scripts and understand the potential consequences of XSS attacks. -* Implement security controls and measures to validate hosted scripts and mitigate potential vulnerabilities. - -== Feature enablement - -Enabling third-party tools on embed involves two steps: - -. Request for feature activation and provide the script details to ThoughtSpot Support -. Adding the script sources to the CSP allowlist - -=== Request for feature enablement - -Create a ThoughtSpot Support ticket to enable the feature on your instance. In your request, specify the domain URLs that will host the scripts in your embedding environment. - -Wait for ThoughtSpot Support to validate and approve, and then add the domain that hosts the script to the CSP allowlist on your instance. This step will ensure that only the trusted and vetted domains are allowed to run scripts in your application environment. - -=== Add script source to CSP allowlist -After the script hosting URL is approved and configured by ThoughtSpot Support, you must add the JavaScript hosting domain to the CSP allowlist. This step requires administration privileges, so make sure you log in to ThoughtSpot with your administrator credentials. - -. In your ThoughtSpot application, navigate to *Develop* > *Customizations* > *Security Settings*. -. If your instance has the Orgs feature enabled, ensure that you are in the *All Orgs* context. -. On the *Security Settings* page, click *Edit* and turn on the *CSP script-src domains* toggle switch. -+ -[.widthAuto] -[.bordered] -image::./images/csp-script-domain.png[CSS script-src domain] -. Add the script hosting domain. -. Click *Save changes*. - -[NOTE] -==== -* The *CSP script-src domains* section is visible to users with administrative privileges only if the third-party integration feature is enabled on your instance. -* The *CSP script-src domains* cannot be enabled and configured at the Org level. When configured, this setting will apply to all the Orgs configured on your instance. -==== - -=== Allow Websocket endpoints -If your tool uses WebSockets, add the tool’s `wss://` endpoint to the CSP and CORS allowlists in ThoughtSpot. This enables secure WebSocket connections from an embedded ThoughtSpot page to the tool's WebSocket endpoint without being blocked by the browser’s Content Security Policy. - -Only hosts explicitly listed with `wss://` are permitted. You can add `wss://` URL in the **Develop** > **Security Settings** page. - -== Passing variables to the hosted script - -To pass variables to the customer's hosted script, Visual Embed SDK provides the `customVariablesForThirdPartyTools` parameter. The `customVariablesForThirdPartyTools` is an object containing the variables that you wish to pass to the customer’s hosted JavaScript. These may include private information such as credentials or keys. The hosted JavaScript will access these variables via the `window.tsEmbed` object. - -Developers can define this parameter in the **init()** function as shown in the following example. Once initialized, the JavaScript will run after the authentication is successfully completed in the ThoughtSpot Embed App. - -[source,JavaScript] ----- -init({ - //... - customVariablesForThirdPartyTools: { cloud: "123Basic" } -}); ----- diff --git a/modules/_templates/concept.adoc b/modules/_templates/concept.adoc new file mode 100644 index 000000000..9ed7514fc --- /dev/null +++ b/modules/_templates/concept.adoc @@ -0,0 +1,32 @@ += +:toc: true +:toclevels: 1 +:page-pageid: +:page-type: concept +:page-role: +:product-version: +:jira-ref: +// author: +// last-reviewed: + +// 1-2 sentence lead: what this concept is and why it matters. + +== How works + +// Explanation. Use diagrams (image::) where spatial relationships matter. +// Avoid procedure steps here — link to procedure pages instead. + +== Key components + +// Optional. Use a definition list for named parts: +Component name:: +Description of what it does. + +== Limitations and constraints + +// Known limitations, version-specific behaviour, or edge cases. +// TODO: verify with engineering + +== Related information + +* xref::/page.adoc[Link text] diff --git a/modules/_templates/procedure.adoc b/modules/_templates/procedure.adoc new file mode 100644 index 000000000..11a91ab2c --- /dev/null +++ b/modules/_templates/procedure.adoc @@ -0,0 +1,46 @@ += +:toc: true +:toclevels: 1 +:page-pageid: +:page-type: procedure +:page-role: +:product-version: +:jira-ref: +// author: +// last-reviewed: + +== Overview + +// 1-2 sentences: what this procedure accomplishes and who it is for. +// TODO: verify with engineering + +== Before you begin + +// Prerequisites as a list. Use "You must" or "You need" for each. +* +* + +== Procedure + +. Step one. Include the exact command or UI action. ++ +[source,bash] +---- +# example command here +---- + +. Step two. + +. Step three. + +== Result + +// What the user should see or be able to do after completing the procedure. + +== Next steps + +// Optional. Link to related procedures or concepts. + +== Related information + +* xref::/page.adoc[Link text] diff --git a/modules/_templates/reference.adoc b/modules/_templates/reference.adoc new file mode 100644 index 000000000..0a68ee866 --- /dev/null +++ b/modules/_templates/reference.adoc @@ -0,0 +1,36 @@ += +:toc: true +:toclevels: 1 +:page-pageid: +:page-type: reference +:page-role: +:product-version: +:jira-ref: +// author: +// last-reviewed: + +// Brief description of what this reference covers. + +[cols="1,1,1,3", options="header"] +|=== +|Parameter |Type |Required |Description + +|`param_name` +|string +|Yes +|Description of what this parameter does. Default: none. + +|=== + +== Example + +[source,json] +---- +{ + "param_name": "value" +} +---- + +== Related information + +* xref::/page.adoc[Link text] diff --git a/modules/_templates/release-notes.adoc b/modules/_templates/release-notes.adoc new file mode 100644 index 000000000..1f2366142 --- /dev/null +++ b/modules/_templates/release-notes.adoc @@ -0,0 +1,29 @@ += Release Notes: +:page-type: release-note +:page-role: +:product-version: +:jira-ref: + +== New features + +=== + +// One sentence describing what it does and who benefits. +// TODO: link to full feature documentation once published. + +== Improvements + +* Brief description. () + +== Bug fixes + +* Brief description of what was broken and what was fixed. () + +== Known issues + +* Description of the issue and any workaround. + +== Upgrade notes + +// Required only if this version includes breaking changes or migration steps. +// TODO: verify with engineering \ No newline at end of file From 894f1ea9e50b3d8f8841ead563b55bfcfafcf369 Mon Sep 17 00:00:00 2001 From: Prashant Patil Date: Wed, 13 May 2026 14:59:30 +0530 Subject: [PATCH 028/105] remove tb - frame --- modules/ROOT/pages/common/nav.adoc | 2 +- src/components/DevDocTemplate/index.tsx | 13 ++------- .../playGround/ThemeBuilder.tsx | 27 ------------------- src/configs/doc-configs.js | 1 - 4 files changed, 3 insertions(+), 40 deletions(-) delete mode 100644 src/components/DevDocTemplate/playGround/ThemeBuilder.tsx diff --git a/modules/ROOT/pages/common/nav.adoc b/modules/ROOT/pages/common/nav.adoc index 9b6a374fa..eaf56c0a3 100644 --- a/modules/ROOT/pages/common/nav.adoc +++ b/modules/ROOT/pages/common/nav.adoc @@ -25,7 +25,7 @@ Live Playgrounds ** link:{{navprefix}}/rest-playground[How to use] //** link:{{navprefix}}/graphql-play-ground[GraphQL Playground] //** +++REST API v1 Playground+++ -* link:{{navprefix}}/theme-builder[Theme Builder] +* +++Theme Builder+++ ** link:{{navprefix}}/theme-builder-doc[How to use] diff --git a/src/components/DevDocTemplate/index.tsx b/src/components/DevDocTemplate/index.tsx index 4edeaef04..5b39cb647 100644 --- a/src/components/DevDocTemplate/index.tsx +++ b/src/components/DevDocTemplate/index.tsx @@ -51,7 +51,6 @@ import { } from '../../constants/uiConstants'; import t from '../../utils/lang-utils'; import { getHTMLFromComponent } from '../../utils/react-utils'; -import { ThemeBuilder } from './playGround/ThemeBuilder'; import VersionIframe from '../VersionIframe'; const DevDocTemplate: FC = (props) => { @@ -148,10 +147,7 @@ const DevDocTemplate: FC = (props) => { const isApiPlayground = params[TS_PAGE_ID_PARAM] === CUSTOM_PAGE_ID.API_PLAYGROUND; - const isThemeBuilder = - params[TS_PAGE_ID_PARAM] === CUSTOM_PAGE_ID.THEME_BUILDER; - - const isVersionedIframe = VERSION_DROPDOWN.some( +const isVersionedIframe = VERSION_DROPDOWN.some( (version) => props?.pageContext?.iframeUrl && version.iframeUrl === props?.pageContext?.iframeUrl, @@ -168,7 +164,6 @@ const DevDocTemplate: FC = (props) => { const isPlayGround = isGQPlayGround || isApiPlayground || - isThemeBuilder || isVersionedIframe; const isAskDocsPage = params[TS_PAGE_ID_PARAM] === CUSTOM_PAGE_ID.ASK_DOCS; @@ -546,11 +541,7 @@ const DevDocTemplate: FC = (props) => { /> ); - if (isThemeBuilder) { - return ; - } - - if (isVersionedIframe) { +if (isVersionedIframe) { return ( = (props) => { - const playgroundUrl = 'https://theme-builder-embed-prod.vercel.app/'; - - return ( -
- -