@thoughtspot/visual-embed-sdk 1.52.0 → 1.52.2-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/package.json +19 -4
- package/cjs/src/contracts/contracts.spec.d.ts +2 -0
- package/cjs/src/contracts/contracts.spec.d.ts.map +1 -0
- package/cjs/src/contracts/contracts.spec.js +345 -0
- package/cjs/src/contracts/contracts.spec.js.map +1 -0
- package/cjs/src/contracts/embed-event-payloads.d.ts +73 -0
- package/cjs/src/contracts/embed-event-payloads.d.ts.map +1 -0
- package/cjs/src/contracts/embed-event-payloads.js +3 -0
- package/cjs/src/contracts/embed-event-payloads.js.map +1 -0
- package/cjs/src/contracts/host-event-contracts.d.ts +416 -0
- package/cjs/src/contracts/host-event-contracts.d.ts.map +1 -0
- package/cjs/src/contracts/host-event-contracts.js +3 -0
- package/cjs/src/contracts/host-event-contracts.js.map +1 -0
- package/cjs/src/contracts/index.d.ts +22 -0
- package/cjs/src/contracts/index.d.ts.map +1 -0
- package/cjs/src/contracts/index.js +33 -0
- package/cjs/src/contracts/index.js.map +1 -0
- package/cjs/src/contracts/ui-passthrough-contracts.d.ts +277 -0
- package/cjs/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
- package/cjs/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
- package/cjs/src/contracts/ui-passthrough-contracts.js.map +1 -0
- package/cjs/src/embed/app.d.ts +21 -143
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +21 -121
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +80 -26
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/auto-frame-renderer.js +1 -1
- package/cjs/src/embed/auto-frame-renderer.js.map +1 -1
- package/cjs/src/embed/auto-frame-renderer.spec.js +24 -13
- package/cjs/src/embed/auto-frame-renderer.spec.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +1 -1
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +1 -0
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +4 -4
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +35 -24
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/embedConfig.spec.js +2 -1
- package/cjs/src/embed/embedConfig.spec.js.map +1 -1
- package/cjs/src/embed/events.spec.js +12 -2
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +5 -4
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +34 -23
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +50 -44
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts +10 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.js +52 -6
- package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.spec.js +151 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +13 -164
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +72 -135
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +213 -29
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/search-bar.js +1 -1
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +14 -0
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +5 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +85 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +8 -1
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +14 -1
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +26 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +20 -22
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +171 -66
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +486 -38
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.js +1 -1
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/full-height.d.ts +137 -0
- package/cjs/src/full-height.d.ts.map +1 -0
- package/cjs/src/full-height.js +272 -0
- package/cjs/src/full-height.js.map +1 -0
- package/cjs/src/full-height.spec.d.ts +2 -0
- package/cjs/src/full-height.spec.d.ts.map +1 -0
- package/cjs/src/full-height.spec.js +835 -0
- package/cjs/src/full-height.spec.js.map +1 -0
- package/cjs/src/index.d.ts +5 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +6 -4
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/all-types-export.parity.spec.js +55 -3
- package/cjs/src/react/all-types-export.parity.spec.js.map +1 -1
- package/cjs/src/types.d.ts +584 -24
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +370 -22
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js +2 -1
- package/cjs/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
- package/cjs/src/utils/custom-actions.spec.js +4 -2
- package/cjs/src/utils/custom-actions.spec.js.map +1 -1
- package/cjs/src/utils/filterConverter.d.ts +106 -0
- package/cjs/src/utils/filterConverter.d.ts.map +1 -0
- package/cjs/src/utils/filterConverter.js +215 -0
- package/cjs/src/utils/filterConverter.js.map +1 -0
- package/cjs/src/utils/filterConverter.spec.d.ts +2 -0
- package/cjs/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/cjs/src/utils/filterConverter.spec.js +709 -0
- package/cjs/src/utils/filterConverter.spec.js.map +1 -0
- package/cjs/src/utils/processData.spec.js +2 -1
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +3 -1
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +19 -51
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils/transport/iframe-transport.d.ts +55 -0
- package/cjs/src/utils/transport/iframe-transport.d.ts.map +1 -0
- package/cjs/src/utils/transport/iframe-transport.js +108 -0
- package/cjs/src/utils/transport/iframe-transport.js.map +1 -0
- package/cjs/src/utils/transport/iframe-transport.spec.d.ts +2 -0
- package/cjs/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
- package/cjs/src/utils/transport/iframe-transport.spec.js +140 -0
- package/cjs/src/utils/transport/iframe-transport.spec.js.map +1 -0
- package/cjs/src/utils.d.ts +18 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +39 -1
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +62 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-BMppCU63.js → index-CcBYlGo9.js} +1 -1
- package/dist/src/contracts/contracts.spec.d.ts +2 -0
- package/dist/src/contracts/contracts.spec.d.ts.map +1 -0
- package/dist/src/contracts/embed-event-payloads.d.ts +73 -0
- package/dist/src/contracts/embed-event-payloads.d.ts.map +1 -0
- package/dist/src/contracts/host-event-contracts.d.ts +416 -0
- package/dist/src/contracts/host-event-contracts.d.ts.map +1 -0
- package/dist/src/contracts/index.d.ts +22 -0
- package/dist/src/contracts/index.d.ts.map +1 -0
- package/dist/src/contracts/ui-passthrough-contracts.d.ts +277 -0
- package/dist/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
- package/dist/src/embed/app.d.ts +21 -143
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +1 -0
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +5 -4
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/utils.d.ts +10 -1
- package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +13 -164
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +14 -0
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +8 -1
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +20 -22
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/full-height.d.ts +137 -0
- package/dist/src/full-height.d.ts.map +1 -0
- package/dist/src/full-height.spec.d.ts +2 -0
- package/dist/src/full-height.spec.d.ts.map +1 -0
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/types.d.ts +584 -24
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/filterConverter.d.ts +106 -0
- package/dist/src/utils/filterConverter.d.ts.map +1 -0
- package/dist/src/utils/filterConverter.spec.d.ts +2 -0
- package/dist/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/dist/src/utils/processTrigger.d.ts +3 -1
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils/transport/iframe-transport.d.ts +55 -0
- package/dist/src/utils/transport/iframe-transport.d.ts.map +1 -0
- package/dist/src/utils/transport/iframe-transport.spec.d.ts +2 -0
- package/dist/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
- package/dist/src/utils.d.ts +18 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +1144 -412
- package/dist/tsembed-react.js +1143 -411
- package/dist/tsembed.es.js +1357 -418
- package/dist/tsembed.js +1352 -412
- package/dist/visual-embed-sdk-react-full.d.ts +1514 -651
- package/dist/visual-embed-sdk-react.d.ts +1351 -632
- package/dist/visual-embed-sdk.d.ts +1508 -668
- package/lib/package.json +19 -4
- package/lib/src/contracts/contracts.spec.d.ts +2 -0
- package/lib/src/contracts/contracts.spec.d.ts.map +1 -0
- package/lib/src/contracts/contracts.spec.js +342 -0
- package/lib/src/contracts/contracts.spec.js.map +1 -0
- package/lib/src/contracts/embed-event-payloads.d.ts +73 -0
- package/lib/src/contracts/embed-event-payloads.d.ts.map +1 -0
- package/lib/src/contracts/embed-event-payloads.js +2 -0
- package/lib/src/contracts/embed-event-payloads.js.map +1 -0
- package/lib/src/contracts/host-event-contracts.d.ts +416 -0
- package/lib/src/contracts/host-event-contracts.d.ts.map +1 -0
- package/lib/src/contracts/host-event-contracts.js +2 -0
- package/lib/src/contracts/host-event-contracts.js.map +1 -0
- package/lib/src/contracts/index.d.ts +22 -0
- package/lib/src/contracts/index.d.ts.map +1 -0
- package/lib/src/contracts/index.js +22 -0
- package/lib/src/contracts/index.js.map +1 -0
- package/lib/src/contracts/ui-passthrough-contracts.d.ts +277 -0
- package/lib/src/contracts/ui-passthrough-contracts.d.ts.map +1 -0
- package/lib/src/{embed/hostEventClient/contracts.js → contracts/ui-passthrough-contracts.js} +6 -2
- package/lib/src/contracts/ui-passthrough-contracts.js.map +1 -0
- package/lib/src/embed/app.d.ts +21 -143
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +23 -123
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +80 -26
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/auto-frame-renderer.js +1 -1
- package/lib/src/embed/auto-frame-renderer.js.map +1 -1
- package/lib/src/embed/auto-frame-renderer.spec.js +24 -13
- package/lib/src/embed/auto-frame-renderer.spec.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +1 -1
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +1 -0
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +5 -5
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +35 -24
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/embedConfig.spec.js +2 -1
- package/lib/src/embed/embedConfig.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +12 -2
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +5 -4
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +19 -8
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +15 -9
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.d.ts +10 -1
- package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/utils.js +48 -3
- package/lib/src/embed/hostEventClient/utils.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.spec.js +152 -1
- package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +13 -164
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +73 -136
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +213 -29
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/search-bar.js +1 -1
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +14 -0
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +5 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +85 -0
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +8 -1
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +12 -0
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +27 -1
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +20 -22
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +171 -66
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +484 -36
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.js +1 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/full-height.d.ts +137 -0
- package/lib/src/full-height.d.ts.map +1 -0
- package/lib/src/full-height.js +268 -0
- package/lib/src/full-height.js.map +1 -0
- package/lib/src/full-height.spec.d.ts +2 -0
- package/lib/src/full-height.spec.d.ts.map +1 -0
- package/lib/src/full-height.spec.js +833 -0
- package/lib/src/full-height.spec.js.map +1 -0
- package/lib/src/index.d.ts +5 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +3 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/all-types-export.parity.spec.js +55 -3
- package/lib/src/react/all-types-export.parity.spec.js.map +1 -1
- package/lib/src/types.d.ts +584 -24
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +370 -22
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.js +2 -1
- package/lib/src/utils/authService/tokenizedAuthService.spec.js.map +1 -1
- package/lib/src/utils/custom-actions.spec.js +4 -2
- package/lib/src/utils/custom-actions.spec.js.map +1 -1
- package/lib/src/utils/filterConverter.d.ts +106 -0
- package/lib/src/utils/filterConverter.d.ts.map +1 -0
- package/lib/src/utils/filterConverter.js +210 -0
- package/lib/src/utils/filterConverter.js.map +1 -0
- package/lib/src/utils/filterConverter.spec.d.ts +2 -0
- package/lib/src/utils/filterConverter.spec.d.ts.map +1 -0
- package/lib/src/utils/filterConverter.spec.js +707 -0
- package/lib/src/utils/filterConverter.spec.js.map +1 -0
- package/lib/src/utils/processData.spec.js +2 -1
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +3 -1
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +19 -51
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/transport/iframe-transport.d.ts +55 -0
- package/lib/src/utils/transport/iframe-transport.d.ts.map +1 -0
- package/lib/src/utils/transport/iframe-transport.js +101 -0
- package/lib/src/utils/transport/iframe-transport.js.map +1 -0
- package/lib/src/utils/transport/iframe-transport.spec.d.ts +2 -0
- package/lib/src/utils/transport/iframe-transport.spec.d.ts.map +1 -0
- package/lib/src/utils/transport/iframe-transport.spec.js +138 -0
- package/lib/src/utils/transport/iframe-transport.spec.js.map +1 -0
- package/lib/src/utils.d.ts +18 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +37 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +63 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +1508 -668
- package/package.json +19 -4
- package/src/contracts/contracts.spec.ts +392 -0
- package/src/contracts/embed-event-payloads.ts +83 -0
- package/src/contracts/host-event-contracts.ts +500 -0
- package/src/contracts/index.ts +53 -0
- package/src/contracts/ui-passthrough-contracts.ts +301 -0
- package/src/embed/app.spec.ts +101 -34
- package/src/embed/app.ts +42 -268
- package/src/embed/auto-frame-renderer.spec.ts +24 -13
- package/src/embed/auto-frame-renderer.ts +1 -1
- package/src/embed/bodyless-conversation.ts +1 -1
- package/src/embed/conversation.spec.ts +38 -27
- package/src/embed/conversation.ts +5 -5
- package/src/embed/embedConfig.spec.ts +2 -1
- package/src/embed/events.spec.ts +14 -2
- package/src/embed/hostEventClient/host-event-client.spec.ts +16 -10
- package/src/embed/hostEventClient/host-event-client.ts +31 -10
- package/src/embed/hostEventClient/utils.spec.ts +176 -1
- package/src/embed/hostEventClient/utils.ts +53 -3
- package/src/embed/liveboard.spec.ts +261 -41
- package/src/embed/liveboard.ts +85 -300
- package/src/embed/search-bar.tsx +1 -1
- package/src/embed/search.spec.ts +103 -0
- package/src/embed/search.ts +21 -1
- package/src/embed/spotter-utils.spec.ts +29 -0
- package/src/embed/spotter-utils.ts +16 -0
- package/src/embed/ts-embed.spec.ts +650 -36
- package/src/embed/ts-embed.ts +205 -76
- package/src/errors.ts +1 -1
- package/src/full-height.spec.ts +1008 -0
- package/src/full-height.ts +361 -0
- package/src/index.ts +103 -5
- package/src/react/all-types-export.parity.spec.ts +63 -3
- package/src/react/all-types-export.ts +49 -0
- package/src/types.ts +584 -22
- package/src/utils/authService/tokenizedAuthService.spec.ts +2 -1
- package/src/utils/custom-actions.spec.ts +4 -2
- package/src/utils/filterConverter.spec.ts +801 -0
- package/src/utils/filterConverter.ts +304 -0
- package/src/utils/processData.spec.ts +2 -1
- package/src/utils/processTrigger.ts +28 -58
- package/src/utils/transport/iframe-transport.spec.ts +177 -0
- package/src/utils/transport/iframe-transport.ts +122 -0
- package/src/utils.spec.ts +71 -0
- package/src/utils.ts +38 -0
- package/cjs/src/embed/hostEventClient/contracts.d.ts +0 -231
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +0 -1
- package/cjs/src/embed/hostEventClient/contracts.js.map +0 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +0 -231
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +0 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +0 -231
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +0 -1
- package/lib/src/embed/hostEventClient/contracts.js.map +0 -1
- package/src/embed/hostEventClient/contracts.ts +0 -262
|
@@ -1299,6 +1299,280 @@ export declare class AnswerService {
|
|
|
1299
1299
|
addDisplayedVizToLiveboard(liveboardId: string): Promise<any>;
|
|
1300
1300
|
setTMLOverride(override: any): void;
|
|
1301
1301
|
}
|
|
1302
|
+
export interface LiveboardTab {
|
|
1303
|
+
id: string;
|
|
1304
|
+
name: string;
|
|
1305
|
+
[key: string]: any;
|
|
1306
|
+
}
|
|
1307
|
+
export interface LiveboardGroup {
|
|
1308
|
+
id: string;
|
|
1309
|
+
name: string;
|
|
1310
|
+
[key: string]: any;
|
|
1311
|
+
}
|
|
1312
|
+
/**
|
|
1313
|
+
* Levels at which a filter or parameter can be applied.
|
|
1314
|
+
*/
|
|
1315
|
+
export declare enum ApplicabilityLevel {
|
|
1316
|
+
Liveboard = "LIVEBOARD",
|
|
1317
|
+
Tab = "TAB",
|
|
1318
|
+
Group = "GROUP"
|
|
1319
|
+
}
|
|
1320
|
+
/**
|
|
1321
|
+
* Scopes a filter or parameter to a specific target.
|
|
1322
|
+
* At `LIVEBOARD` level the filter applies to the whole Liveboard, so `targetId`
|
|
1323
|
+
* is not required. `level` accepts the enum or its string value, e.g. `'TAB'`.
|
|
1324
|
+
*/
|
|
1325
|
+
export interface Applicability {
|
|
1326
|
+
level: ApplicabilityLevel | `${ApplicabilityLevel}`;
|
|
1327
|
+
targetId?: string;
|
|
1328
|
+
}
|
|
1329
|
+
export interface FilterUpdate {
|
|
1330
|
+
column: string;
|
|
1331
|
+
oper: string;
|
|
1332
|
+
values: string[];
|
|
1333
|
+
type?: string;
|
|
1334
|
+
applicability?: Applicability;
|
|
1335
|
+
}
|
|
1336
|
+
export interface LiveboardFilter {
|
|
1337
|
+
applicability?: Applicability;
|
|
1338
|
+
[key: string]: any;
|
|
1339
|
+
}
|
|
1340
|
+
export interface LiveboardParameter {
|
|
1341
|
+
applicability?: Applicability;
|
|
1342
|
+
[key: string]: any;
|
|
1343
|
+
}
|
|
1344
|
+
export declare enum UIPassthroughEvent {
|
|
1345
|
+
PinAnswerToLiveboard = "addVizToPinboard",
|
|
1346
|
+
SaveAnswer = "saveAnswer",
|
|
1347
|
+
GetDiscoverabilityStatus = "getDiscoverabilityStatus",
|
|
1348
|
+
GetAvailableUIPassthroughs = "getAvailableUiPassthroughs",
|
|
1349
|
+
GetAnswerConfig = "getAnswerPageConfig",
|
|
1350
|
+
GetLiveboardConfig = "getPinboardPageConfig",
|
|
1351
|
+
GetUnsavedAnswerTML = "getUnsavedAnswerTML",
|
|
1352
|
+
UpdateFilters = "updateFilters",
|
|
1353
|
+
Drilldown = "drillDown",
|
|
1354
|
+
GetAnswerSession = "getAnswerSession",
|
|
1355
|
+
GetFilters = "getFilters",
|
|
1356
|
+
GetIframeUrl = "getIframeUrl",
|
|
1357
|
+
GetParameters = "getParameters",
|
|
1358
|
+
GetTML = "getTML",
|
|
1359
|
+
GetTabs = "getTabs",
|
|
1360
|
+
GetGroups = "getGroups",
|
|
1361
|
+
GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
|
|
1362
|
+
}
|
|
1363
|
+
/**
|
|
1364
|
+
* UI passthrough contract. Each event's request/response is a named interface so it
|
|
1365
|
+
* documents and imports cleanly; `UIPassthroughContractBase` maps events to the pairs.
|
|
1366
|
+
*/
|
|
1367
|
+
/** Request for {@link UIPassthroughEvent.PinAnswerToLiveboard}. */
|
|
1368
|
+
export interface PinAnswerToLiveboardRequest {
|
|
1369
|
+
vizId?: string;
|
|
1370
|
+
newVizName: string;
|
|
1371
|
+
newVizDescription?: string;
|
|
1372
|
+
liveboardId?: string;
|
|
1373
|
+
tabId?: string;
|
|
1374
|
+
newLiveboardName?: string;
|
|
1375
|
+
newTabName?: string;
|
|
1376
|
+
}
|
|
1377
|
+
/** Response for {@link UIPassthroughEvent.PinAnswerToLiveboard}. */
|
|
1378
|
+
export interface PinAnswerToLiveboardResponse {
|
|
1379
|
+
liveboardId: string;
|
|
1380
|
+
tabId: string;
|
|
1381
|
+
vizId: string;
|
|
1382
|
+
}
|
|
1383
|
+
/** Request for {@link UIPassthroughEvent.SaveAnswer}. */
|
|
1384
|
+
export interface SaveAnswerRequest {
|
|
1385
|
+
name: string;
|
|
1386
|
+
description: string;
|
|
1387
|
+
vizId?: string;
|
|
1388
|
+
isDiscoverable?: boolean;
|
|
1389
|
+
}
|
|
1390
|
+
/** Response for {@link UIPassthroughEvent.SaveAnswer}. */
|
|
1391
|
+
export interface SaveAnswerResponse {
|
|
1392
|
+
answerId: string;
|
|
1393
|
+
saveResponse?: any;
|
|
1394
|
+
shareResponse?: any;
|
|
1395
|
+
}
|
|
1396
|
+
/** Response for {@link UIPassthroughEvent.GetDiscoverabilityStatus}. */
|
|
1397
|
+
export interface GetDiscoverabilityStatusResponse {
|
|
1398
|
+
shouldShowDiscoverability: boolean;
|
|
1399
|
+
isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
|
|
1400
|
+
}
|
|
1401
|
+
/** Response for {@link UIPassthroughEvent.GetAvailableUIPassthroughs}. */
|
|
1402
|
+
export interface GetAvailableUIPassthroughsResponse {
|
|
1403
|
+
keys: string[];
|
|
1404
|
+
}
|
|
1405
|
+
/** Request for {@link UIPassthroughEvent.GetAnswerConfig}. */
|
|
1406
|
+
export interface GetAnswerConfigRequest {
|
|
1407
|
+
vizId?: string;
|
|
1408
|
+
}
|
|
1409
|
+
/** Request for {@link UIPassthroughEvent.GetUnsavedAnswerTML}. */
|
|
1410
|
+
export interface GetUnsavedAnswerTMLRequest {
|
|
1411
|
+
sessionId?: string;
|
|
1412
|
+
vizId?: string;
|
|
1413
|
+
}
|
|
1414
|
+
/** Response for {@link UIPassthroughEvent.GetUnsavedAnswerTML}. */
|
|
1415
|
+
export interface GetUnsavedAnswerTMLResponse {
|
|
1416
|
+
tml: string;
|
|
1417
|
+
}
|
|
1418
|
+
/** Request for {@link UIPassthroughEvent.GetAnswerSession}. */
|
|
1419
|
+
export interface GetAnswerSessionRequest {
|
|
1420
|
+
vizId?: string;
|
|
1421
|
+
}
|
|
1422
|
+
/** Response for {@link UIPassthroughEvent.GetAnswerSession}. */
|
|
1423
|
+
export interface GetAnswerSessionResponse {
|
|
1424
|
+
session: SessionInterface;
|
|
1425
|
+
embedAnswerData?: Record<string, any>;
|
|
1426
|
+
}
|
|
1427
|
+
/** Request for {@link UIPassthroughEvent.GetFilters}. */
|
|
1428
|
+
export interface GetFiltersRequest {
|
|
1429
|
+
vizId?: string;
|
|
1430
|
+
}
|
|
1431
|
+
/** Response for {@link UIPassthroughEvent.GetFilters}. */
|
|
1432
|
+
export interface GetFiltersResponse {
|
|
1433
|
+
liveboardFilters: LiveboardFilter[];
|
|
1434
|
+
runtimeFilters: RuntimeFilter[];
|
|
1435
|
+
}
|
|
1436
|
+
/** Response for {@link UIPassthroughEvent.GetIframeUrl}. */
|
|
1437
|
+
export interface GetIframeUrlResponse {
|
|
1438
|
+
iframeUrl: string;
|
|
1439
|
+
}
|
|
1440
|
+
/** Response for {@link UIPassthroughEvent.GetParameters}. */
|
|
1441
|
+
export interface GetParametersResponse {
|
|
1442
|
+
parameters: LiveboardParameter[];
|
|
1443
|
+
}
|
|
1444
|
+
/** Request for {@link UIPassthroughEvent.GetTML}. */
|
|
1445
|
+
export interface GetTMLRequest {
|
|
1446
|
+
vizId?: string;
|
|
1447
|
+
includeNonExecutedSearchTokens?: boolean;
|
|
1448
|
+
}
|
|
1449
|
+
/** Response for {@link UIPassthroughEvent.GetTabs}. */
|
|
1450
|
+
export interface GetTabsResponse {
|
|
1451
|
+
orderedTabIds: string[];
|
|
1452
|
+
numberOfTabs: number;
|
|
1453
|
+
Tabs: LiveboardTab[];
|
|
1454
|
+
}
|
|
1455
|
+
/** Response for {@link UIPassthroughEvent.GetGroups}. */
|
|
1456
|
+
export interface GetGroupsResponse {
|
|
1457
|
+
orderedGroupIds: string[];
|
|
1458
|
+
numberOfGroups: number;
|
|
1459
|
+
Groups: LiveboardGroup[];
|
|
1460
|
+
}
|
|
1461
|
+
/** Response for {@link UIPassthroughEvent.GetExportRequestForCurrentPinboard}. */
|
|
1462
|
+
export interface GetExportRequestForCurrentPinboardResponse {
|
|
1463
|
+
data: {
|
|
1464
|
+
v2Content: string;
|
|
1465
|
+
};
|
|
1466
|
+
type: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
|
|
1467
|
+
}
|
|
1468
|
+
/**
|
|
1469
|
+
* Request for {@link UIPassthroughEvent.UpdateFilters}. Not the host-event
|
|
1470
|
+
* `UpdateFiltersRequest` (host-event-contracts.ts), which has a different shape.
|
|
1471
|
+
*/
|
|
1472
|
+
export interface UpdateFiltersPassthroughRequest {
|
|
1473
|
+
filter?: FilterUpdate;
|
|
1474
|
+
filters?: FilterUpdate[];
|
|
1475
|
+
}
|
|
1476
|
+
/** Request for {@link UIPassthroughEvent.Drilldown}. */
|
|
1477
|
+
export interface DrilldownRequest {
|
|
1478
|
+
points: {
|
|
1479
|
+
selectedPoints?: string[];
|
|
1480
|
+
clickedPoint?: string;
|
|
1481
|
+
};
|
|
1482
|
+
columnGuid?: string;
|
|
1483
|
+
autoDrillDown?: boolean;
|
|
1484
|
+
vizId?: string;
|
|
1485
|
+
}
|
|
1486
|
+
/** Maps each UI passthrough event to its request/response pair. */
|
|
1487
|
+
export type UIPassthroughContractBase = {
|
|
1488
|
+
[UIPassthroughEvent.PinAnswerToLiveboard]: {
|
|
1489
|
+
request: PinAnswerToLiveboardRequest;
|
|
1490
|
+
response: PinAnswerToLiveboardResponse;
|
|
1491
|
+
};
|
|
1492
|
+
[UIPassthroughEvent.SaveAnswer]: {
|
|
1493
|
+
request: SaveAnswerRequest;
|
|
1494
|
+
response: SaveAnswerResponse;
|
|
1495
|
+
};
|
|
1496
|
+
[UIPassthroughEvent.GetDiscoverabilityStatus]: {
|
|
1497
|
+
request: any;
|
|
1498
|
+
response: GetDiscoverabilityStatusResponse;
|
|
1499
|
+
};
|
|
1500
|
+
[UIPassthroughEvent.GetAvailableUIPassthroughs]: {
|
|
1501
|
+
request: any;
|
|
1502
|
+
response: GetAvailableUIPassthroughsResponse;
|
|
1503
|
+
};
|
|
1504
|
+
[UIPassthroughEvent.GetAnswerConfig]: {
|
|
1505
|
+
request: GetAnswerConfigRequest;
|
|
1506
|
+
response: any;
|
|
1507
|
+
};
|
|
1508
|
+
[UIPassthroughEvent.GetLiveboardConfig]: {
|
|
1509
|
+
request: any;
|
|
1510
|
+
response: any;
|
|
1511
|
+
};
|
|
1512
|
+
[UIPassthroughEvent.GetUnsavedAnswerTML]: {
|
|
1513
|
+
request: GetUnsavedAnswerTMLRequest;
|
|
1514
|
+
response: GetUnsavedAnswerTMLResponse;
|
|
1515
|
+
};
|
|
1516
|
+
[UIPassthroughEvent.GetAnswerSession]: {
|
|
1517
|
+
request: GetAnswerSessionRequest;
|
|
1518
|
+
response: GetAnswerSessionResponse;
|
|
1519
|
+
};
|
|
1520
|
+
[UIPassthroughEvent.GetFilters]: {
|
|
1521
|
+
request: GetFiltersRequest;
|
|
1522
|
+
response: GetFiltersResponse;
|
|
1523
|
+
};
|
|
1524
|
+
[UIPassthroughEvent.GetIframeUrl]: {
|
|
1525
|
+
request: Record<string, never>;
|
|
1526
|
+
response: GetIframeUrlResponse;
|
|
1527
|
+
};
|
|
1528
|
+
[UIPassthroughEvent.GetParameters]: {
|
|
1529
|
+
request: Record<string, never>;
|
|
1530
|
+
response: GetParametersResponse;
|
|
1531
|
+
};
|
|
1532
|
+
[UIPassthroughEvent.GetTML]: {
|
|
1533
|
+
request: GetTMLRequest;
|
|
1534
|
+
response: Record<string, any>;
|
|
1535
|
+
};
|
|
1536
|
+
[UIPassthroughEvent.GetTabs]: {
|
|
1537
|
+
request: Record<string, never>;
|
|
1538
|
+
response: GetTabsResponse;
|
|
1539
|
+
};
|
|
1540
|
+
[UIPassthroughEvent.GetGroups]: {
|
|
1541
|
+
request: Record<string, never>;
|
|
1542
|
+
response: GetGroupsResponse;
|
|
1543
|
+
};
|
|
1544
|
+
[UIPassthroughEvent.GetExportRequestForCurrentPinboard]: {
|
|
1545
|
+
request: Record<string, never>;
|
|
1546
|
+
response: GetExportRequestForCurrentPinboardResponse;
|
|
1547
|
+
};
|
|
1548
|
+
[UIPassthroughEvent.UpdateFilters]: {
|
|
1549
|
+
request: UpdateFiltersPassthroughRequest;
|
|
1550
|
+
response: unknown;
|
|
1551
|
+
};
|
|
1552
|
+
[UIPassthroughEvent.Drilldown]: {
|
|
1553
|
+
request: DrilldownRequest;
|
|
1554
|
+
response: unknown;
|
|
1555
|
+
};
|
|
1556
|
+
};
|
|
1557
|
+
export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["request"];
|
|
1558
|
+
export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["response"];
|
|
1559
|
+
export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
|
|
1560
|
+
refId?: string;
|
|
1561
|
+
value?: UIPassthroughResponse<ApiName>;
|
|
1562
|
+
error?: any;
|
|
1563
|
+
}>;
|
|
1564
|
+
export type EmbedApiHostEventMapping = {
|
|
1565
|
+
[HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
|
|
1566
|
+
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
|
|
1567
|
+
[HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession;
|
|
1568
|
+
[HostEvent.GetFilters]: UIPassthroughEvent.GetFilters;
|
|
1569
|
+
[HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl;
|
|
1570
|
+
[HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
|
|
1571
|
+
[HostEvent.GetTML]: UIPassthroughEvent.GetTML;
|
|
1572
|
+
[HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
|
|
1573
|
+
[HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
|
|
1574
|
+
[HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
|
|
1575
|
+
};
|
|
1302
1576
|
/**
|
|
1303
1577
|
* The authentication mechanism for allowing access to
|
|
1304
1578
|
* the embedded app
|
|
@@ -3733,6 +4007,15 @@ export interface RuntimeParameter {
|
|
|
3733
4007
|
* Values
|
|
3734
4008
|
*/
|
|
3735
4009
|
value: number | boolean | string;
|
|
4010
|
+
/**
|
|
4011
|
+
* Whether the parameter is visible to the user (`UpdateParameters` only).
|
|
4012
|
+
*/
|
|
4013
|
+
isVisibleToUser?: boolean;
|
|
4014
|
+
/**
|
|
4015
|
+
* Scope of the update (`UpdateParameters` only). Omitting it, or `level`,
|
|
4016
|
+
* targets the Liveboard level.
|
|
4017
|
+
*/
|
|
4018
|
+
applicability?: Applicability;
|
|
3736
4019
|
}
|
|
3737
4020
|
/**
|
|
3738
4021
|
* Event types emitted by the embedded ThoughtSpot application.
|
|
@@ -4184,6 +4467,9 @@ export declare enum EmbedEvent {
|
|
|
4184
4467
|
Download = "download",
|
|
4185
4468
|
/**
|
|
4186
4469
|
* Emitted when the download action is triggered on an Answer.
|
|
4470
|
+
* Payload varies by context: {@link VizScopedRequest} (Search, Answer,
|
|
4471
|
+
* Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
|
|
4472
|
+
* accepts the union now; per-context enforced next release.
|
|
4187
4473
|
* Use start:true to subscribe to when download is initiated, or end:true to
|
|
4188
4474
|
* subscribe to when download is completed. Default is end:true.
|
|
4189
4475
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl, 9.4.0.sw
|
|
@@ -4200,6 +4486,9 @@ export declare enum EmbedEvent {
|
|
|
4200
4486
|
DownloadAsPng = "downloadAsPng",
|
|
4201
4487
|
/**
|
|
4202
4488
|
* Emitted when the Download as PDF action is triggered on an Answer
|
|
4489
|
+
* Payload varies by context: {@link VizScopedRequest} (Search, Answer; plus
|
|
4490
|
+
* liveboardId on Liveboard), {@link RequiredVizRequest} (Spotter). trigger()
|
|
4491
|
+
* accepts the union now; per-context enforced next release.
|
|
4203
4492
|
* Use start:true to subscribe to when download as PDF is initiated, or end:true to
|
|
4204
4493
|
* subscribe to when download as PDF is completed. Default is end:true.
|
|
4205
4494
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
|
|
@@ -4216,6 +4505,9 @@ export declare enum EmbedEvent {
|
|
|
4216
4505
|
DownloadAsPdf = "downloadAsPdf",
|
|
4217
4506
|
/**
|
|
4218
4507
|
* Emitted when the Download as CSV action is triggered on an Answer.
|
|
4508
|
+
* Payload varies by context: {@link VizScopedRequest} (Search, Answer,
|
|
4509
|
+
* Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
|
|
4510
|
+
* accepts the union now; per-context enforced next release.
|
|
4219
4511
|
* Use start:true to subscribe to when download as CSV is initiated, or end:true to
|
|
4220
4512
|
* subscribe to when download as CSV is completed. Default is end:true.
|
|
4221
4513
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
|
|
@@ -4232,6 +4524,9 @@ export declare enum EmbedEvent {
|
|
|
4232
4524
|
DownloadAsCsv = "downloadAsCsv",
|
|
4233
4525
|
/**
|
|
4234
4526
|
* Emitted when the Download as XLSX action is triggered on an Answer.
|
|
4527
|
+
* Payload varies by context: {@link VizScopedRequest} (Search, Answer,
|
|
4528
|
+
* Liveboard), {@link RequiredVizRequest} (Spotter, vizId required). trigger()
|
|
4529
|
+
* accepts the union now; per-context enforced next release.
|
|
4235
4530
|
* Use start:true to subscribe to when download as XLSX is initiated, or end:true to
|
|
4236
4531
|
* subscribe to when download as XLSX is completed. Default is end:true.
|
|
4237
4532
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
|
|
@@ -4510,6 +4805,9 @@ export declare enum EmbedEvent {
|
|
|
4510
4805
|
Schedule = "subscription",
|
|
4511
4806
|
/**
|
|
4512
4807
|
* Emitted when a user clicks **Edit** on a Liveboard or visualization
|
|
4808
|
+
* Payload varies by context: {@link VizScopedRequest} (Liveboard),
|
|
4809
|
+
* {@link RequiredVizRequest} (Spotter, vizId required). trigger() accepts the
|
|
4810
|
+
* union now; per-context enforced next release.
|
|
4513
4811
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
4514
4812
|
* @example
|
|
4515
4813
|
* ```js
|
|
@@ -5588,6 +5886,7 @@ export declare enum HostEvent {
|
|
|
5588
5886
|
* the search query string.
|
|
5589
5887
|
* Supported in `AppEmbed` and `SearchEmbed` deployments.
|
|
5590
5888
|
* Includes the following properties:
|
|
5889
|
+
* Payload: {@link SearchRequest}.
|
|
5591
5890
|
* @param - Includes the following keys:
|
|
5592
5891
|
* - `searchQuery`: Query string with search tokens.
|
|
5593
5892
|
* - `dataSources`: Data source GUID to search on.
|
|
@@ -5615,6 +5914,9 @@ export declare enum HostEvent {
|
|
|
5615
5914
|
Search = "search",
|
|
5616
5915
|
/**
|
|
5617
5916
|
* Triggers a drill on certain points of the specified column
|
|
5917
|
+
* Payload: {@link DrillDownRequest}; in Liveboard context vizId is required
|
|
5918
|
+
* ({@link RequiredVizRequest}). trigger() accepts the union now; per-context
|
|
5919
|
+
* enforced next release.
|
|
5618
5920
|
* Includes the following properties:
|
|
5619
5921
|
* @param - Includes the following keys:
|
|
5620
5922
|
* - `points`: An object containing `selectedPoints` and/or `clickedPoint`
|
|
@@ -5694,6 +5996,8 @@ export declare enum HostEvent {
|
|
|
5694
5996
|
Reload = "reload",
|
|
5695
5997
|
/**
|
|
5696
5998
|
* Get iframe URL for the current embed view.
|
|
5999
|
+
* Payload: none.
|
|
6000
|
+
* Response: {@link GetIframeUrlResponse}.
|
|
5697
6001
|
* @example
|
|
5698
6002
|
* ```js
|
|
5699
6003
|
* const url = embed.trigger(HostEvent.GetIframeUrl);
|
|
@@ -5712,6 +6016,7 @@ export declare enum HostEvent {
|
|
|
5712
6016
|
GetIframeUrl = "GetIframeUrl",
|
|
5713
6017
|
/**
|
|
5714
6018
|
* Display specific visualizations on a Liveboard.
|
|
6019
|
+
* Payload: `string[]`.
|
|
5715
6020
|
* @param - An array of GUIDs of the visualization to show. The visualization IDs not passed
|
|
5716
6021
|
* in this parameter will be hidden.
|
|
5717
6022
|
* @example
|
|
@@ -5734,6 +6039,7 @@ export declare enum HostEvent {
|
|
|
5734
6039
|
SetVisibleVizs = "SetPinboardVisibleVizs",
|
|
5735
6040
|
/**
|
|
5736
6041
|
* Set a Liveboard tab as an active tab.
|
|
6042
|
+
* Payload: {@link SetActiveTabRequest}.
|
|
5737
6043
|
* @param - tabId - string of id of Tab to show
|
|
5738
6044
|
* @example
|
|
5739
6045
|
* ```js
|
|
@@ -5761,6 +6067,7 @@ export declare enum HostEvent {
|
|
|
5761
6067
|
* and `AppEmbed` only. In full application embedding, this event updates
|
|
5762
6068
|
* the runtime filters applied on the Liveboard and saved Answer objects.
|
|
5763
6069
|
*
|
|
6070
|
+
* Payload: {@link RuntimeFilter}[].
|
|
5764
6071
|
* @param - Array of {@link RuntimeFilter} objects. Each item includes:
|
|
5765
6072
|
* - `columnName`: Name of the column to filter on.
|
|
5766
6073
|
* - `operator`: {@link RuntimeFilterOp} to apply. For more information, see
|
|
@@ -5802,6 +6109,7 @@ export declare enum HostEvent {
|
|
|
5802
6109
|
* Accepts either a plain value or an object with `path`
|
|
5803
6110
|
* and an optional `replace` flag.
|
|
5804
6111
|
*
|
|
6112
|
+
* Payload: `string` | `number` | {@link NavigateRequest}.
|
|
5805
6113
|
* @param data - A string path, a numeric history delta, or an object
|
|
5806
6114
|
* `{ path: string | number, replace?: boolean }`.
|
|
5807
6115
|
* - `path` — the route to navigate to, or a history delta such as `1`
|
|
@@ -5829,6 +6137,9 @@ export declare enum HostEvent {
|
|
|
5829
6137
|
/**
|
|
5830
6138
|
* Open the filter panel for a particular column.
|
|
5831
6139
|
* Works with Search and Liveboard embed.
|
|
6140
|
+
* Payload: {@link OpenFilterRequest} (the cross-context superset). The
|
|
6141
|
+
* accepted fields vary by context: {@link OpenFilterLiveboardRequest},
|
|
6142
|
+
* {@link OpenFilterSpotterRequest}, {@link OpenFilterSearchRequest}.
|
|
5832
6143
|
* @param - { columnId: string,
|
|
5833
6144
|
* name: string,
|
|
5834
6145
|
* type: ATTRIBUTE/MEASURE,
|
|
@@ -5911,6 +6222,7 @@ export declare enum HostEvent {
|
|
|
5911
6222
|
/**
|
|
5912
6223
|
* Open the parameter panel for a particular parameter on a Liveboard.
|
|
5913
6224
|
* Mirrors {@link HostEvent.OpenFilter} for parameters.
|
|
6225
|
+
* Payload: {@link OpenParameterRequest}.
|
|
5914
6226
|
* @param - Includes the following keys:
|
|
5915
6227
|
* - `parameter`: An object identifying the parameter to open, for
|
|
5916
6228
|
* example, `{ parameterId: '<parameter-GUID>' }`.
|
|
@@ -5942,6 +6254,7 @@ export declare enum HostEvent {
|
|
|
5942
6254
|
OpenParameter = "openParameter",
|
|
5943
6255
|
/**
|
|
5944
6256
|
* Add columns to the current search query.
|
|
6257
|
+
* Payload: `{ columnIds: string[] }`.
|
|
5945
6258
|
* @param - { columnIds: string[] }
|
|
5946
6259
|
* @example
|
|
5947
6260
|
* ```js
|
|
@@ -5960,6 +6273,7 @@ export declare enum HostEvent {
|
|
|
5960
6273
|
AddColumns = "addColumns",
|
|
5961
6274
|
/**
|
|
5962
6275
|
* Remove a column from the current search query.
|
|
6276
|
+
* Payload: `{ columnId: string }`.
|
|
5963
6277
|
* @param - { columnId: string }
|
|
5964
6278
|
* @example
|
|
5965
6279
|
* ```js
|
|
@@ -5984,6 +6298,8 @@ export declare enum HostEvent {
|
|
|
5984
6298
|
* sorting, toggling of legends, and data drill down.
|
|
5985
6299
|
* For more information, see
|
|
5986
6300
|
* link:https://developers.thoughtspot.com/docs/fetch-data-and-report-apis#transient-lb-content[Liveboard data with unsaved changes].
|
|
6301
|
+
* Payload: none.
|
|
6302
|
+
* Response: {@link GetExportRequestForCurrentPinboardResponse}.
|
|
5987
6303
|
* @example
|
|
5988
6304
|
* ```js
|
|
5989
6305
|
* liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
|
|
@@ -6005,6 +6321,8 @@ export declare enum HostEvent {
|
|
|
6005
6321
|
* requiring additional user input via the *Pin to Liveboard* modal, define
|
|
6006
6322
|
* the following parameters:
|
|
6007
6323
|
*
|
|
6324
|
+
* Payload: {@link PinAnswerToLiveboardRequest}.
|
|
6325
|
+
* Response: {@link PinAnswerToLiveboardResponse}.
|
|
6008
6326
|
* @param - Includes the following keys:
|
|
6009
6327
|
* - `vizId`: GUID of the saved Answer or Spotter visualization ID to pin to a
|
|
6010
6328
|
* Liveboard.
|
|
@@ -6119,6 +6437,7 @@ export declare enum HostEvent {
|
|
|
6119
6437
|
LiveboardInfo = "pinboardInfo",
|
|
6120
6438
|
/**
|
|
6121
6439
|
* Trigger the **Schedule** action on an embedded Liveboard.
|
|
6440
|
+
* Payload: {@link VizScopedRequest}.
|
|
6122
6441
|
* @example
|
|
6123
6442
|
* ```js
|
|
6124
6443
|
* liveboardEmbed.trigger(HostEvent.Schedule)
|
|
@@ -6134,6 +6453,7 @@ export declare enum HostEvent {
|
|
|
6134
6453
|
Schedule = "subscription",
|
|
6135
6454
|
/**
|
|
6136
6455
|
* Trigger the **Manage schedule** action on an embedded Liveboard
|
|
6456
|
+
* Payload: {@link VizScopedRequest}.
|
|
6137
6457
|
* @example
|
|
6138
6458
|
* ```js
|
|
6139
6459
|
* liveboardEmbed.trigger(HostEvent.SchedulesList)
|
|
@@ -6150,6 +6470,7 @@ export declare enum HostEvent {
|
|
|
6150
6470
|
/**
|
|
6151
6471
|
* Trigger the **Export TML** action on an embedded Liveboard or
|
|
6152
6472
|
* Answer.
|
|
6473
|
+
* Payload: {@link VizScopedRequest}.
|
|
6153
6474
|
* @example
|
|
6154
6475
|
* ```js
|
|
6155
6476
|
* liveboardEmbed.trigger(HostEvent.ExportTML)
|
|
@@ -6172,6 +6493,7 @@ export declare enum HostEvent {
|
|
|
6172
6493
|
/**
|
|
6173
6494
|
* Trigger the **Edit TML** action on an embedded Liveboard or
|
|
6174
6495
|
* saved Answers in the full application embedding.
|
|
6496
|
+
* Payload: {@link VizScopedRequest}.
|
|
6175
6497
|
* @example
|
|
6176
6498
|
* ```js
|
|
6177
6499
|
* liveboardEmbed.trigger(HostEvent.EditTML)
|
|
@@ -6193,6 +6515,7 @@ export declare enum HostEvent {
|
|
|
6193
6515
|
EditTML = "editTSL",
|
|
6194
6516
|
/**
|
|
6195
6517
|
* Trigger the **Update TML** action on an embedded Liveboard.
|
|
6518
|
+
* Payload: {@link VizScopedRequest}.
|
|
6196
6519
|
* @example
|
|
6197
6520
|
* ```js
|
|
6198
6521
|
* liveboardEmbed.trigger(HostEvent.UpdateTML)
|
|
@@ -6210,6 +6533,7 @@ export declare enum HostEvent {
|
|
|
6210
6533
|
* Trigger the **Download PDF** action on an embedded Liveboard,
|
|
6211
6534
|
* visualization or Answer.
|
|
6212
6535
|
*
|
|
6536
|
+
* Payload: {@link VizScopedRequest} plus optional `liveboardId`.
|
|
6213
6537
|
* @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
|
|
6214
6538
|
*
|
|
6215
6539
|
* **NOTE**: The **Download** > **PDF** action is available on
|
|
@@ -6260,6 +6584,7 @@ export declare enum HostEvent {
|
|
|
6260
6584
|
/**
|
|
6261
6585
|
* Trigger the **AI Highlights** action on an embedded Liveboard
|
|
6262
6586
|
*
|
|
6587
|
+
* Payload: none.
|
|
6263
6588
|
* @example
|
|
6264
6589
|
* ```js
|
|
6265
6590
|
* liveboardEmbed.trigger(HostEvent.AIHighlights)
|
|
@@ -6314,6 +6639,9 @@ export declare enum HostEvent {
|
|
|
6314
6639
|
MakeACopy = "makeACopy",
|
|
6315
6640
|
/**
|
|
6316
6641
|
* Trigger the **Delete** action for a Liveboard.
|
|
6642
|
+
* Payload varies by context: {@link RequiredVizRequest} (Liveboard, vizId
|
|
6643
|
+
* required), {@link VizScopedRequest} (Search). trigger() accepts the union
|
|
6644
|
+
* now; per-context enforced next release.
|
|
6317
6645
|
* @example
|
|
6318
6646
|
* ```js
|
|
6319
6647
|
* appEmbed.trigger(HostEvent.Remove)
|
|
@@ -6328,6 +6656,7 @@ export declare enum HostEvent {
|
|
|
6328
6656
|
Remove = "delete",
|
|
6329
6657
|
/**
|
|
6330
6658
|
* Trigger the **Explore** action on a visualization.
|
|
6659
|
+
* Payload: {@link RequiredVizRequest}.
|
|
6331
6660
|
* @param - an object with `vizId` as a key
|
|
6332
6661
|
* @example
|
|
6333
6662
|
* ```js
|
|
@@ -6347,6 +6676,7 @@ export declare enum HostEvent {
|
|
|
6347
6676
|
/**
|
|
6348
6677
|
* Trigger the **Create alert** action on a KPI chart
|
|
6349
6678
|
* in a Liveboard or saved Answer.
|
|
6679
|
+
* Payload: {@link VizScopedRequest}.
|
|
6350
6680
|
* @param - an object with `vizId` as a key
|
|
6351
6681
|
* @example
|
|
6352
6682
|
* ```js
|
|
@@ -6378,6 +6708,7 @@ export declare enum HostEvent {
|
|
|
6378
6708
|
/**
|
|
6379
6709
|
* Trigger the **Manage alerts** action on a KPI chart
|
|
6380
6710
|
* in a visualization or saved Answer.
|
|
6711
|
+
* Payload: {@link VizScopedRequest}.
|
|
6381
6712
|
* @param - an object with `vizId` as a key
|
|
6382
6713
|
* @example
|
|
6383
6714
|
* ```js
|
|
@@ -6415,6 +6746,7 @@ export declare enum HostEvent {
|
|
|
6415
6746
|
* on a Liveboard.
|
|
6416
6747
|
*
|
|
6417
6748
|
* This event is not supported in visualization embed and search embed.
|
|
6749
|
+
* Payload: {@link VizScopedRequest}.
|
|
6418
6750
|
* @param - Object parameter. Includes the following keys:
|
|
6419
6751
|
* - `vizId`: To trigger the action for a specific visualization in Liveboard embed,
|
|
6420
6752
|
* pass in `vizId` as a key. In Spotter embed, `vizId` refers to the Answer ID and
|
|
@@ -6457,6 +6789,7 @@ export declare enum HostEvent {
|
|
|
6457
6789
|
Edit = "edit",
|
|
6458
6790
|
/**
|
|
6459
6791
|
* Trigger the **Copy link** action on a Liveboard or visualization
|
|
6792
|
+
* Payload: {@link VizScopedRequest}.
|
|
6460
6793
|
* @param - object - to trigger the action for a
|
|
6461
6794
|
* specific visualization in Liveboard embed, pass in `vizId` as a key
|
|
6462
6795
|
* @example
|
|
@@ -6502,6 +6835,7 @@ export declare enum HostEvent {
|
|
|
6502
6835
|
CopyLink = "embedDocument",
|
|
6503
6836
|
/**
|
|
6504
6837
|
* Trigger the **Present** action on a Liveboard or visualization
|
|
6838
|
+
* Payload: {@link VizScopedRequest}.
|
|
6505
6839
|
* @param - object - to trigger the action for a specific visualization
|
|
6506
6840
|
* in Liveboard embed, pass in `vizId` as a key
|
|
6507
6841
|
* @example
|
|
@@ -6547,6 +6881,8 @@ export declare enum HostEvent {
|
|
|
6547
6881
|
Present = "present",
|
|
6548
6882
|
/**
|
|
6549
6883
|
* Get TML for the current search.
|
|
6884
|
+
* Payload: {@link GetTMLRequest}.
|
|
6885
|
+
* Response: `Record<string, any>`.
|
|
6550
6886
|
* @example
|
|
6551
6887
|
* ```js
|
|
6552
6888
|
* searchEmbed.trigger(HostEvent.GetTML).then((tml) => {
|
|
@@ -6596,6 +6932,7 @@ export declare enum HostEvent {
|
|
|
6596
6932
|
* Trigger the **Show underlying data** action on a
|
|
6597
6933
|
* chart or table.
|
|
6598
6934
|
*
|
|
6935
|
+
* Payload: {@link VizScopedRequest}.
|
|
6599
6936
|
* @param - an object with vizId as a key
|
|
6600
6937
|
* @example
|
|
6601
6938
|
* ```js
|
|
@@ -6629,6 +6966,7 @@ export declare enum HostEvent {
|
|
|
6629
6966
|
* Trigger the **Delete** action for a visualization
|
|
6630
6967
|
* in an embedded Liveboard, or a chart or table
|
|
6631
6968
|
* generated from Search.
|
|
6969
|
+
* Payload: {@link VizScopedRequest}.
|
|
6632
6970
|
* @param - Liveboard embed takes an object with `vizId` as a key.
|
|
6633
6971
|
* Can be left empty if embedding Search or visualization.
|
|
6634
6972
|
* @example
|
|
@@ -6657,6 +6995,7 @@ export declare enum HostEvent {
|
|
|
6657
6995
|
/**
|
|
6658
6996
|
* Trigger the **SpotIQ analyze** action on a
|
|
6659
6997
|
* chart or table.
|
|
6998
|
+
* Payload: {@link VizScopedRequest}.
|
|
6660
6999
|
* @param - Liveboard embed takes `vizId` as a
|
|
6661
7000
|
* key. Can be left undefined when embedding Search or
|
|
6662
7001
|
* visualization.
|
|
@@ -6719,6 +7058,7 @@ export declare enum HostEvent {
|
|
|
6719
7058
|
/**
|
|
6720
7059
|
* Trigger the **Download** > **PNG** action on
|
|
6721
7060
|
* charts in the embedded view.
|
|
7061
|
+
* Payload: {@link VizScopedRequest}.
|
|
6722
7062
|
* @example
|
|
6723
7063
|
* ```js
|
|
6724
7064
|
* liveboardEmbed.trigger(HostEvent.DownloadAsPng,
|
|
@@ -6749,6 +7089,7 @@ export declare enum HostEvent {
|
|
|
6749
7089
|
/**
|
|
6750
7090
|
* Trigger the **Download** > **CSV** action on tables in
|
|
6751
7091
|
* the embedded view.
|
|
7092
|
+
* Payload: {@link VizScopedRequest}.
|
|
6752
7093
|
* @param - `vizId` refers to the Visualization ID in Spotter embed and is required in Spotter embed.
|
|
6753
7094
|
* @example
|
|
6754
7095
|
* ```js
|
|
@@ -6788,6 +7129,7 @@ export declare enum HostEvent {
|
|
|
6788
7129
|
/**
|
|
6789
7130
|
* Trigger the **Download** > **XLSX** action on tables
|
|
6790
7131
|
* in the embedded view.
|
|
7132
|
+
* Payload: {@link VizScopedRequest}.
|
|
6791
7133
|
* @param - `vizId` refers to the Visualization ID in Spotter embed and is required in Spotter embed.
|
|
6792
7134
|
* @example
|
|
6793
7135
|
* ```js
|
|
@@ -6827,6 +7169,7 @@ export declare enum HostEvent {
|
|
|
6827
7169
|
/**
|
|
6828
7170
|
* Trigger the **Share** action on an embedded
|
|
6829
7171
|
* Liveboard or Answer.
|
|
7172
|
+
* Payload: {@link VizScopedRequest}.
|
|
6830
7173
|
* @example
|
|
6831
7174
|
* ```js
|
|
6832
7175
|
* liveboardEmbed.trigger(HostEvent.Share)
|
|
@@ -6853,6 +7196,7 @@ export declare enum HostEvent {
|
|
|
6853
7196
|
* Trigger the **Save** action on a Liveboard, Answer, or Spotter.
|
|
6854
7197
|
* Saves the changes.
|
|
6855
7198
|
*
|
|
7199
|
+
* Payload: {@link VizScopedRequest}.
|
|
6856
7200
|
* @param - `vizId` refers to the Spotter Visualization Id used in Spotter embed.
|
|
6857
7201
|
* It is required and can be retrieved from the data embed event.
|
|
6858
7202
|
*
|
|
@@ -6904,6 +7248,7 @@ export declare enum HostEvent {
|
|
|
6904
7248
|
/**
|
|
6905
7249
|
* Trigger the **Sync to Sheets** action on an embedded visualization or Answer
|
|
6906
7250
|
* Sends data from an Answer or Liveboard visualization to a Google sheet.
|
|
7251
|
+
* Payload: {@link VizScopedRequest}.
|
|
6907
7252
|
* @param - an object with `vizId` as a key
|
|
6908
7253
|
* @example
|
|
6909
7254
|
* ```js
|
|
@@ -6934,6 +7279,7 @@ export declare enum HostEvent {
|
|
|
6934
7279
|
* Trigger the **Sync to Other Apps** action on an embedded visualization or Answer
|
|
6935
7280
|
* Sends data from an Answer or Liveboard visualization to third-party apps such
|
|
6936
7281
|
* as Slack, Salesforce, Microsoft Teams, ServiceNow and so on.
|
|
7282
|
+
* Payload: {@link VizScopedRequest}.
|
|
6937
7283
|
* @param - an object with vizId as a key
|
|
6938
7284
|
* @example
|
|
6939
7285
|
* ```js
|
|
@@ -6964,6 +7310,7 @@ export declare enum HostEvent {
|
|
|
6964
7310
|
* Trigger the **Manage pipelines** action on an embedded
|
|
6965
7311
|
* visualization or Answer.
|
|
6966
7312
|
* Allows users to manage ThoughtSpot Sync pipelines.
|
|
7313
|
+
* Payload: {@link VizScopedRequest}.
|
|
6967
7314
|
* @param - an object with `vizId` as a key
|
|
6968
7315
|
* @example
|
|
6969
7316
|
* ```js
|
|
@@ -6992,6 +7339,7 @@ export declare enum HostEvent {
|
|
|
6992
7339
|
ManagePipelines = "manage-pipeline",
|
|
6993
7340
|
/**
|
|
6994
7341
|
* Reset search operation on the Search or Answer page.
|
|
7342
|
+
* Payload: none.
|
|
6995
7343
|
* @example
|
|
6996
7344
|
* ```js
|
|
6997
7345
|
* searchEmbed.trigger(HostEvent.ResetSearch)
|
|
@@ -7019,10 +7367,18 @@ export declare enum HostEvent {
|
|
|
7019
7367
|
* whole Liveboard.
|
|
7020
7368
|
* The `applicability` attribute is available from SDK: 1.53.0 |
|
|
7021
7369
|
* ThoughtSpot: 26.10.0.cl.
|
|
7370
|
+
* Payload: {@link GetFiltersRequest}.
|
|
7371
|
+
* Response: {@link GetFiltersResponse}.
|
|
7022
7372
|
* @example
|
|
7023
7373
|
* ```js
|
|
7024
7374
|
* const data = await liveboardEmbed.trigger(HostEvent.GetFilters);
|
|
7025
7375
|
* console.log('data', data);
|
|
7376
|
+
* // {
|
|
7377
|
+
* // liveboardFilters: [ ... ],
|
|
7378
|
+
* // runtimeFilters: [
|
|
7379
|
+
* // { columnName: "Region", operator: "IN", values: ["West"] }
|
|
7380
|
+
* // ]
|
|
7381
|
+
* // }
|
|
7026
7382
|
* ```
|
|
7027
7383
|
* @example
|
|
7028
7384
|
* ```js
|
|
@@ -7038,6 +7394,7 @@ export declare enum HostEvent {
|
|
|
7038
7394
|
GetFilters = "getFilters",
|
|
7039
7395
|
/**
|
|
7040
7396
|
* Update one or several filters applied on a Liveboard.
|
|
7397
|
+
* Payload: {@link UpdateFiltersRequest}.
|
|
7041
7398
|
* @param - Includes the following keys:
|
|
7042
7399
|
* - `filter`: A single filter object containing column name, filter operator, and
|
|
7043
7400
|
* values.
|
|
@@ -7046,9 +7403,9 @@ export declare enum HostEvent {
|
|
|
7046
7403
|
*
|
|
7047
7404
|
* Each filter object must include the following attributes:
|
|
7048
7405
|
*
|
|
7049
|
-
* `
|
|
7406
|
+
* `columnName` - Name of the column to filter on.
|
|
7050
7407
|
*
|
|
7051
|
-
* `
|
|
7408
|
+
* `operator` - Filter operator, for example, EQ, IN, CONTAINS.
|
|
7052
7409
|
* For information about the supported filter operators,
|
|
7053
7410
|
* see link:https://developers.thoughtspot.com/docs/runtime-filters#rtOperator[Developer Documentation].
|
|
7054
7411
|
*
|
|
@@ -7075,8 +7432,8 @@ export declare enum HostEvent {
|
|
|
7075
7432
|
*
|
|
7076
7433
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7077
7434
|
* filter: {
|
|
7078
|
-
*
|
|
7079
|
-
*
|
|
7435
|
+
* columnName: "item type",
|
|
7436
|
+
* operator: "IN",
|
|
7080
7437
|
* values: ["bags","shirts"]
|
|
7081
7438
|
* }
|
|
7082
7439
|
* });
|
|
@@ -7086,8 +7443,8 @@ export declare enum HostEvent {
|
|
|
7086
7443
|
*
|
|
7087
7444
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7088
7445
|
* filter: {
|
|
7089
|
-
*
|
|
7090
|
-
*
|
|
7446
|
+
* columnName: "date",
|
|
7447
|
+
* operator: "EQ",
|
|
7091
7448
|
* values: ["JULY","2023"],
|
|
7092
7449
|
* type: "MONTH_YEAR"
|
|
7093
7450
|
* }
|
|
@@ -7098,18 +7455,18 @@ export declare enum HostEvent {
|
|
|
7098
7455
|
* ```js
|
|
7099
7456
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7100
7457
|
* filters: [{
|
|
7101
|
-
*
|
|
7102
|
-
*
|
|
7458
|
+
* columnName: "Item Type",
|
|
7459
|
+
* operator: 'IN',
|
|
7103
7460
|
* values: ["bags","shirts"]
|
|
7104
7461
|
* },
|
|
7105
7462
|
* {
|
|
7106
|
-
*
|
|
7107
|
-
*
|
|
7463
|
+
* columnName: "Region",
|
|
7464
|
+
* operator: 'IN',
|
|
7108
7465
|
* values: ["West","Midwest"]
|
|
7109
7466
|
* },
|
|
7110
7467
|
* {
|
|
7111
|
-
*
|
|
7112
|
-
*
|
|
7468
|
+
* columnName: "Date",
|
|
7469
|
+
* operator: 'EQ',
|
|
7113
7470
|
* values: ["2023-07-31"],
|
|
7114
7471
|
* type: "EXACT_DATE"
|
|
7115
7472
|
* }]
|
|
@@ -7123,13 +7480,13 @@ export declare enum HostEvent {
|
|
|
7123
7480
|
* ```js
|
|
7124
7481
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7125
7482
|
* filters: [{
|
|
7126
|
-
*
|
|
7127
|
-
*
|
|
7483
|
+
* columnName: "(Sample) Retail - Apparel::city",
|
|
7484
|
+
* operator: 'IN',
|
|
7128
7485
|
* values: ["atlanta"]
|
|
7129
7486
|
* },
|
|
7130
7487
|
* {
|
|
7131
|
-
*
|
|
7132
|
-
*
|
|
7488
|
+
* columnName: "(Sample) Retail - Apparel::Region",
|
|
7489
|
+
* operator: 'IN',
|
|
7133
7490
|
* values: ["West","Midwest"]
|
|
7134
7491
|
* }]
|
|
7135
7492
|
* });
|
|
@@ -7140,8 +7497,8 @@ export declare enum HostEvent {
|
|
|
7140
7497
|
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
7141
7498
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7142
7499
|
* filter: {
|
|
7143
|
-
*
|
|
7144
|
-
*
|
|
7500
|
+
* columnName: "item type",
|
|
7501
|
+
* operator: "IN",
|
|
7145
7502
|
* values: ["shoes", "boots"]
|
|
7146
7503
|
* }
|
|
7147
7504
|
* }, ContextType.Liveboard);
|
|
@@ -7151,8 +7508,8 @@ export declare enum HostEvent {
|
|
|
7151
7508
|
* // Scope the filter to a specific Liveboard tab
|
|
7152
7509
|
* liveboardEmbed.trigger(HostEvent.UpdateFilters, {
|
|
7153
7510
|
* filter: {
|
|
7154
|
-
*
|
|
7155
|
-
*
|
|
7511
|
+
* columnName: "item type",
|
|
7512
|
+
* operator: "IN",
|
|
7156
7513
|
* values: ["bags", "shirts"],
|
|
7157
7514
|
* applicability: {
|
|
7158
7515
|
* level: "TAB",
|
|
@@ -7161,11 +7518,19 @@ export declare enum HostEvent {
|
|
|
7161
7518
|
* }
|
|
7162
7519
|
* });
|
|
7163
7520
|
* ```
|
|
7521
|
+
* Use `columnName` and `operator` - the same spelling as
|
|
7522
|
+
* {@link RuntimeFilter}. The older `column` and `oper` spellings are
|
|
7523
|
+
* deprecated; they are still accepted, but pass only one spelling of each
|
|
7524
|
+
* field, never both. To reapply the filter state captured from
|
|
7525
|
+
* {@link EmbedEvent.FilterChanged}, use `convertFilterChangedToUpdateFiltersPayload`
|
|
7526
|
+
* to convert its payload into the shape expected here.
|
|
7164
7527
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
7165
7528
|
*/
|
|
7166
7529
|
UpdateFilters = "updateFilters",
|
|
7167
7530
|
/**
|
|
7168
7531
|
* Get tab details for the current Liveboard.
|
|
7532
|
+
* Payload: none.
|
|
7533
|
+
* Response: {@link GetTabsResponse}.
|
|
7169
7534
|
* @example
|
|
7170
7535
|
* ```js
|
|
7171
7536
|
* liveboardEmbed.trigger(HostEvent.GetTabs).then((tabDetails) => {
|
|
@@ -7191,6 +7556,8 @@ export declare enum HostEvent {
|
|
|
7191
7556
|
/**
|
|
7192
7557
|
* Get group details for the current Liveboard.
|
|
7193
7558
|
* Mirrors {@link HostEvent.GetTabs} for filter/parameter groups.
|
|
7559
|
+
* Payload: none.
|
|
7560
|
+
* Response: {@link GetGroupsResponse}.
|
|
7194
7561
|
* @example
|
|
7195
7562
|
* ```js
|
|
7196
7563
|
* liveboardEmbed.trigger(HostEvent.GetGroups).then((groupDetails) => {
|
|
@@ -7215,6 +7582,7 @@ export declare enum HostEvent {
|
|
|
7215
7582
|
GetGroups = "getGroups",
|
|
7216
7583
|
/**
|
|
7217
7584
|
* Set the visible tabs on a Liveboard.
|
|
7585
|
+
* Payload: `string[]`.
|
|
7218
7586
|
* @param - an array of ids of tabs to show, the IDs not passed
|
|
7219
7587
|
* will be hidden.
|
|
7220
7588
|
* @example
|
|
@@ -7237,6 +7605,7 @@ export declare enum HostEvent {
|
|
|
7237
7605
|
SetVisibleTabs = "SetPinboardVisibleTabs",
|
|
7238
7606
|
/**
|
|
7239
7607
|
* Set the hidden tabs on a Liveboard.
|
|
7608
|
+
* Payload: `string[]`.
|
|
7240
7609
|
* @param - an array of the IDs of the tabs to hide.
|
|
7241
7610
|
* The IDs not passed will be shown.
|
|
7242
7611
|
* @example
|
|
@@ -7265,6 +7634,8 @@ export declare enum HostEvent {
|
|
|
7265
7634
|
* `getAnswerService()` method on the embed instance to get an AnswerService
|
|
7266
7635
|
* object that provides a more convenient interface for working with answers.
|
|
7267
7636
|
*
|
|
7637
|
+
* Payload: {@link GetAnswerSessionRequest}.
|
|
7638
|
+
* Response: {@link GetAnswerSessionResponse}.
|
|
7268
7639
|
* @example
|
|
7269
7640
|
* ```js
|
|
7270
7641
|
* // Preferred way to get an AnswerService
|
|
@@ -7292,6 +7663,7 @@ export declare enum HostEvent {
|
|
|
7292
7663
|
GetAnswerSession = "getAnswerSession",
|
|
7293
7664
|
/**
|
|
7294
7665
|
* Trigger the *Ask Sage* action for visualizations
|
|
7666
|
+
* Payload: {@link RequiredVizRequest}.
|
|
7295
7667
|
* @example
|
|
7296
7668
|
* ```js
|
|
7297
7669
|
* liveboardEmbed.trigger(HostEvent.AskSage,
|
|
@@ -7303,6 +7675,7 @@ export declare enum HostEvent {
|
|
|
7303
7675
|
/**
|
|
7304
7676
|
* Trigger cross filter update action on a Liveboard.
|
|
7305
7677
|
*
|
|
7678
|
+
* Payload: {@link UpdateCrossFilterRequest}.
|
|
7306
7679
|
* @example
|
|
7307
7680
|
* ```js
|
|
7308
7681
|
* liveboardEmbed.trigger(HostEvent.UpdateCrossFilter, {
|
|
@@ -7318,7 +7691,9 @@ export declare enum HostEvent {
|
|
|
7318
7691
|
UpdateCrossFilter = "UpdateCrossFilter",
|
|
7319
7692
|
/**
|
|
7320
7693
|
* Trigger reset action for a personalized Liveboard view.
|
|
7321
|
-
* This event is deprecated.
|
|
7694
|
+
* This event is deprecated.
|
|
7695
|
+
* Use {@link HostEvent.ResetLiveboardPersonalizedView} instead.
|
|
7696
|
+
* Payload: none.
|
|
7322
7697
|
* @example
|
|
7323
7698
|
* ```js
|
|
7324
7699
|
* liveboardEmbed.trigger(HostEvent.ResetLiveboardPersonalisedView);
|
|
@@ -7339,6 +7714,7 @@ export declare enum HostEvent {
|
|
|
7339
7714
|
/**
|
|
7340
7715
|
* Triggers an action to update Parameter values on embedded
|
|
7341
7716
|
* Answers, Liveboard, and Spotter answer in Edit mode.
|
|
7717
|
+
* Payload: {@link RuntimeParameter}[].
|
|
7342
7718
|
* @param - Includes the following keys for each item:
|
|
7343
7719
|
* - `name`: Name of the parameter.
|
|
7344
7720
|
* - `value`: The value to set for the parameter.
|
|
@@ -7396,6 +7772,8 @@ export declare enum HostEvent {
|
|
|
7396
7772
|
* whole Liveboard.
|
|
7397
7773
|
* The `applicability` attribute is available from SDK: 1.53.0 |
|
|
7398
7774
|
* ThoughtSpot: 26.10.0.cl.
|
|
7775
|
+
* Payload: none.
|
|
7776
|
+
* Response: {@link GetParametersResponse}.
|
|
7399
7777
|
* @param - `vizId` refers to the Answer ID in Spotter embed and is required in Spotter embed.
|
|
7400
7778
|
* ```js
|
|
7401
7779
|
* liveboardEmbed.trigger(HostEvent.GetParameters).then((parameter) => {
|
|
@@ -7433,6 +7811,7 @@ export declare enum HostEvent {
|
|
|
7433
7811
|
* ```js
|
|
7434
7812
|
* liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
|
|
7435
7813
|
* ```
|
|
7814
|
+
* Payload: {@link PersonalisedViewRequest} (`viewId` only).
|
|
7436
7815
|
* @example
|
|
7437
7816
|
* ```js
|
|
7438
7817
|
* // Update personalized view from liveboard context
|
|
@@ -7465,6 +7844,7 @@ export declare enum HostEvent {
|
|
|
7465
7844
|
* If neither is provided, the Liveboard resets to the original/default view.
|
|
7466
7845
|
* When a `viewName` is provided and multiple views share
|
|
7467
7846
|
* the same name, the first match is selected.
|
|
7847
|
+
* Payload: {@link PersonalisedViewRequest}.
|
|
7468
7848
|
* @example
|
|
7469
7849
|
* ```js
|
|
7470
7850
|
* liveboardEmbed.trigger(
|
|
@@ -7508,6 +7888,8 @@ export declare enum HostEvent {
|
|
|
7508
7888
|
* If no parameters are specified, the save action is
|
|
7509
7889
|
* triggered with a modal to prompt users to
|
|
7510
7890
|
* add a name and description for the Answer.
|
|
7891
|
+
* Payload: {@link SaveAnswerRequest}.
|
|
7892
|
+
* Response: {@link SaveAnswerResponse}.
|
|
7511
7893
|
* @param - Includes the following keys:
|
|
7512
7894
|
* - `vizId`: Refers to the Answer ID in Spotter embed and is **required** in Spotter
|
|
7513
7895
|
* embed.
|
|
@@ -7593,6 +7975,7 @@ export declare enum HostEvent {
|
|
|
7593
7975
|
/**
|
|
7594
7976
|
* Triggers a search operation with the search tokens specified in
|
|
7595
7977
|
* the search query string in spotter embed.
|
|
7978
|
+
* Payload: {@link SpotterSearchRequest}.
|
|
7596
7979
|
* @param - Includes the following keys:
|
|
7597
7980
|
* - `query`: Text string in Natural Language format.
|
|
7598
7981
|
* - `executeSearch`: Boolean to execute search and update search query.
|
|
@@ -7617,6 +8000,7 @@ export declare enum HostEvent {
|
|
|
7617
8000
|
SpotterSearch = "SpotterSearch",
|
|
7618
8001
|
/**
|
|
7619
8002
|
* Edits the last prompt in spotter embed.
|
|
8003
|
+
* Payload: `string`.
|
|
7620
8004
|
* @param - `query`: Text string
|
|
7621
8005
|
* @example
|
|
7622
8006
|
* ```js
|
|
@@ -7633,6 +8017,7 @@ export declare enum HostEvent {
|
|
|
7633
8017
|
EditLastPrompt = "EditLastPrompt",
|
|
7634
8018
|
/**
|
|
7635
8019
|
* Opens the data source preview modal in Spotter Embed.
|
|
8020
|
+
* Payload: none.
|
|
7636
8021
|
* @example
|
|
7637
8022
|
* ```js
|
|
7638
8023
|
* spotterEmbed.trigger(HostEvent.PreviewSpotterData);
|
|
@@ -7668,6 +8053,7 @@ export declare enum HostEvent {
|
|
|
7668
8053
|
DataModelInstructions = "DataModelInstructions",
|
|
7669
8054
|
/**
|
|
7670
8055
|
* Resets the Spotter Embed Conversation.
|
|
8056
|
+
* Payload: none.
|
|
7671
8057
|
* @example
|
|
7672
8058
|
* ```js
|
|
7673
8059
|
* spotterEmbed.trigger(HostEvent.ResetSpotterConversation);
|
|
@@ -7680,6 +8066,7 @@ export declare enum HostEvent {
|
|
|
7680
8066
|
* `conversationId` is **mandatory** — you must pass the id of the
|
|
7681
8067
|
* conversation to share. Also no-op when sharing is disabled
|
|
7682
8068
|
* (enableShareConversation off) or when already in the read-only shared view.
|
|
8069
|
+
* Payload: {@link ConversationScopedRequest}.
|
|
7683
8070
|
* @example
|
|
7684
8071
|
* ```js
|
|
7685
8072
|
* spotterEmbed.trigger(HostEvent.ShareSpotterConversation, { conversationId: 'abc' });
|
|
@@ -7689,6 +8076,7 @@ export declare enum HostEvent {
|
|
|
7689
8076
|
ShareSpotterConversation = "ShareSpotterConversation",
|
|
7690
8077
|
/**
|
|
7691
8078
|
* Closes the Spotter share-conversation modal. No-op if none is open.
|
|
8079
|
+
* Payload: none.
|
|
7692
8080
|
* @example
|
|
7693
8081
|
* ```js
|
|
7694
8082
|
* spotterEmbed.trigger(HostEvent.CloseSpotterShareConversation);
|
|
@@ -7698,6 +8086,7 @@ export declare enum HostEvent {
|
|
|
7698
8086
|
CloseSpotterShareConversation = "CloseSpotterShareConversation",
|
|
7699
8087
|
/**
|
|
7700
8088
|
* Exits the read-only shared-conversation view.
|
|
8089
|
+
* Payload: none.
|
|
7701
8090
|
* @example
|
|
7702
8091
|
* ```js
|
|
7703
8092
|
* spotterEmbed.trigger(HostEvent.ExitSpotterSharedConversation);
|
|
@@ -7707,6 +8096,7 @@ export declare enum HostEvent {
|
|
|
7707
8096
|
ExitSpotterSharedConversation = "ExitSpotterSharedConversation",
|
|
7708
8097
|
/**
|
|
7709
8098
|
* Deletes the last prompt in spotter embed.
|
|
8099
|
+
* Payload: none.
|
|
7710
8100
|
* @example
|
|
7711
8101
|
* ```js
|
|
7712
8102
|
* spotterEmbed.trigger(HostEvent.DeleteLastPrompt);
|
|
@@ -7716,6 +8106,7 @@ export declare enum HostEvent {
|
|
|
7716
8106
|
DeleteLastPrompt = "DeleteLastPrompt",
|
|
7717
8107
|
/**
|
|
7718
8108
|
* Toggle the visualization to chart or table view.
|
|
8109
|
+
* Payload: {@link RequiredVizRequest}.
|
|
7719
8110
|
* @param - `vizId ` refers to the Visualization ID in Spotter embed and is required.
|
|
7720
8111
|
* @example
|
|
7721
8112
|
* ```js
|
|
@@ -7754,6 +8145,7 @@ export declare enum HostEvent {
|
|
|
7754
8145
|
VisibleEmbedCoordinates = "visibleEmbedCoordinates",
|
|
7755
8146
|
/**
|
|
7756
8147
|
* Trigger the *Spotter* action for visualizations present on the liveboard's vizzes.
|
|
8148
|
+
* Payload: {@link RequiredVizRequest}.
|
|
7757
8149
|
* @param - `vizId` refers to the Visualization ID in Spotter embed and is required.
|
|
7758
8150
|
* @example
|
|
7759
8151
|
* ```js
|
|
@@ -7815,6 +8207,7 @@ export declare enum HostEvent {
|
|
|
7815
8207
|
* instance. Contact your admin or ThoughtSpot Support to enable chat history on your
|
|
7816
8208
|
* instance.
|
|
7817
8209
|
*
|
|
8210
|
+
* Payload: {@link ConversationScopedRequest}.
|
|
7818
8211
|
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
7819
8212
|
* @example
|
|
7820
8213
|
* ```js
|
|
@@ -7832,6 +8225,7 @@ export declare enum HostEvent {
|
|
|
7832
8225
|
* instance. Contact your admin or ThoughtSpot Support to enable chat history on your
|
|
7833
8226
|
* instance.
|
|
7834
8227
|
*
|
|
8228
|
+
* Payload: {@link ConversationScopedRequest}.
|
|
7835
8229
|
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
7836
8230
|
* @example
|
|
7837
8231
|
* ```js
|
|
@@ -7856,6 +8250,7 @@ export declare enum HostEvent {
|
|
|
7856
8250
|
* Trigger the **Send Test Email** action in the Liveboard schedule modal.
|
|
7857
8251
|
* Sends a test schedule email to self or all recipients.
|
|
7858
8252
|
* Requires `isSendNowLiveboardSchedulingEnabled` to be enabled.
|
|
8253
|
+
* Payload: {@link ScheduleEmailRequest}.
|
|
7859
8254
|
* @example
|
|
7860
8255
|
* ```js
|
|
7861
8256
|
* liveboardEmbed.trigger(HostEvent.SendTestScheduleEmail, {
|
|
@@ -7874,6 +8269,7 @@ export declare enum HostEvent {
|
|
|
7874
8269
|
SendTestScheduleEmail = "sendTestScheduleEmail",
|
|
7875
8270
|
/**
|
|
7876
8271
|
* Sends a user message (prompt) to the SpotterViz panel programmatically.
|
|
8272
|
+
* Payload: `{ query: string }`.
|
|
7877
8273
|
* @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
7878
8274
|
* @param query - the prompt text to send.
|
|
7879
8275
|
* @example
|
|
@@ -7886,6 +8282,7 @@ export declare enum HostEvent {
|
|
|
7886
8282
|
SpotterVizSendUserMessage = "SpotterVizSendUserMessage",
|
|
7887
8283
|
/**
|
|
7888
8284
|
* Initializes a new SpotterViz conversation.
|
|
8285
|
+
* Payload: none.
|
|
7889
8286
|
* @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
7890
8287
|
* @example
|
|
7891
8288
|
* ```js
|
|
@@ -7895,6 +8292,7 @@ export declare enum HostEvent {
|
|
|
7895
8292
|
InitSpotterVizConversation = "InitSpotterVizConversation",
|
|
7896
8293
|
/**
|
|
7897
8294
|
* Opens the SpotterViz panel.
|
|
8295
|
+
* Payload: none.
|
|
7898
8296
|
* @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
7899
8297
|
* @example
|
|
7900
8298
|
* ```js
|
|
@@ -7904,6 +8302,7 @@ export declare enum HostEvent {
|
|
|
7904
8302
|
OpenSpotterVizPanel = "OpenSpotterVizPanel",
|
|
7905
8303
|
/**
|
|
7906
8304
|
* Closes the SpotterViz panel.
|
|
8305
|
+
* Payload: none.
|
|
7907
8306
|
* @version SDK: 1.50.0 | ThoughtSpot Cloud: 26.7.0.cl
|
|
7908
8307
|
* @example
|
|
7909
8308
|
* ```js
|
|
@@ -7914,6 +8313,7 @@ export declare enum HostEvent {
|
|
|
7914
8313
|
/**
|
|
7915
8314
|
* Clears browser cache and fetches new data for liveboard ChartViz Containers.
|
|
7916
8315
|
* Requires `enableLiveboardDataCache` to be enabled.
|
|
8316
|
+
* Payload: {@link ScheduleEmailRequest}.
|
|
7917
8317
|
* @example
|
|
7918
8318
|
* ```js
|
|
7919
8319
|
* liveboardEmbed.trigger(HostEvent.RefreshLiveboardBrowserCache);
|
|
@@ -9946,89 +10346,362 @@ export declare enum Action {
|
|
|
9946
10346
|
* disabledActions: [Action.SpotterOnLiveboard]
|
|
9947
10347
|
* ```
|
|
9948
10348
|
*/
|
|
9949
|
-
SpotterOnLiveboard = "spotterOnLiveboard"
|
|
9950
|
-
}
|
|
9951
|
-
export declare enum PrefetchFeatures {
|
|
9952
|
-
FullApp = "FullApp",
|
|
9953
|
-
SearchEmbed = "SearchEmbed",
|
|
9954
|
-
LiveboardEmbed = "LiveboardEmbed",
|
|
9955
|
-
VizEmbed = "VizEmbed"
|
|
9956
|
-
}
|
|
9957
|
-
/**
|
|
9958
|
-
* Enum for options to change context trigger.
|
|
9959
|
-
* The `BOTH_CLICKS` option is available from 10.8.0.cl.
|
|
9960
|
-
*/
|
|
9961
|
-
export declare enum ContextMenuTriggerOptions {
|
|
9962
|
-
LEFT_CLICK = "left-click",
|
|
9963
|
-
RIGHT_CLICK = "right-click",
|
|
9964
|
-
BOTH_CLICKS = "both-clicks"
|
|
9965
|
-
}
|
|
9966
|
-
export interface ColumnValue {
|
|
9967
|
-
column: {
|
|
9968
|
-
id: string;
|
|
9969
|
-
name: string;
|
|
9970
|
-
dataType: string;
|
|
9971
|
-
[key: string]: any;
|
|
9972
|
-
};
|
|
9973
|
-
value: string | number | boolean | {
|
|
9974
|
-
v: {
|
|
9975
|
-
s: number;
|
|
9976
|
-
e: number;
|
|
9977
|
-
};
|
|
9978
|
-
};
|
|
9979
|
-
}
|
|
9980
|
-
export interface VizPoint {
|
|
9981
|
-
selectedAttributes: ColumnValue[];
|
|
9982
|
-
selectedMeasures: ColumnValue[];
|
|
9983
|
-
}
|
|
9984
|
-
/**
|
|
9985
|
-
* @group Events
|
|
9986
|
-
*/
|
|
9987
|
-
export interface CustomActionPayload {
|
|
9988
|
-
contextMenuPoints?: {
|
|
9989
|
-
clickedPoint: VizPoint;
|
|
9990
|
-
selectedPoints: VizPoint[];
|
|
9991
|
-
};
|
|
9992
|
-
embedAnswerData: {
|
|
9993
|
-
name: string;
|
|
9994
|
-
id: string;
|
|
9995
|
-
sources: {
|
|
9996
|
-
header: {
|
|
9997
|
-
guid: string;
|
|
9998
|
-
};
|
|
9999
|
-
};
|
|
10000
|
-
columns: any[];
|
|
10001
|
-
data: any[];
|
|
10002
|
-
[key: string]: any;
|
|
10003
|
-
};
|
|
10004
|
-
session: SessionInterface;
|
|
10005
|
-
vizId?: string;
|
|
10006
|
-
}
|
|
10007
|
-
export interface CustomAction {
|
|
10008
|
-
name: string;
|
|
10009
|
-
id: string;
|
|
10010
|
-
position: CustomActionsPosition;
|
|
10011
|
-
target: CustomActionTarget;
|
|
10012
|
-
metadataIds?: {
|
|
10013
|
-
answerIds?: string[];
|
|
10014
|
-
liveboardIds?: string[];
|
|
10015
|
-
vizIds?: string[];
|
|
10016
|
-
};
|
|
10017
|
-
dataModelIds?: {
|
|
10018
|
-
modelIds?: string[];
|
|
10019
|
-
modelColumnNames?: string[];
|
|
10020
|
-
};
|
|
10021
|
-
orgIds?: string[];
|
|
10022
|
-
groupIds?: string[];
|
|
10023
|
-
}
|
|
10024
|
-
/**
|
|
10025
|
-
* Enum options to show custom actions at different
|
|
10026
|
-
* positions in the application.
|
|
10027
|
-
*/
|
|
10028
|
-
export declare enum CustomActionsPosition {
|
|
10349
|
+
SpotterOnLiveboard = "spotterOnLiveboard",
|
|
10029
10350
|
/**
|
|
10030
|
-
*
|
|
10031
|
-
* in
|
|
10351
|
+
* Controls the visibility and disabled state of the "Chart Type" menu item
|
|
10352
|
+
* in Chart Settings V2.
|
|
10353
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10354
|
+
* @example
|
|
10355
|
+
* ```js
|
|
10356
|
+
* {
|
|
10357
|
+
* hiddenActions: [Action.ChartTypeSettings],
|
|
10358
|
+
* disabledActions: [Action.ChartTypeSettings],
|
|
10359
|
+
* }
|
|
10360
|
+
* ```
|
|
10361
|
+
*/
|
|
10362
|
+
ChartTypeSettings = "CHART_TYPE",
|
|
10363
|
+
/**
|
|
10364
|
+
* Controls the visibility and disabled state of the "Layout" menu item
|
|
10365
|
+
* in Chart Settings V2.
|
|
10366
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10367
|
+
* @example
|
|
10368
|
+
* ```js
|
|
10369
|
+
* {
|
|
10370
|
+
* hiddenActions: [Action.LayoutSettings],
|
|
10371
|
+
* disabledActions: [Action.LayoutSettings],
|
|
10372
|
+
* }
|
|
10373
|
+
* ```
|
|
10374
|
+
*/
|
|
10375
|
+
LayoutSettings = "LAYOUT",
|
|
10376
|
+
/**
|
|
10377
|
+
* Controls the visibility and disabled state of the "Column" menu item
|
|
10378
|
+
* in Chart Settings V2.
|
|
10379
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10380
|
+
* @example
|
|
10381
|
+
* ```js
|
|
10382
|
+
* {
|
|
10383
|
+
* hiddenActions: [Action.ColumnSettings],
|
|
10384
|
+
* disabledActions: [Action.ColumnSettings],
|
|
10385
|
+
* }
|
|
10386
|
+
* ```
|
|
10387
|
+
*/
|
|
10388
|
+
ColumnSettings = "COLUMN",
|
|
10389
|
+
/**
|
|
10390
|
+
* Controls the visibility and disabled state of the "Axis" menu item
|
|
10391
|
+
* in Chart Settings V2.
|
|
10392
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10393
|
+
* @example
|
|
10394
|
+
* ```js
|
|
10395
|
+
* {
|
|
10396
|
+
* hiddenActions: [Action.AxisSettings],
|
|
10397
|
+
* disabledActions: [Action.AxisSettings],
|
|
10398
|
+
* }
|
|
10399
|
+
* ```
|
|
10400
|
+
*/
|
|
10401
|
+
AxisSettings = "AXIS",
|
|
10402
|
+
/**
|
|
10403
|
+
* Controls the visibility and disabled state of the "Data Label" menu item
|
|
10404
|
+
* in Chart Settings V2.
|
|
10405
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10406
|
+
* @example
|
|
10407
|
+
* ```js
|
|
10408
|
+
* {
|
|
10409
|
+
* hiddenActions: [Action.DataLabelSettings],
|
|
10410
|
+
* disabledActions: [Action.DataLabelSettings],
|
|
10411
|
+
* }
|
|
10412
|
+
* ```
|
|
10413
|
+
*/
|
|
10414
|
+
DataLabelSettings = "DATA_LABEL",
|
|
10415
|
+
/**
|
|
10416
|
+
* Controls the visibility and disabled state of the "Tooltip" menu item
|
|
10417
|
+
* in Chart Settings V2.
|
|
10418
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10419
|
+
* @example
|
|
10420
|
+
* ```js
|
|
10421
|
+
* {
|
|
10422
|
+
* hiddenActions: [Action.TooltipSettings],
|
|
10423
|
+
* disabledActions: [Action.TooltipSettings],
|
|
10424
|
+
* }
|
|
10425
|
+
* ```
|
|
10426
|
+
*/
|
|
10427
|
+
TooltipSettings = "TOOLTIP",
|
|
10428
|
+
/**
|
|
10429
|
+
* Controls the visibility and disabled state of the "Legend" menu item
|
|
10430
|
+
* in Chart Settings V2.
|
|
10431
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10432
|
+
* @example
|
|
10433
|
+
* ```js
|
|
10434
|
+
* {
|
|
10435
|
+
* hiddenActions: [Action.LegendSettings],
|
|
10436
|
+
* disabledActions: [Action.LegendSettings],
|
|
10437
|
+
* }
|
|
10438
|
+
* ```
|
|
10439
|
+
*/
|
|
10440
|
+
LegendSettings = "LEGEND",
|
|
10441
|
+
/**
|
|
10442
|
+
* Controls the visibility and disabled state of the "Display" menu item
|
|
10443
|
+
* in Chart Settings V2.
|
|
10444
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10445
|
+
* @example
|
|
10446
|
+
* ```js
|
|
10447
|
+
* {
|
|
10448
|
+
* hiddenActions: [Action.DisplaySettings],
|
|
10449
|
+
* disabledActions: [Action.DisplaySettings],
|
|
10450
|
+
* }
|
|
10451
|
+
* ```
|
|
10452
|
+
*/
|
|
10453
|
+
DisplaySettings = "DISPLAY",
|
|
10454
|
+
/**
|
|
10455
|
+
* Controls the visibility and disabled state of the "Query Details" menu
|
|
10456
|
+
* item in Chart Settings V2.
|
|
10457
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10458
|
+
* @example
|
|
10459
|
+
* ```js
|
|
10460
|
+
* {
|
|
10461
|
+
* hiddenActions: [Action.QuerySettings],
|
|
10462
|
+
* disabledActions: [Action.QuerySettings],
|
|
10463
|
+
* }
|
|
10464
|
+
* ```
|
|
10465
|
+
*/
|
|
10466
|
+
QuerySettings = "QUERY_DETAILS",
|
|
10467
|
+
/**
|
|
10468
|
+
* Controls the visibility and disabled state of the "Custom Action" menu
|
|
10469
|
+
* item in Chart Settings V2.
|
|
10470
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10471
|
+
* @example
|
|
10472
|
+
* ```js
|
|
10473
|
+
* {
|
|
10474
|
+
* hiddenActions: [Action.CustomSettings],
|
|
10475
|
+
* disabledActions: [Action.CustomSettings],
|
|
10476
|
+
* }
|
|
10477
|
+
* ```
|
|
10478
|
+
*/
|
|
10479
|
+
CustomSettings = "CUSTOM_ACTION",
|
|
10480
|
+
/**
|
|
10481
|
+
* Controls the visibility and disabled state of the "Muze AI" menu item
|
|
10482
|
+
* in Chart Settings V2.
|
|
10483
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10484
|
+
* @example
|
|
10485
|
+
* ```js
|
|
10486
|
+
* {
|
|
10487
|
+
* hiddenActions: [Action.MuzeAiSettings],
|
|
10488
|
+
* disabledActions: [Action.MuzeAiSettings],
|
|
10489
|
+
* }
|
|
10490
|
+
* ```
|
|
10491
|
+
*/
|
|
10492
|
+
MuzeAiSettings = "MUZE_AI",
|
|
10493
|
+
/**
|
|
10494
|
+
* Controls the visibility and disabled state of the "R Analysis" menu item
|
|
10495
|
+
* in Chart Settings V2.
|
|
10496
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
10497
|
+
* @example
|
|
10498
|
+
* ```js
|
|
10499
|
+
* {
|
|
10500
|
+
* hiddenActions: [Action.RAnalysisSettings],
|
|
10501
|
+
* disabledActions: [Action.RAnalysisSettings],
|
|
10502
|
+
* }
|
|
10503
|
+
* ```
|
|
10504
|
+
*/
|
|
10505
|
+
RAnalysisSettings = "R_ANALYSIS",
|
|
10506
|
+
/**
|
|
10507
|
+
* Controls the visibility and disabled state of the "Add to Collection" menu item.
|
|
10508
|
+
* @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
|
|
10509
|
+
* @example
|
|
10510
|
+
* ```js
|
|
10511
|
+
* {
|
|
10512
|
+
* hiddenActions: [Action.AddToCollection],
|
|
10513
|
+
* disabledActions: [Action.AddToCollection],
|
|
10514
|
+
* }
|
|
10515
|
+
* ```
|
|
10516
|
+
*/
|
|
10517
|
+
AddToCollection = "addToCollection",
|
|
10518
|
+
/**
|
|
10519
|
+
* Controls the visibility and disabled state of the "Create Collection" button.
|
|
10520
|
+
* @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
|
|
10521
|
+
* @example
|
|
10522
|
+
* ```js
|
|
10523
|
+
* {
|
|
10524
|
+
* hiddenActions: [Action.CreateCollection],
|
|
10525
|
+
* disabledActions: [Action.CreateCollection],
|
|
10526
|
+
* }
|
|
10527
|
+
* ```
|
|
10528
|
+
*/
|
|
10529
|
+
CreateCollection = "createCollection",
|
|
10530
|
+
/**
|
|
10531
|
+
* Controls the visibility and disabled state of the "Move" menu item in a
|
|
10532
|
+
* Collection.
|
|
10533
|
+
* @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
|
|
10534
|
+
* @example
|
|
10535
|
+
* ```js
|
|
10536
|
+
* {
|
|
10537
|
+
* hiddenActions: [Action.MoveToCollection],
|
|
10538
|
+
* disabledActions: [Action.MoveToCollection],
|
|
10539
|
+
* }
|
|
10540
|
+
* ```
|
|
10541
|
+
*/
|
|
10542
|
+
MoveToCollection = "moveToCollection",
|
|
10543
|
+
/**
|
|
10544
|
+
* Controls the visibility and disabled state of the "Remove" menu item in a
|
|
10545
|
+
* Collection.
|
|
10546
|
+
* @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
|
|
10547
|
+
* @example
|
|
10548
|
+
* ```js
|
|
10549
|
+
* {
|
|
10550
|
+
* hiddenActions: [Action.RemoveFromCollection],
|
|
10551
|
+
* disabledActions: [Action.RemoveFromCollection],
|
|
10552
|
+
* }
|
|
10553
|
+
* ```
|
|
10554
|
+
*/
|
|
10555
|
+
RemoveFromCollection = "removeFromCollection",
|
|
10556
|
+
/**
|
|
10557
|
+
* Controls the visibility and disabled state of the "Delete" menu item for a
|
|
10558
|
+
* Collection.
|
|
10559
|
+
* @version SDK: 1.52.1 | ThoughtSpot Cloud: 26.5.0.cl
|
|
10560
|
+
* @example
|
|
10561
|
+
* ```js
|
|
10562
|
+
* {
|
|
10563
|
+
* hiddenActions: [Action.DeleteCollection],
|
|
10564
|
+
* disabledActions: [Action.DeleteCollection],
|
|
10565
|
+
* }
|
|
10566
|
+
* ```
|
|
10567
|
+
*/
|
|
10568
|
+
DeleteCollection = "deleteCollection",
|
|
10569
|
+
/**
|
|
10570
|
+
* Controls the visibility of the "Customize homepage" button on the
|
|
10571
|
+
* embedded home page.
|
|
10572
|
+
* @version SDK: 1.55.0 | ThoughtSpot Cloud: 26.12.0.cl
|
|
10573
|
+
* @example
|
|
10574
|
+
* ```js
|
|
10575
|
+
* {
|
|
10576
|
+
* hiddenActions: [Action.CustomizeHomepage],
|
|
10577
|
+
* }
|
|
10578
|
+
* ```
|
|
10579
|
+
*/
|
|
10580
|
+
CustomizeHomepage = "customizeHomepage"
|
|
10581
|
+
}
|
|
10582
|
+
export declare enum PrefetchFeatures {
|
|
10583
|
+
FullApp = "FullApp",
|
|
10584
|
+
SearchEmbed = "SearchEmbed",
|
|
10585
|
+
LiveboardEmbed = "LiveboardEmbed",
|
|
10586
|
+
VizEmbed = "VizEmbed"
|
|
10587
|
+
}
|
|
10588
|
+
/**
|
|
10589
|
+
* Enum for options to change context trigger.
|
|
10590
|
+
* The `BOTH_CLICKS` option is available from 10.8.0.cl.
|
|
10591
|
+
*/
|
|
10592
|
+
export declare enum ContextMenuTriggerOptions {
|
|
10593
|
+
LEFT_CLICK = "left-click",
|
|
10594
|
+
RIGHT_CLICK = "right-click",
|
|
10595
|
+
BOTH_CLICKS = "both-clicks"
|
|
10596
|
+
}
|
|
10597
|
+
export interface ColumnValue {
|
|
10598
|
+
column: {
|
|
10599
|
+
id: string;
|
|
10600
|
+
name: string;
|
|
10601
|
+
dataType: string;
|
|
10602
|
+
[key: string]: any;
|
|
10603
|
+
};
|
|
10604
|
+
value: string | number | boolean | {
|
|
10605
|
+
v: {
|
|
10606
|
+
s: number;
|
|
10607
|
+
e: number;
|
|
10608
|
+
};
|
|
10609
|
+
};
|
|
10610
|
+
}
|
|
10611
|
+
export interface VizPoint {
|
|
10612
|
+
selectedAttributes: ColumnValue[];
|
|
10613
|
+
selectedMeasures: ColumnValue[];
|
|
10614
|
+
}
|
|
10615
|
+
/**
|
|
10616
|
+
* @group Events
|
|
10617
|
+
*/
|
|
10618
|
+
export interface CustomActionPayload {
|
|
10619
|
+
/**
|
|
10620
|
+
* Id of the custom action that was triggered. Matches the `id` you set on
|
|
10621
|
+
* the {@link CustomAction}. Omitted on Liveboard-level code-based actions.
|
|
10622
|
+
*/
|
|
10623
|
+
id?: string;
|
|
10624
|
+
contextMenuPoints?: {
|
|
10625
|
+
clickedPoint: VizPoint;
|
|
10626
|
+
selectedPoints: VizPoint[];
|
|
10627
|
+
};
|
|
10628
|
+
embedAnswerData: {
|
|
10629
|
+
name: string;
|
|
10630
|
+
id: string;
|
|
10631
|
+
sources: {
|
|
10632
|
+
header: {
|
|
10633
|
+
guid: string;
|
|
10634
|
+
};
|
|
10635
|
+
};
|
|
10636
|
+
columns: any[];
|
|
10637
|
+
data: any[];
|
|
10638
|
+
[key: string]: any;
|
|
10639
|
+
};
|
|
10640
|
+
session: SessionInterface;
|
|
10641
|
+
vizId?: string;
|
|
10642
|
+
}
|
|
10643
|
+
/**
|
|
10644
|
+
* A code-based custom action to inject into the embedded ThoughtSpot UI.
|
|
10645
|
+
* Pass an array of these as `customActions` in the embed view config. When a
|
|
10646
|
+
* user invokes the action, the host emits {@link EmbedEvent.CustomAction} with
|
|
10647
|
+
* a {@link CustomActionPayload} carrying the same `id`.
|
|
10648
|
+
*/
|
|
10649
|
+
export interface CustomAction {
|
|
10650
|
+
/**
|
|
10651
|
+
* Display label shown on the action's button or menu item.
|
|
10652
|
+
*/
|
|
10653
|
+
name: string;
|
|
10654
|
+
/**
|
|
10655
|
+
* Unique identifier for the action. Echoed back as `id` on the
|
|
10656
|
+
* {@link CustomActionPayload} when the action is invoked.
|
|
10657
|
+
*/
|
|
10658
|
+
id: string;
|
|
10659
|
+
/**
|
|
10660
|
+
* Where the action appears: a primary button, the "More" menu, or the
|
|
10661
|
+
* right-click context menu. See {@link CustomActionsPosition}.
|
|
10662
|
+
*/
|
|
10663
|
+
position: CustomActionsPosition;
|
|
10664
|
+
/**
|
|
10665
|
+
* The surface the action applies to (Liveboard, visualization, Answer, or
|
|
10666
|
+
* Spotter). See {@link CustomActionTarget}. The allowed `position` values
|
|
10667
|
+
* and scoping keys depend on the target.
|
|
10668
|
+
*/
|
|
10669
|
+
target: CustomActionTarget;
|
|
10670
|
+
/**
|
|
10671
|
+
* Scope the action to specific objects by GUID. Which keys are allowed
|
|
10672
|
+
* depends on `target` (for example, a `VIZ` action may use `answerIds`,
|
|
10673
|
+
* `liveboardIds`, and `vizIds`).
|
|
10674
|
+
*/
|
|
10675
|
+
metadataIds?: {
|
|
10676
|
+
answerIds?: string[];
|
|
10677
|
+
liveboardIds?: string[];
|
|
10678
|
+
vizIds?: string[];
|
|
10679
|
+
};
|
|
10680
|
+
/**
|
|
10681
|
+
* Scope the action by data model, using model GUIDs or column names.
|
|
10682
|
+
* Allowed for `VIZ`, `ANSWER`, and `SPOTTER` targets.
|
|
10683
|
+
*/
|
|
10684
|
+
dataModelIds?: {
|
|
10685
|
+
modelIds?: string[];
|
|
10686
|
+
modelColumnNames?: string[];
|
|
10687
|
+
};
|
|
10688
|
+
/**
|
|
10689
|
+
* Restrict the action to specific organizations by ID.
|
|
10690
|
+
*/
|
|
10691
|
+
orgIds?: string[];
|
|
10692
|
+
/**
|
|
10693
|
+
* Restrict the action to specific user groups by ID.
|
|
10694
|
+
*/
|
|
10695
|
+
groupIds?: string[];
|
|
10696
|
+
}
|
|
10697
|
+
/**
|
|
10698
|
+
* Enum options to show custom actions at different
|
|
10699
|
+
* positions in the application.
|
|
10700
|
+
*/
|
|
10701
|
+
export declare enum CustomActionsPosition {
|
|
10702
|
+
/**
|
|
10703
|
+
* Shows the action as a primary button
|
|
10704
|
+
* in the toolbar area of the embed.
|
|
10032
10705
|
*/
|
|
10033
10706
|
PRIMARY = "PRIMARY",
|
|
10034
10707
|
/**
|
|
@@ -10980,234 +11653,569 @@ export interface VisualizationOverrides {
|
|
|
10980
11653
|
/** Table visualization overrides */
|
|
10981
11654
|
table?: TableOverrides;
|
|
10982
11655
|
}
|
|
10983
|
-
|
|
10984
|
-
|
|
10985
|
-
|
|
10986
|
-
|
|
11656
|
+
/**
|
|
11657
|
+
* The configuration object for the full-height behavior shared by the
|
|
11658
|
+
* Liveboard and app embeds.
|
|
11659
|
+
*
|
|
11660
|
+
* When `fullHeight` is enabled the SDK resizes the embed container to match the
|
|
11661
|
+
* height reported by the ThoughtSpot app, and — when lazy loading is also
|
|
11662
|
+
* enabled — keeps the app informed of the portion of the embed that is
|
|
11663
|
+
* currently visible so that visualizations load on demand.
|
|
11664
|
+
*/
|
|
11665
|
+
export interface FullHeightViewConfig {
|
|
11666
|
+
/**
|
|
11667
|
+
* If set to true, the embedded object container dynamically resizes
|
|
11668
|
+
* according to the height of the Liveboard.
|
|
11669
|
+
*
|
|
11670
|
+
* **Note**: Using fullHeight loads all visualizations on the
|
|
11671
|
+
* Liveboard simultaneously, which results in multiple warehouse
|
|
11672
|
+
* queries and potentially a longer wait for the topmost
|
|
11673
|
+
* visualizations to display on the screen.
|
|
11674
|
+
* Setting `fullHeight` to `false` fetches visualizations
|
|
11675
|
+
* incrementally as users scroll the page to view the charts and tables.
|
|
11676
|
+
*
|
|
11677
|
+
* From SDK 1.52.0, enabling `fullHeight` also turns on
|
|
11678
|
+
* {@link lazyLoadingForFullHeight} and
|
|
11679
|
+
* {@link enableScrollableContainerLazyLoading}, so visualizations load as
|
|
11680
|
+
* they scroll into view. Set either flag to `false` to opt out.
|
|
11681
|
+
*
|
|
11682
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11683
|
+
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
|
|
11684
|
+
* @example
|
|
11685
|
+
* ```js
|
|
11686
|
+
* // Replace <EmbedComponent> with the embed component name.
|
|
11687
|
+
* // For example, AppEmbed or LiveboardEmbed
|
|
11688
|
+
* const embed = new <EmbedComponent>('#embed', {
|
|
11689
|
+
* ... // other view config
|
|
11690
|
+
* fullHeight: true,
|
|
11691
|
+
* });
|
|
11692
|
+
* ```
|
|
11693
|
+
*/
|
|
11694
|
+
fullHeight?: boolean;
|
|
11695
|
+
/**
|
|
11696
|
+
* This is the minimum height (in pixels) for a full-height Liveboard.
|
|
11697
|
+
* Setting this height helps resolve issues with empty Liveboards and
|
|
11698
|
+
* other screens navigable from a Liveboard.
|
|
11699
|
+
*
|
|
11700
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11701
|
+
* @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
|
|
11702
|
+
* @default 500
|
|
11703
|
+
* @example
|
|
11704
|
+
* ```js
|
|
11705
|
+
* // Replace <EmbedComponent> with the embed component name.
|
|
11706
|
+
* // For example, AppEmbed or LiveboardEmbed
|
|
11707
|
+
* const embed = new <EmbedComponent>('#embed', {
|
|
11708
|
+
* ... // other view config
|
|
11709
|
+
* fullHeight: true,
|
|
11710
|
+
* minimumHeight: 600,
|
|
11711
|
+
* });
|
|
11712
|
+
* ```
|
|
11713
|
+
*/
|
|
11714
|
+
minimumHeight?: number;
|
|
11715
|
+
/**
|
|
11716
|
+
* This is the minimum height (in pixels) for a full-height Liveboard.
|
|
11717
|
+
* Setting this height helps resolve issues with empty Liveboards and
|
|
11718
|
+
* other screens navigable from a Liveboard.
|
|
11719
|
+
*
|
|
11720
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11721
|
+
* @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
|
|
11722
|
+
* @deprecated Use `minimumHeight` instead.
|
|
11723
|
+
* @default 500
|
|
11724
|
+
* @example
|
|
11725
|
+
* ```js
|
|
11726
|
+
* // Replace <EmbedComponent> with the embed component name.
|
|
11727
|
+
* // For example, AppEmbed or LiveboardEmbed
|
|
11728
|
+
* const embed = new <EmbedComponent>('#embed', {
|
|
11729
|
+
* ... // other view config
|
|
11730
|
+
* fullHeight: true,
|
|
11731
|
+
* defaultHeight: 600,
|
|
11732
|
+
* });
|
|
11733
|
+
* ```
|
|
11734
|
+
*/
|
|
11735
|
+
defaultHeight?: number;
|
|
11736
|
+
/**
|
|
11737
|
+
* Loads visualizations only as they scroll into the viewport, instead of
|
|
11738
|
+
* loading the whole full-height Liveboard at once.
|
|
11739
|
+
*
|
|
11740
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
11741
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
11742
|
+
* set explicitly. Set it to `false` to load every visualization upfront.
|
|
11743
|
+
* The flag has no effect unless `fullHeight` is enabled.
|
|
11744
|
+
*
|
|
11745
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11746
|
+
* @type {boolean}
|
|
11747
|
+
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
11748
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
11749
|
+
* @example
|
|
11750
|
+
* ```js
|
|
11751
|
+
* // Replace <EmbedComponent> with the embed component name.
|
|
11752
|
+
* // For example, AppEmbed or LiveboardEmbed
|
|
11753
|
+
* const embed = new <EmbedComponent>('#embed-container', {
|
|
11754
|
+
* // ...other options
|
|
11755
|
+
* fullHeight: true,
|
|
11756
|
+
* lazyLoadingForFullHeight: true,
|
|
11757
|
+
* })
|
|
11758
|
+
* ```
|
|
11759
|
+
*/
|
|
11760
|
+
lazyLoadingForFullHeight?: boolean;
|
|
11761
|
+
/**
|
|
11762
|
+
* How far outside the viewport a visualization starts loading, when
|
|
11763
|
+
* {@link lazyLoadingForFullHeight} is enabled.
|
|
11764
|
+
*
|
|
11765
|
+
* For example, if the margin is set to '10px',
|
|
11766
|
+
* the visualization will be loaded 10px before its top edge is visible in the
|
|
11767
|
+
* viewport.
|
|
11768
|
+
*
|
|
11769
|
+
* The format is similar to CSS margin, so `'500px 0px'` extends the
|
|
11770
|
+
* prefetch 500px above and below the viewport and not sideways. Accepted
|
|
11771
|
+
* units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
|
|
11772
|
+
* `auto`; an invalid value is logged and ignored.
|
|
11773
|
+
*
|
|
11774
|
+
* From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
|
|
11775
|
+
* visualization ahead of the scroll position, so a chart has usually
|
|
11776
|
+
* finished loading by the time it scrolls into view. Use a smaller margin
|
|
11777
|
+
* to cut warehouse queries further, or `'0px'` to load a visualization
|
|
11778
|
+
* only once it is actually visible.
|
|
11779
|
+
*
|
|
11780
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11781
|
+
* @type {string}
|
|
11782
|
+
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
11783
|
+
* @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
|
|
11784
|
+
* @example
|
|
11785
|
+
* ```js
|
|
11786
|
+
* // Replace <EmbedComponent> with the embed component name.
|
|
11787
|
+
* // For example, AppEmbed or LiveboardEmbed
|
|
11788
|
+
* const embed = new <EmbedComponent>('#embed-container', {
|
|
11789
|
+
* // ...other options
|
|
11790
|
+
* fullHeight: true,
|
|
11791
|
+
* lazyLoadingForFullHeight: true,
|
|
11792
|
+
* // With 0px, the visualization only starts loading once it is
|
|
11793
|
+
* // visible in the viewport.
|
|
11794
|
+
* lazyLoadingMargin: '0px',
|
|
11795
|
+
* })
|
|
11796
|
+
* ```
|
|
11797
|
+
*/
|
|
11798
|
+
lazyLoadingMargin?: string;
|
|
11799
|
+
/**
|
|
11800
|
+
* Computes the visible region of the embed against its scrollable and
|
|
11801
|
+
* clipping ancestors, instead of treating the browser window as the only
|
|
11802
|
+
* viewport, and tracks scroll and resize on those ancestors.
|
|
11803
|
+
*
|
|
11804
|
+
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
11805
|
+
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
11806
|
+
* set explicitly. Set it to `false` when the page scrolls with the window
|
|
11807
|
+
* and the embed has no clipping ancestor, to skip the extra ancestor
|
|
11808
|
+
* tracking.
|
|
11809
|
+
*
|
|
11810
|
+
* Supported embed types: `LiveboardEmbed`, `AppEmbed`
|
|
11811
|
+
* @type {boolean}
|
|
11812
|
+
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
11813
|
+
*/
|
|
11814
|
+
enableScrollableContainerLazyLoading?: boolean;
|
|
10987
11815
|
}
|
|
10988
|
-
|
|
10989
|
-
|
|
10990
|
-
|
|
10991
|
-
|
|
11816
|
+
/**
|
|
11817
|
+
* Request for host events that MAY target a specific visualization.
|
|
11818
|
+
* Omitting vizId targets the current answer/liveboard as a whole.
|
|
11819
|
+
* (In some contexts, e.g. Spotter, the app requires vizId at runtime.)
|
|
11820
|
+
*/
|
|
11821
|
+
export interface VizScopedRequest {
|
|
11822
|
+
vizId?: string;
|
|
11823
|
+
}
|
|
11824
|
+
/**
|
|
11825
|
+
* Request for host events that MUST target a specific visualization.
|
|
11826
|
+
*/
|
|
11827
|
+
export interface RequiredVizRequest {
|
|
11828
|
+
vizId: string;
|
|
11829
|
+
}
|
|
11830
|
+
/**
|
|
11831
|
+
* Request for Spotter conversation-scoped host events.
|
|
11832
|
+
*/
|
|
11833
|
+
export interface ConversationScopedRequest {
|
|
11834
|
+
conversationId: string;
|
|
11835
|
+
}
|
|
11836
|
+
/**
|
|
11837
|
+
* Request payload for {@link HostEvent.OpenFilter}. Field requirements
|
|
11838
|
+
* vary by context (Search requires columnId/type/dataType/name); the
|
|
11839
|
+
* contract is the cross-context superset — the app validates per context
|
|
11840
|
+
* at runtime. Per-context views: {@link OpenFilterLiveboardRequest},
|
|
11841
|
+
* {@link OpenFilterSpotterRequest}, {@link OpenFilterSearchRequest}.
|
|
11842
|
+
*/
|
|
11843
|
+
export interface OpenFilterRequest {
|
|
11844
|
+
column: {
|
|
11845
|
+
columnId?: string;
|
|
11846
|
+
columnName?: string;
|
|
11847
|
+
type?: string;
|
|
11848
|
+
dataType?: string;
|
|
11849
|
+
name?: string;
|
|
11850
|
+
isStrictDateColumn?: boolean;
|
|
11851
|
+
};
|
|
11852
|
+
applicability?: Applicability;
|
|
11853
|
+
visualizationId?: string;
|
|
11854
|
+
liveboardId?: string;
|
|
11855
|
+
}
|
|
11856
|
+
/**
|
|
11857
|
+
* `OpenFilter` in Liveboard context: full column plus scoping fields.
|
|
11858
|
+
* A per-context view of {@link OpenFilterRequest} (documentation only today;
|
|
11859
|
+
* `trigger()` accepts the superset).
|
|
11860
|
+
*/
|
|
11861
|
+
export interface OpenFilterLiveboardRequest {
|
|
11862
|
+
column: {
|
|
11863
|
+
columnId?: string;
|
|
11864
|
+
columnName?: string;
|
|
11865
|
+
};
|
|
11866
|
+
applicability?: Applicability;
|
|
11867
|
+
visualizationId?: string;
|
|
11868
|
+
liveboardId?: string;
|
|
11869
|
+
}
|
|
11870
|
+
/**
|
|
11871
|
+
* `OpenFilter` in Spotter context: only the column identity is accepted.
|
|
11872
|
+
*/
|
|
11873
|
+
export interface OpenFilterSpotterRequest {
|
|
11874
|
+
column: {
|
|
11875
|
+
columnId?: string;
|
|
11876
|
+
columnName?: string;
|
|
11877
|
+
};
|
|
11878
|
+
}
|
|
11879
|
+
/**
|
|
11880
|
+
* `OpenFilter` in Search/Answer context: column identity plus column metadata.
|
|
11881
|
+
*/
|
|
11882
|
+
export interface OpenFilterSearchRequest {
|
|
11883
|
+
column: {
|
|
11884
|
+
columnId?: string;
|
|
11885
|
+
columnName?: string;
|
|
11886
|
+
type?: string;
|
|
11887
|
+
dataType?: string;
|
|
11888
|
+
name?: string;
|
|
11889
|
+
isStrictDateColumn?: boolean;
|
|
11890
|
+
};
|
|
11891
|
+
}
|
|
11892
|
+
/**
|
|
11893
|
+
* Request payload for {@link HostEvent.DrillDown}. Drills on selected or
|
|
11894
|
+
* clicked points of a visualization. In Liveboard context `vizId` is required
|
|
11895
|
+
* at runtime (documentation only today; `trigger()` is not yet type-enforced).
|
|
11896
|
+
*/
|
|
11897
|
+
export interface DrillDownRequest {
|
|
11898
|
+
points: {
|
|
11899
|
+
clickedPoint?: object;
|
|
11900
|
+
selectedPoints?: object[];
|
|
11901
|
+
};
|
|
11902
|
+
columnGuid?: string;
|
|
11903
|
+
autoDrillDown?: boolean;
|
|
11904
|
+
vizId?: string;
|
|
11905
|
+
}
|
|
11906
|
+
/**
|
|
11907
|
+
* Request payload for {@link HostEvent.OpenParameter}. One of parameterId
|
|
11908
|
+
* or parameterName must be provided (validated at runtime).
|
|
11909
|
+
*/
|
|
11910
|
+
export interface OpenParameterRequest {
|
|
11911
|
+
parameter: {
|
|
11912
|
+
parameterId?: string;
|
|
11913
|
+
parameterName?: string;
|
|
11914
|
+
};
|
|
11915
|
+
applicability?: Applicability;
|
|
11916
|
+
}
|
|
11917
|
+
/**
|
|
11918
|
+
* Request payload for {@link HostEvent.Search}.
|
|
11919
|
+
*/
|
|
11920
|
+
export interface SearchRequest {
|
|
11921
|
+
searchQuery: string;
|
|
11922
|
+
dataSources: string[];
|
|
11923
|
+
execute?: boolean;
|
|
11924
|
+
}
|
|
11925
|
+
/**
|
|
11926
|
+
* Request payload for {@link HostEvent.SpotterSearch}.
|
|
11927
|
+
*/
|
|
11928
|
+
export interface SpotterSearchRequest {
|
|
11929
|
+
query: string;
|
|
11930
|
+
executeSearch: boolean;
|
|
11931
|
+
}
|
|
11932
|
+
/**
|
|
11933
|
+
* A single cross-filter condition for {@link HostEvent.UpdateCrossFilter}.
|
|
11934
|
+
*/
|
|
11935
|
+
export interface CrossFilterCondition {
|
|
11936
|
+
columnName?: string;
|
|
11937
|
+
operator?: string;
|
|
11938
|
+
values: Array<string | number | boolean>;
|
|
11939
|
+
}
|
|
11940
|
+
/**
|
|
11941
|
+
* Request payload for {@link HostEvent.UpdateCrossFilter}.
|
|
11942
|
+
*/
|
|
11943
|
+
export interface UpdateCrossFilterRequest {
|
|
11944
|
+
vizId: string;
|
|
11945
|
+
conditions: CrossFilterCondition[];
|
|
11946
|
+
}
|
|
11947
|
+
/**
|
|
11948
|
+
* The column to filter on. Supply `columnName`. A filter with no column is
|
|
11949
|
+
* rejected at runtime, and passing both spellings silently discards the
|
|
11950
|
+
* `column` one.
|
|
11951
|
+
*
|
|
11952
|
+
* When several columns share a name, qualify it as
|
|
11953
|
+
* `WORKSHEET_NAME::COLUMN_NAME`, for example
|
|
11954
|
+
* `"(Sample) Retail - Apparel::city"`.
|
|
11955
|
+
*/
|
|
11956
|
+
export type HostFilterUpdateColumn = {
|
|
11957
|
+
/**
|
|
11958
|
+
* Name of the column to filter on, optionally qualified as
|
|
11959
|
+
* `WORKSHEET_NAME::COLUMN_NAME`.
|
|
11960
|
+
*/
|
|
11961
|
+
columnName: string;
|
|
11962
|
+
column?: never;
|
|
11963
|
+
} | {
|
|
11964
|
+
/**
|
|
11965
|
+
* @deprecated Use `columnName`, which matches {@link RuntimeFilter} and
|
|
11966
|
+
* the rest of the SDK. Still accepted, but not alongside `columnName`.
|
|
11967
|
+
*/
|
|
11968
|
+
column: string;
|
|
11969
|
+
columnName?: never;
|
|
11970
|
+
};
|
|
11971
|
+
/**
|
|
11972
|
+
* The filter operator. Supply `operator`. A filter with no operator is
|
|
11973
|
+
* rejected at runtime, and passing both spellings silently discards the
|
|
11974
|
+
* `oper` one.
|
|
11975
|
+
*/
|
|
11976
|
+
export type HostFilterUpdateOperator = {
|
|
11977
|
+
/** Filter operator, for example EQ, IN, CONTAINS. */
|
|
11978
|
+
operator: string;
|
|
11979
|
+
oper?: never;
|
|
11980
|
+
} | {
|
|
11981
|
+
/**
|
|
11982
|
+
* @deprecated Use `operator`, which matches {@link RuntimeFilter} and
|
|
11983
|
+
* the rest of the SDK. Still accepted, but not alongside `operator`.
|
|
11984
|
+
*/
|
|
11985
|
+
oper: string;
|
|
11986
|
+
operator?: never;
|
|
11987
|
+
};
|
|
11988
|
+
/**
|
|
11989
|
+
* A single filter entry for {@link HostEvent.UpdateFilters}.
|
|
11990
|
+
*
|
|
11991
|
+
* Use `columnName` and `operator` - the spelling used by
|
|
11992
|
+
* {@link RuntimeFilter} and by the payload
|
|
11993
|
+
* `convertFilterChangedToUpdateFiltersPayload` produces.
|
|
11994
|
+
*/
|
|
11995
|
+
export type HostFilterUpdate = HostFilterUpdateColumn & HostFilterUpdateOperator & {
|
|
11996
|
+
columnId?: string;
|
|
11997
|
+
values: Array<string | number | boolean | bigint>;
|
|
11998
|
+
type?: string;
|
|
11999
|
+
datePeriod?: string;
|
|
12000
|
+
negate?: boolean;
|
|
12001
|
+
applicability?: Applicability;
|
|
12002
|
+
};
|
|
12003
|
+
/**
|
|
12004
|
+
* Request payload for {@link HostEvent.UpdateFilters} (singular or plural
|
|
12005
|
+
* form).
|
|
12006
|
+
*/
|
|
12007
|
+
export interface UpdateFiltersRequest {
|
|
12008
|
+
filter?: HostFilterUpdate;
|
|
12009
|
+
filters?: HostFilterUpdate[];
|
|
12010
|
+
/**
|
|
12011
|
+
* Scope the update to a specific visualization on a Liveboard.
|
|
12012
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12013
|
+
*/
|
|
12014
|
+
visualizationId?: string;
|
|
12015
|
+
/**
|
|
12016
|
+
* Scope the update to a specific Liveboard.
|
|
12017
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
12018
|
+
*/
|
|
12019
|
+
liveboardId?: string;
|
|
12020
|
+
}
|
|
12021
|
+
/**
|
|
12022
|
+
* Request payload for personalised-view host events.
|
|
12023
|
+
*/
|
|
12024
|
+
export interface PersonalisedViewRequest {
|
|
12025
|
+
viewId?: string;
|
|
12026
|
+
viewName?: string;
|
|
12027
|
+
}
|
|
12028
|
+
/**
|
|
12029
|
+
* Request payload for schedule-email related host events.
|
|
12030
|
+
*/
|
|
12031
|
+
export interface ScheduleEmailRequest {
|
|
12032
|
+
sendToSelf?: boolean;
|
|
12033
|
+
}
|
|
12034
|
+
/**
|
|
12035
|
+
* Object form of the {@link HostEvent.Navigate} payload.
|
|
12036
|
+
*/
|
|
12037
|
+
export interface NavigateRequest {
|
|
12038
|
+
/**
|
|
12039
|
+
* Route to navigate to, or a history delta such as `1` or `-1`.
|
|
12040
|
+
*/
|
|
12041
|
+
path: string | number;
|
|
12042
|
+
/**
|
|
12043
|
+
* When `true`, replaces the current history entry instead of pushing.
|
|
12044
|
+
*/
|
|
12045
|
+
replace?: boolean;
|
|
10992
12046
|
}
|
|
10993
12047
|
/**
|
|
10994
|
-
*
|
|
12048
|
+
* Request payload for {@link HostEvent.SetActiveTab}.
|
|
10995
12049
|
*/
|
|
10996
|
-
export
|
|
10997
|
-
|
|
10998
|
-
|
|
10999
|
-
|
|
12050
|
+
export interface SetActiveTabRequest {
|
|
12051
|
+
/**
|
|
12052
|
+
* Id of the liveboard tab to make active.
|
|
12053
|
+
*/
|
|
12054
|
+
tabId: string;
|
|
11000
12055
|
}
|
|
11001
12056
|
/**
|
|
11002
|
-
*
|
|
11003
|
-
*
|
|
11004
|
-
*
|
|
12057
|
+
* Typed request payloads for host events that do not go through the UI
|
|
12058
|
+
* passthrough pipeline (`HostEvent` member → request type; `void` = no payload).
|
|
12059
|
+
*
|
|
12060
|
+
* Shapes are transcribed from the host's runtime validation schemas
|
|
12061
|
+
* (embed-util HostEventContract) — what the ThoughtSpot app actually enforces —
|
|
12062
|
+
* flattened across contexts to the permissive superset (context-specific
|
|
12063
|
+
* requirements are validated at runtime).
|
|
12064
|
+
*
|
|
12065
|
+
* Responses are typed only for UI-passthrough-backed events today (see
|
|
12066
|
+
* {@link HostEventResponse}). Add a response map alongside this one when the
|
|
12067
|
+
* first explicit response shape is specified; tightening later is additive.
|
|
12068
|
+
*
|
|
12069
|
+
* Deliberately absent (do not add without an audit):
|
|
12070
|
+
* - DrillDown: the runtime schema (object-shaped points) and the UI
|
|
12071
|
+
* passthrough contract (string-shaped points) disagree — resolve the
|
|
12072
|
+
* drift first.
|
|
12073
|
+
* - GetAnswerSession/GetParameters/GetTML: typed via the UI passthrough
|
|
12074
|
+
* mapping; their Spotter-context vizId requirement is runtime-only.
|
|
11005
12075
|
*/
|
|
11006
|
-
export interface
|
|
11007
|
-
|
|
11008
|
-
|
|
11009
|
-
|
|
11010
|
-
|
|
11011
|
-
|
|
11012
|
-
|
|
11013
|
-
|
|
11014
|
-
|
|
11015
|
-
|
|
11016
|
-
|
|
11017
|
-
|
|
11018
|
-
|
|
11019
|
-
[
|
|
11020
|
-
|
|
11021
|
-
|
|
11022
|
-
applicability?: Applicability;
|
|
11023
|
-
[key: string]: any;
|
|
11024
|
-
}
|
|
11025
|
-
export declare enum UIPassthroughEvent {
|
|
11026
|
-
PinAnswerToLiveboard = "addVizToPinboard",
|
|
11027
|
-
SaveAnswer = "saveAnswer",
|
|
11028
|
-
GetDiscoverabilityStatus = "getDiscoverabilityStatus",
|
|
11029
|
-
GetAvailableUIPassthroughs = "getAvailableUiPassthroughs",
|
|
11030
|
-
GetAnswerConfig = "getAnswerPageConfig",
|
|
11031
|
-
GetLiveboardConfig = "getPinboardPageConfig",
|
|
11032
|
-
GetUnsavedAnswerTML = "getUnsavedAnswerTML",
|
|
11033
|
-
UpdateFilters = "updateFilters",
|
|
11034
|
-
Drilldown = "drillDown",
|
|
11035
|
-
GetAnswerSession = "getAnswerSession",
|
|
11036
|
-
GetFilters = "getFilters",
|
|
11037
|
-
GetIframeUrl = "getIframeUrl",
|
|
11038
|
-
GetParameters = "getParameters",
|
|
11039
|
-
GetTML = "getTML",
|
|
11040
|
-
GetTabs = "getTabs",
|
|
11041
|
-
GetGroups = "getGroups",
|
|
11042
|
-
GetExportRequestForCurrentPinboard = "getExportRequestForCurrentPinboard"
|
|
11043
|
-
}
|
|
11044
|
-
export type UIPassthroughContractBase = {
|
|
11045
|
-
[UIPassthroughEvent.PinAnswerToLiveboard]: {
|
|
11046
|
-
request: {
|
|
11047
|
-
vizId?: string;
|
|
11048
|
-
newVizName: string;
|
|
11049
|
-
newVizDescription?: string;
|
|
11050
|
-
liveboardId?: string;
|
|
11051
|
-
tabId?: string;
|
|
11052
|
-
newLiveboardName?: string;
|
|
11053
|
-
newTabName?: string;
|
|
11054
|
-
};
|
|
11055
|
-
response: {
|
|
11056
|
-
liveboardId: string;
|
|
11057
|
-
tabId: string;
|
|
11058
|
-
vizId: string;
|
|
11059
|
-
};
|
|
11060
|
-
};
|
|
11061
|
-
[UIPassthroughEvent.SaveAnswer]: {
|
|
11062
|
-
request: {
|
|
11063
|
-
name: string;
|
|
11064
|
-
description: string;
|
|
11065
|
-
vizId?: string;
|
|
11066
|
-
isDiscoverable?: boolean;
|
|
11067
|
-
};
|
|
11068
|
-
response: {
|
|
11069
|
-
answerId: string;
|
|
11070
|
-
saveResponse?: any;
|
|
11071
|
-
shareResponse?: any;
|
|
11072
|
-
};
|
|
11073
|
-
};
|
|
11074
|
-
[UIPassthroughEvent.GetDiscoverabilityStatus]: {
|
|
11075
|
-
request: any;
|
|
11076
|
-
response: {
|
|
11077
|
-
shouldShowDiscoverability: boolean;
|
|
11078
|
-
isDiscoverabilityCheckboxUnselectedPerOrg: boolean;
|
|
11079
|
-
};
|
|
11080
|
-
};
|
|
11081
|
-
[UIPassthroughEvent.GetAvailableUIPassthroughs]: {
|
|
11082
|
-
request: any;
|
|
11083
|
-
response: {
|
|
11084
|
-
keys: string[];
|
|
11085
|
-
};
|
|
11086
|
-
};
|
|
11087
|
-
[UIPassthroughEvent.GetAnswerConfig]: {
|
|
11088
|
-
request: {
|
|
11089
|
-
vizId?: string;
|
|
11090
|
-
};
|
|
11091
|
-
response: any;
|
|
11092
|
-
};
|
|
11093
|
-
[UIPassthroughEvent.GetLiveboardConfig]: {
|
|
11094
|
-
request: any;
|
|
11095
|
-
response: any;
|
|
11096
|
-
};
|
|
11097
|
-
[UIPassthroughEvent.GetUnsavedAnswerTML]: {
|
|
11098
|
-
request: {
|
|
11099
|
-
sessionId?: string;
|
|
11100
|
-
vizId?: string;
|
|
11101
|
-
};
|
|
11102
|
-
response: {
|
|
11103
|
-
tml: string;
|
|
11104
|
-
};
|
|
11105
|
-
};
|
|
11106
|
-
[UIPassthroughEvent.GetAnswerSession]: {
|
|
11107
|
-
request: {
|
|
11108
|
-
vizId?: string;
|
|
11109
|
-
};
|
|
11110
|
-
response: {
|
|
11111
|
-
session: SessionInterface;
|
|
11112
|
-
embedAnswerData?: Record<string, any>;
|
|
11113
|
-
};
|
|
11114
|
-
};
|
|
11115
|
-
[UIPassthroughEvent.GetFilters]: {
|
|
11116
|
-
request: {
|
|
11117
|
-
vizId?: string;
|
|
11118
|
-
};
|
|
11119
|
-
response: {
|
|
11120
|
-
liveboardFilters: LiveboardFilter[];
|
|
11121
|
-
runtimeFilters: RuntimeFilter[];
|
|
11122
|
-
};
|
|
11123
|
-
};
|
|
11124
|
-
[UIPassthroughEvent.GetIframeUrl]: {
|
|
11125
|
-
request: Record<string, never>;
|
|
11126
|
-
response: {
|
|
11127
|
-
iframeUrl: string;
|
|
11128
|
-
};
|
|
11129
|
-
};
|
|
11130
|
-
[UIPassthroughEvent.GetParameters]: {
|
|
11131
|
-
request: Record<string, never>;
|
|
11132
|
-
response: {
|
|
11133
|
-
parameters: LiveboardParameter[];
|
|
11134
|
-
};
|
|
11135
|
-
};
|
|
11136
|
-
[UIPassthroughEvent.GetTML]: {
|
|
11137
|
-
request: {
|
|
11138
|
-
vizId?: string;
|
|
11139
|
-
includeNonExecutedSearchTokens?: boolean;
|
|
11140
|
-
};
|
|
11141
|
-
response: Record<string, any>;
|
|
11142
|
-
};
|
|
11143
|
-
[UIPassthroughEvent.GetTabs]: {
|
|
11144
|
-
request: Record<string, never>;
|
|
11145
|
-
response: {
|
|
11146
|
-
orderedTabIds: string[];
|
|
11147
|
-
numberOfTabs: number;
|
|
11148
|
-
Tabs: LiveboardTab[];
|
|
11149
|
-
};
|
|
12076
|
+
export interface HostEventRequestMap {
|
|
12077
|
+
[HostEvent.UpdateRuntimeFilters]: RuntimeFilter[];
|
|
12078
|
+
[HostEvent.UpdateParameters]: RuntimeParameter[];
|
|
12079
|
+
[HostEvent.UpdateFilters]: UpdateFiltersRequest;
|
|
12080
|
+
[HostEvent.UpdateCrossFilter]: UpdateCrossFilterRequest;
|
|
12081
|
+
[HostEvent.OpenFilter]: OpenFilterRequest;
|
|
12082
|
+
[HostEvent.OpenParameter]: OpenParameterRequest;
|
|
12083
|
+
[HostEvent.SetVisibleVizs]: string[];
|
|
12084
|
+
[HostEvent.SetVisibleTabs]: string[];
|
|
12085
|
+
[HostEvent.SetHiddenTabs]: string[];
|
|
12086
|
+
[HostEvent.SetActiveTab]: SetActiveTabRequest;
|
|
12087
|
+
[HostEvent.Navigate]: string | number | NavigateRequest;
|
|
12088
|
+
[HostEvent.Search]: SearchRequest;
|
|
12089
|
+
[HostEvent.ResetSearch]: void;
|
|
12090
|
+
[HostEvent.AddColumns]: {
|
|
12091
|
+
columnIds: string[];
|
|
11150
12092
|
};
|
|
11151
|
-
[
|
|
11152
|
-
|
|
11153
|
-
response: {
|
|
11154
|
-
orderedGroupIds: string[];
|
|
11155
|
-
numberOfGroups: number;
|
|
11156
|
-
Groups: LiveboardGroup[];
|
|
11157
|
-
};
|
|
12093
|
+
[HostEvent.RemoveColumn]: {
|
|
12094
|
+
columnId: string;
|
|
11158
12095
|
};
|
|
11159
|
-
[
|
|
11160
|
-
|
|
11161
|
-
|
|
11162
|
-
|
|
11163
|
-
|
|
11164
|
-
|
|
11165
|
-
|
|
11166
|
-
|
|
12096
|
+
[HostEvent.Edit]: VizScopedRequest;
|
|
12097
|
+
[HostEvent.Save]: VizScopedRequest;
|
|
12098
|
+
[HostEvent.Delete]: VizScopedRequest;
|
|
12099
|
+
[HostEvent.Share]: VizScopedRequest;
|
|
12100
|
+
[HostEvent.Present]: VizScopedRequest;
|
|
12101
|
+
[HostEvent.CopyLink]: VizScopedRequest;
|
|
12102
|
+
[HostEvent.ExportTML]: VizScopedRequest;
|
|
12103
|
+
[HostEvent.EditTML]: VizScopedRequest;
|
|
12104
|
+
[HostEvent.UpdateTML]: VizScopedRequest;
|
|
12105
|
+
[HostEvent.SchedulesList]: VizScopedRequest;
|
|
12106
|
+
[HostEvent.Schedule]: VizScopedRequest;
|
|
12107
|
+
[HostEvent.SpotIQAnalyze]: VizScopedRequest;
|
|
12108
|
+
[HostEvent.ShowUnderlyingData]: VizScopedRequest;
|
|
12109
|
+
[HostEvent.CreateMonitor]: VizScopedRequest;
|
|
12110
|
+
[HostEvent.ManageMonitor]: VizScopedRequest;
|
|
12111
|
+
[HostEvent.SyncToSheets]: VizScopedRequest;
|
|
12112
|
+
[HostEvent.SyncToOtherApps]: VizScopedRequest;
|
|
12113
|
+
[HostEvent.ManagePipelines]: VizScopedRequest;
|
|
12114
|
+
[HostEvent.DownloadAsPng]: VizScopedRequest;
|
|
12115
|
+
[HostEvent.DownloadAsCsv]: VizScopedRequest;
|
|
12116
|
+
[HostEvent.DownloadAsXlsx]: VizScopedRequest;
|
|
12117
|
+
[HostEvent.DownloadAsPdf]: VizScopedRequest & {
|
|
12118
|
+
liveboardId?: string;
|
|
11167
12119
|
};
|
|
11168
|
-
[
|
|
11169
|
-
|
|
11170
|
-
|
|
11171
|
-
|
|
11172
|
-
|
|
11173
|
-
|
|
12120
|
+
[HostEvent.Explore]: RequiredVizRequest;
|
|
12121
|
+
[HostEvent.AskSage]: RequiredVizRequest;
|
|
12122
|
+
[HostEvent.AskSpotter]: RequiredVizRequest;
|
|
12123
|
+
[HostEvent.AnswerChartSwitcher]: RequiredVizRequest;
|
|
12124
|
+
[HostEvent.UpdatePersonalisedView]: Pick<PersonalisedViewRequest, "viewId">;
|
|
12125
|
+
[HostEvent.SelectPersonalizedView]: PersonalisedViewRequest;
|
|
12126
|
+
[HostEvent.ResetLiveboardPersonalisedView]: void;
|
|
12127
|
+
[HostEvent.AIHighlights]: void;
|
|
12128
|
+
[HostEvent.SendTestScheduleEmail]: ScheduleEmailRequest;
|
|
12129
|
+
[HostEvent.RefreshLiveboardBrowserCache]: ScheduleEmailRequest;
|
|
12130
|
+
[HostEvent.SpotterSearch]: SpotterSearchRequest;
|
|
12131
|
+
[HostEvent.ResetSpotterConversation]: void;
|
|
12132
|
+
[HostEvent.ShareSpotterConversation]: ConversationScopedRequest;
|
|
12133
|
+
[HostEvent.CloseSpotterShareConversation]: void;
|
|
12134
|
+
[HostEvent.ExitSpotterSharedConversation]: void;
|
|
12135
|
+
[HostEvent.PinSpotterConversation]: ConversationScopedRequest;
|
|
12136
|
+
[HostEvent.UnpinSpotterConversation]: ConversationScopedRequest;
|
|
12137
|
+
[HostEvent.EditLastPrompt]: string;
|
|
12138
|
+
[HostEvent.DeleteLastPrompt]: void;
|
|
12139
|
+
[HostEvent.PreviewSpotterData]: void;
|
|
12140
|
+
[HostEvent.SpotterVizSendUserMessage]: {
|
|
12141
|
+
query: string;
|
|
11174
12142
|
};
|
|
11175
|
-
[
|
|
11176
|
-
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
12143
|
+
[HostEvent.InitSpotterVizConversation]: void;
|
|
12144
|
+
[HostEvent.OpenSpotterVizPanel]: void;
|
|
12145
|
+
[HostEvent.CloseSpotterVizPanel]: void;
|
|
12146
|
+
}
|
|
12147
|
+
/**
|
|
12148
|
+
* Per-context request shapes for events whose payload varies by
|
|
12149
|
+
/**
|
|
12150
|
+
* Resolves the typed request payload for a host event.
|
|
12151
|
+
* Resolution order:
|
|
12152
|
+
* 1. Explicitly typed request in {@link HostEventRequestMap}
|
|
12153
|
+
* 2. UI passthrough backed contract ({@link EmbedApiHostEventMapping})
|
|
12154
|
+
* 3. `any` (event not audited/typed yet — backward compatible)
|
|
12155
|
+
*
|
|
12156
|
+
* Requests are the cross-context superset today. The per-context `*Request`
|
|
12157
|
+
* interfaces (e.g. {@link OpenFilterLiveboardRequest}) document how the shape
|
|
12158
|
+
* narrows by context; a later release may thread the caller's context to
|
|
12159
|
+
* enforce it.
|
|
12160
|
+
*/
|
|
12161
|
+
export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof HostEventRequestMap ? HostEventRequestMap[HostEventT] : HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
12162
|
+
/**
|
|
12163
|
+
* Resolves the typed response payload for a host event. Only UI passthrough
|
|
12164
|
+
* backed events have typed responses today; everything else resolves to `any`.
|
|
12165
|
+
*/
|
|
12166
|
+
export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType = ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
12167
|
+
/**
|
|
12168
|
+
* Payload type accepted by `embed.trigger()`. Keeps the historical
|
|
12169
|
+
* `PayloadT` escape hatch so untyped existing call sites keep compiling.
|
|
12170
|
+
*/
|
|
12171
|
+
export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
|
|
12172
|
+
/**
|
|
12173
|
+
* Deep `Partial` of a request type: every field optional at every depth, with no
|
|
12174
|
+
* index signature — so object literals carrying unknown fields are flagged.
|
|
12175
|
+
*/
|
|
12176
|
+
export type DeepPartial<T> = T extends (infer U)[] ? DeepPartial<U>[] : T extends object ? {
|
|
12177
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
12178
|
+
} : T;
|
|
12179
|
+
/**
|
|
12180
|
+
* `trigger()`'s `data` type: an all-optional view of the event's request type.
|
|
12181
|
+
* See {@link HostEventRequest} and the `*Request` interfaces, e.g. {@link SearchRequest}.
|
|
12182
|
+
* No-payload events take `{}`. SDK 1.54.0 makes this strict (required fields enforced).
|
|
12183
|
+
*/
|
|
12184
|
+
export type TriggerData<HostEventT extends HostEvent> = HostEventRequest<HostEventT> extends void ? Record<string, never> : DeepPartial<HostEventRequest<HostEventT>>;
|
|
12185
|
+
/**
|
|
12186
|
+
* Response type returned by `embed.trigger()`.
|
|
12187
|
+
*/
|
|
12188
|
+
export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType = ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
|
|
12189
|
+
/**
|
|
12190
|
+
* Typed `data` field per embed event. Seed with audited events only.
|
|
12191
|
+
*/
|
|
12192
|
+
export interface EmbedEventDataExtension {
|
|
12193
|
+
[EmbedEvent.AuthInit]: {
|
|
12194
|
+
/**
|
|
12195
|
+
* Whether authentication was successful.
|
|
12196
|
+
*/
|
|
12197
|
+
isLoggedIn?: boolean;
|
|
12198
|
+
[key: string]: any;
|
|
11186
12199
|
};
|
|
12200
|
+
[EmbedEvent.EmbedListenerReady]: Record<string, any>;
|
|
12201
|
+
/**
|
|
12202
|
+
* Fired when a callback-type custom action is triggered. Use
|
|
12203
|
+
* `payload.data.id` to identify which action fired.
|
|
12204
|
+
*/
|
|
12205
|
+
[EmbedEvent.CustomAction]: CustomActionPayload;
|
|
12206
|
+
}
|
|
12207
|
+
/**
|
|
12208
|
+
* Resolves the typed `data` payload for an embed event; `any` when the
|
|
12209
|
+
* event has not been audited/typed yet.
|
|
12210
|
+
*/
|
|
12211
|
+
export type EmbedEventData<EmbedEventT extends EmbedEvent> = EmbedEventT extends keyof EmbedEventDataExtension ? EmbedEventDataExtension[EmbedEventT] : any;
|
|
12212
|
+
/**
|
|
12213
|
+
* Full envelope delivered to `embed.on()` callbacks for a given event:
|
|
12214
|
+
* the wire fields (`type`, `status`) plus the typed `data`.
|
|
12215
|
+
*/
|
|
12216
|
+
export type EmbedEventPayload<EmbedEventT extends EmbedEvent> = Omit<MessagePayload, "data"> & {
|
|
12217
|
+
data: EmbedEventData<EmbedEventT>;
|
|
11187
12218
|
};
|
|
11188
|
-
export type UIPassthroughRequest<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["request"];
|
|
11189
|
-
export type UIPassthroughResponse<T extends keyof UIPassthroughContractBase> = UIPassthroughContractBase[T]["response"];
|
|
11190
|
-
export type UIPassthroughArrayResponse<ApiName extends keyof UIPassthroughContractBase> = Array<{
|
|
11191
|
-
refId?: string;
|
|
11192
|
-
value?: UIPassthroughResponse<ApiName>;
|
|
11193
|
-
error?: any;
|
|
11194
|
-
}>;
|
|
11195
|
-
export type EmbedApiHostEventMapping = {
|
|
11196
|
-
[HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard;
|
|
11197
|
-
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer;
|
|
11198
|
-
[HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession;
|
|
11199
|
-
[HostEvent.GetFilters]: UIPassthroughEvent.GetFilters;
|
|
11200
|
-
[HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl;
|
|
11201
|
-
[HostEvent.GetParameters]: UIPassthroughEvent.GetParameters;
|
|
11202
|
-
[HostEvent.GetTML]: UIPassthroughEvent.GetTML;
|
|
11203
|
-
[HostEvent.GetTabs]: UIPassthroughEvent.GetTabs;
|
|
11204
|
-
[HostEvent.GetGroups]: UIPassthroughEvent.GetGroups;
|
|
11205
|
-
[HostEvent.getExportRequestForCurrentPinboard]: UIPassthroughEvent.GetExportRequestForCurrentPinboard;
|
|
11206
|
-
};
|
|
11207
|
-
export type HostEventRequest<HostEventT extends HostEvent> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughRequest<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
11208
|
-
export type HostEventResponse<HostEventT extends HostEvent, ContextT extends ContextType> = HostEventT extends keyof EmbedApiHostEventMapping ? UIPassthroughResponse<EmbedApiHostEventMapping[HostEventT]> : any;
|
|
11209
|
-
export type TriggerPayload<PayloadT, HostEventT extends HostEvent> = PayloadT | HostEventRequest<HostEventT>;
|
|
11210
|
-
export type TriggerResponse<PayloadT, HostEventT extends HostEvent, ContextT extends ContextType> = PayloadT extends HostEventRequest<HostEventT> ? HostEventResponse<HostEventT, ContextT> : any;
|
|
11211
12219
|
declare class HostEventClient {
|
|
11212
12220
|
iFrame: HTMLIFrameElement;
|
|
11213
12221
|
/** Cached list of available UI passthrough keys from the embedded app */
|
|
@@ -11250,14 +12258,14 @@ declare class HostEventClient {
|
|
|
11250
12258
|
protected handleDrillDownEvent(payload: HostEventRequest<HostEvent.DrillDown>, context?: ContextType): Promise<any>;
|
|
11251
12259
|
/**
|
|
11252
12260
|
* Dispatches a host event using the appropriate channel:
|
|
11253
|
-
* 1. If the embedded app supports UI passthrough for this event, use it (custom
|
|
11254
|
-
* 2. Otherwise fall back to the legacy host event channel.
|
|
12261
|
+
* 1. If the embedded app supports UI passthrough for this event, use it (custom
|
|
12262
|
+
* handler or getter). 2. Otherwise fall back to the legacy host event channel.
|
|
11255
12263
|
*
|
|
11256
12264
|
* @param hostEvent - The host event to trigger
|
|
11257
12265
|
* @param payload - Optional payload for the event
|
|
11258
12266
|
* @param context - Optional context (e.g. vizId) for scoped operations
|
|
11259
12267
|
*/
|
|
11260
|
-
triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT,
|
|
12268
|
+
triggerHostEvent<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(hostEvent: HostEventT, payload?: TriggerPayload<PayloadT, HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
11261
12269
|
}
|
|
11262
12270
|
declare class TsEmbed {
|
|
11263
12271
|
/**
|
|
@@ -11275,6 +12283,7 @@ declare class TsEmbed {
|
|
|
11275
12283
|
* The key to store the embed instance in the DOM node
|
|
11276
12284
|
*/
|
|
11277
12285
|
protected embedNodeKey: string;
|
|
12286
|
+
protected embedContainerLoadedKey: string;
|
|
11278
12287
|
protected isAppInitialized: boolean;
|
|
11279
12288
|
/**
|
|
11280
12289
|
* A reference to the iframe within which the ThoughtSpot app
|
|
@@ -11444,10 +12453,10 @@ declare class TsEmbed {
|
|
|
11444
12453
|
*/
|
|
11445
12454
|
protected getEmbedBasePath(query: string): string;
|
|
11446
12455
|
protected getUpdateEmbedParamsObject(): Promise<{
|
|
11447
|
-
customisations: CustomisationsInterface;
|
|
11448
|
-
authToken: string;
|
|
11449
12456
|
runtimeFilterParams: string;
|
|
11450
12457
|
runtimeParameterParams: string;
|
|
12458
|
+
customisations: CustomisationsInterface;
|
|
12459
|
+
authToken: string;
|
|
11451
12460
|
hiddenHomepageModules: HomepageModule[];
|
|
11452
12461
|
reorderedHomepageModules: string[];
|
|
11453
12462
|
hostConfig: Record<string, any>;
|
|
@@ -11540,6 +12549,7 @@ declare class TsEmbed {
|
|
|
11540
12549
|
protected getV1EmbedBasePath(queryString: string): string;
|
|
11541
12550
|
protected getEmbedParams(): string;
|
|
11542
12551
|
protected getEmbedParamsObject(): Record<any, any>;
|
|
12552
|
+
protected getUrlQueryParamsObject(): Record<any, any>;
|
|
11543
12553
|
protected getRootIframeSrc(): string;
|
|
11544
12554
|
protected createIframeEl(frameSrc: string): HTMLIFrameElement;
|
|
11545
12555
|
/**
|
|
@@ -11640,21 +12650,6 @@ declare class TsEmbed {
|
|
|
11640
12650
|
* or else the v2 event type itself
|
|
11641
12651
|
*/
|
|
11642
12652
|
protected getCompatibleEventType(eventType: EmbedEvent): EmbedEvent;
|
|
11643
|
-
/**
|
|
11644
|
-
* Calculates the iframe center for the current visible viewPort
|
|
11645
|
-
* of iframe using Scroll position of Host App, offsetTop for iframe
|
|
11646
|
-
* in Host app. ViewPort height of the tab.
|
|
11647
|
-
* @returns iframe Center in visible viewport,
|
|
11648
|
-
* Iframe height,
|
|
11649
|
-
* View port height.
|
|
11650
|
-
*/
|
|
11651
|
-
protected getIframeCenter(): {
|
|
11652
|
-
iframeCenter: number;
|
|
11653
|
-
iframeScrolled: number;
|
|
11654
|
-
iframeHeight: number;
|
|
11655
|
-
viewPortHeight: number;
|
|
11656
|
-
iframeVisibleViewPort: number;
|
|
11657
|
-
};
|
|
11658
12653
|
/**
|
|
11659
12654
|
* Registers an event listener to trigger an alert when the ThoughtSpot app
|
|
11660
12655
|
* sends an event of a particular message type to the host application.
|
|
@@ -11678,7 +12673,7 @@ declare class TsEmbed {
|
|
|
11678
12673
|
* });
|
|
11679
12674
|
* ```
|
|
11680
12675
|
*/
|
|
11681
|
-
on(messageType:
|
|
12676
|
+
on<EmbedEventT extends EmbedEvent>(messageType: EmbedEventT, callback: (payload: EmbedEventPayload<EmbedEventT>, responder?: (data: any) => void) => void, options?: MessageOptions, isRegisteredBySDK?: boolean): typeof TsEmbed.prototype;
|
|
11682
12677
|
/**
|
|
11683
12678
|
* Removes an event listener for a particular event type.
|
|
11684
12679
|
* @param messageType The message type
|
|
@@ -11714,6 +12709,8 @@ declare class TsEmbed {
|
|
|
11714
12709
|
*/
|
|
11715
12710
|
private embedContainerReadyCallbacks;
|
|
11716
12711
|
protected getPreRenderObj<T extends TsEmbed>(): T;
|
|
12712
|
+
protected takeOverPreRender(): void;
|
|
12713
|
+
private markEmbedContainerLoaded;
|
|
11717
12714
|
private checkEmbedContainerLoaded;
|
|
11718
12715
|
private executeEmbedContainerReadyCallbacks;
|
|
11719
12716
|
/**
|
|
@@ -11724,8 +12721,12 @@ declare class TsEmbed {
|
|
|
11724
12721
|
protected createEmbedContainerHandler: (source: EmbedEvent.AuthInit | EmbedEvent.EmbedListenerReady) => () => void;
|
|
11725
12722
|
/**
|
|
11726
12723
|
* Triggers an event to the embedded app
|
|
12724
|
+
*
|
|
12725
|
+
* Payload typing: from SDK 1.52.0 (ThoughtSpot Cloud 26.9.0.cl), unknown fields
|
|
12726
|
+
* on a known event's payload fail to compile. From SDK 1.54.0 (26.11.0.cl) the
|
|
12727
|
+
* payload is checked strictly against the event contract — update call sites now.
|
|
11727
12728
|
* @param {HostEvent} messageType The event type
|
|
11728
|
-
* @param {
|
|
12729
|
+
* @param {TriggerData} data The payload, typed against the event's contract
|
|
11729
12730
|
* @param {ContextType} context Optional context type to specify the context from which the event is triggered.
|
|
11730
12731
|
* Use ContextType.Search for search answer context, ContextType.Answer for answer/explore context,
|
|
11731
12732
|
* ContextType.Liveboard for liveboard context, or ContextType.Spotter for spotter context.
|
|
@@ -11742,7 +12743,7 @@ declare class TsEmbed {
|
|
|
11742
12743
|
* ```
|
|
11743
12744
|
* @version SDK: 1.45.2 | ThoughtSpot: 26.3.0.cl (for context parameter)
|
|
11744
12745
|
*/
|
|
11745
|
-
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?:
|
|
12746
|
+
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerData<HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
11746
12747
|
/**
|
|
11747
12748
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
11748
12749
|
* @param {UIPassthroughEvent} apiName - The name of the API to be triggered.
|
|
@@ -11844,6 +12845,9 @@ declare class TsEmbed {
|
|
|
11844
12845
|
* @returns
|
|
11845
12846
|
*/
|
|
11846
12847
|
prerenderGeneric(): Promise<any>;
|
|
12848
|
+
protected preRenderParamsApplied: Promise<void>;
|
|
12849
|
+
protected isConfigExcludedFromUrl(): boolean;
|
|
12850
|
+
protected triggerUpdateEmbedParams(): Promise<void>;
|
|
11847
12851
|
protected beforePrerenderVisible(): void;
|
|
11848
12852
|
/**
|
|
11849
12853
|
* Displays the pre-rendered component inside the host element.
|
|
@@ -11922,7 +12926,7 @@ declare class V1Embed extends TsEmbed {
|
|
|
11922
12926
|
* });
|
|
11923
12927
|
* ```
|
|
11924
12928
|
*/
|
|
11925
|
-
on(messageType:
|
|
12929
|
+
on<EmbedEventT extends EmbedEvent>(messageType: EmbedEventT, callback: (payload: EmbedEventPayload<EmbedEventT>, responder?: (data: any) => void) => void, options?: MessageOptions): typeof TsEmbed.prototype;
|
|
11926
12930
|
/**
|
|
11927
12931
|
* Only for testing purposes.
|
|
11928
12932
|
* @hidden
|
|
@@ -12714,6 +13718,7 @@ export interface SpotterAppInitData extends DefaultAppInitData {
|
|
|
12714
13718
|
spotterShareConversationConfig?: SpotterShareConversationConfig;
|
|
12715
13719
|
visualOverridesParams?: VisualizationOverrides | null;
|
|
12716
13720
|
starterPrompts?: StarterPromptsConfig;
|
|
13721
|
+
spotterAnalystConfig?: SpotterAnalystConfig;
|
|
12717
13722
|
};
|
|
12718
13723
|
}
|
|
12719
13724
|
/**
|
|
@@ -13054,7 +14059,7 @@ export interface DiscoveryExperience {
|
|
|
13054
14059
|
* The view configuration for full app embedding.
|
|
13055
14060
|
* @group Embed components
|
|
13056
14061
|
*/
|
|
13057
|
-
export interface AppViewConfig extends AllEmbedViewConfig {
|
|
14062
|
+
export interface AppViewConfig extends AllEmbedViewConfig, FullHeightViewConfig {
|
|
13058
14063
|
/**
|
|
13059
14064
|
* If true, the top navigation bar within the ThoughtSpot app
|
|
13060
14065
|
* is displayed. By default, the navigation bar is hidden.
|
|
@@ -13339,34 +14344,6 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13339
14344
|
* ```
|
|
13340
14345
|
*/
|
|
13341
14346
|
enableSearchAssist?: boolean;
|
|
13342
|
-
/**
|
|
13343
|
-
* If set to true, the Liveboard container dynamically resizes
|
|
13344
|
-
* according to the height of the Liveboard.
|
|
13345
|
-
*
|
|
13346
|
-
* **Note**: Using fullHeight loads all visualizations
|
|
13347
|
-
* on the Liveboard simultaneously, which results in
|
|
13348
|
-
* multiple warehouse queries and potentially a
|
|
13349
|
-
* longer wait for the topmost visualizations to
|
|
13350
|
-
* display on the screen. Setting fullHeight to
|
|
13351
|
-
* `false` fetches visualizations incrementally as
|
|
13352
|
-
* users scroll the page to view the charts and tables.
|
|
13353
|
-
*
|
|
13354
|
-
* From SDK 1.52.0, enabling `fullHeight` also turns on
|
|
13355
|
-
* {@link lazyLoadingForFullHeight} and
|
|
13356
|
-
* {@link enableScrollableContainerLazyLoading}, so visualizations load as
|
|
13357
|
-
* they scroll into view. Set either flag to `false` to opt out.
|
|
13358
|
-
*
|
|
13359
|
-
* Supported embed types: `AppEmbed`
|
|
13360
|
-
* @version SDK: 1.21.0 | ThoughtSpot: 9.4.0.cl, 9.4.0-sw
|
|
13361
|
-
* @example
|
|
13362
|
-
* ```js
|
|
13363
|
-
* const embed = new AppEmbed('#tsEmbed', {
|
|
13364
|
-
* ... // other embed view config
|
|
13365
|
-
* fullHeight: true,
|
|
13366
|
-
* })
|
|
13367
|
-
* ```
|
|
13368
|
-
*/
|
|
13369
|
-
fullHeight?: boolean;
|
|
13370
14347
|
/**
|
|
13371
14348
|
* Enables the V2 navigation and modular home page experience.
|
|
13372
14349
|
* For more information,
|
|
@@ -13507,9 +14484,10 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13507
14484
|
*/
|
|
13508
14485
|
isPNGInScheduledEmailsEnabled?: boolean;
|
|
13509
14486
|
/**
|
|
13510
|
-
* Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
|
|
13511
|
-
* following the exact UI layout, instead of splitting
|
|
13512
|
-
* This feature is GA from SDK version
|
|
14487
|
+
* Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
|
|
14488
|
+
* rendered on a single page following the exact UI layout, instead of splitting
|
|
14489
|
+
* visualizations across multiple A4 pages. This feature is GA from SDK version
|
|
14490
|
+
* 1.51.0 and ThoughtSpot version 26.8.0.cl.
|
|
13513
14491
|
*
|
|
13514
14492
|
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
13515
14493
|
* @type {boolean}
|
|
@@ -13531,108 +14509,36 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13531
14509
|
*
|
|
13532
14510
|
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
13533
14511
|
* @type {boolean}
|
|
13534
|
-
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
13535
|
-
* @default true
|
|
13536
|
-
* @example
|
|
13537
|
-
* ```js
|
|
13538
|
-
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
13539
|
-
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
13540
|
-
* ... // other embed view config
|
|
13541
|
-
* isLiveboardXLSXCSVDownloadEnabled: true,
|
|
13542
|
-
* })
|
|
13543
|
-
* ```
|
|
13544
|
-
*/
|
|
13545
|
-
isLiveboardXLSXCSVDownloadEnabled?: boolean;
|
|
13546
|
-
/**
|
|
13547
|
-
* This flag is used to enable/disable the granular XLSX/CSV schedules feature
|
|
13548
|
-
* This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
|
|
13549
|
-
*
|
|
13550
|
-
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
13551
|
-
* @type {boolean}
|
|
13552
|
-
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
13553
|
-
* @default true
|
|
13554
|
-
* @example
|
|
13555
|
-
* ```js
|
|
13556
|
-
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
13557
|
-
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
13558
|
-
* ... // other embed view config
|
|
13559
|
-
* isGranularXLSXCSVSchedulesEnabled: true,
|
|
13560
|
-
* })
|
|
13561
|
-
* ```
|
|
13562
|
-
*/
|
|
13563
|
-
isGranularXLSXCSVSchedulesEnabled?: boolean;
|
|
13564
|
-
/**
|
|
13565
|
-
* Loads visualizations only as they scroll into the viewport, instead of
|
|
13566
|
-
* loading the whole full-height Liveboard at once.
|
|
13567
|
-
*
|
|
13568
|
-
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
13569
|
-
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
13570
|
-
* set explicitly. Set it to `false` to load every visualization upfront.
|
|
13571
|
-
* The flag has no effect unless `fullHeight` is enabled.
|
|
13572
|
-
*
|
|
13573
|
-
* @type {boolean}
|
|
13574
|
-
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
13575
|
-
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
13576
|
-
* @example
|
|
13577
|
-
* ```js
|
|
13578
|
-
* const embed = new AppEmbed('#embed-container', {
|
|
13579
|
-
* // ...other options
|
|
13580
|
-
* fullHeight: true,
|
|
13581
|
-
* lazyLoadingForFullHeight: true,
|
|
13582
|
-
* })
|
|
13583
|
-
* ```
|
|
13584
|
-
*/
|
|
13585
|
-
lazyLoadingForFullHeight?: boolean;
|
|
13586
|
-
/**
|
|
13587
|
-
* Computes the visible region of the embed against its scrollable and
|
|
13588
|
-
* clipping ancestors, instead of treating the browser window as the only
|
|
13589
|
-
* viewport, and tracks scroll and resize on those ancestors.
|
|
13590
|
-
*
|
|
13591
|
-
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
13592
|
-
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
13593
|
-
* set explicitly. Set it to `false` when the page scrolls with the window
|
|
13594
|
-
* and the embed has no clipping ancestor, to skip the extra ancestor
|
|
13595
|
-
* tracking.
|
|
13596
|
-
*
|
|
13597
|
-
* @type {boolean}
|
|
13598
|
-
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
13599
|
-
* @hidden
|
|
14512
|
+
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
14513
|
+
* @default true
|
|
14514
|
+
* @example
|
|
14515
|
+
* ```js
|
|
14516
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
14517
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
14518
|
+
* ... // other embed view config
|
|
14519
|
+
* isLiveboardXLSXCSVDownloadEnabled: true,
|
|
14520
|
+
* })
|
|
14521
|
+
* ```
|
|
13600
14522
|
*/
|
|
13601
|
-
|
|
14523
|
+
isLiveboardXLSXCSVDownloadEnabled?: boolean;
|
|
13602
14524
|
/**
|
|
13603
|
-
*
|
|
13604
|
-
*
|
|
13605
|
-
*
|
|
13606
|
-
* For example, if the margin is set to '10px',
|
|
13607
|
-
* the visualization will be loaded 10px before its top edge is visible in the
|
|
13608
|
-
* viewport.
|
|
13609
|
-
*
|
|
13610
|
-
* The format is similar to CSS margin, so `'500px 0px'` extends the
|
|
13611
|
-
* prefetch 500px above and below the viewport and not sideways. Accepted
|
|
13612
|
-
* units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
|
|
13613
|
-
* `auto`; an invalid value is logged and ignored.
|
|
13614
|
-
*
|
|
13615
|
-
* From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
|
|
13616
|
-
* visualization ahead of the scroll position, so a chart has usually
|
|
13617
|
-
* finished loading by the time it scrolls into view. Use a smaller margin
|
|
13618
|
-
* to cut warehouse queries further, or `'0px'` to load a visualization
|
|
13619
|
-
* only once it is actually visible.
|
|
14525
|
+
* This flag is used to enable/disable the granular XLSX/CSV schedules feature
|
|
14526
|
+
* This feature is GA from SDK version 1.51.0 and ThoughtSpot version 26.6.0.cl
|
|
13620
14527
|
*
|
|
13621
|
-
*
|
|
13622
|
-
* @
|
|
13623
|
-
* @
|
|
14528
|
+
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
14529
|
+
* @type {boolean}
|
|
14530
|
+
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
14531
|
+
* @default true
|
|
13624
14532
|
* @example
|
|
13625
14533
|
* ```js
|
|
13626
|
-
*
|
|
13627
|
-
*
|
|
13628
|
-
*
|
|
13629
|
-
*
|
|
13630
|
-
* // Using 0px, the visualization will be only loaded when it's visible in the viewport.
|
|
13631
|
-
* lazyLoadingMargin: '0px',
|
|
14534
|
+
* // Replace <EmbedComponent> with embed component name. For example, AppEmbed or LiveboardEmbed
|
|
14535
|
+
* const embed = new <EmbedComponent>('#tsEmbed', {
|
|
14536
|
+
* ... // other embed view config
|
|
14537
|
+
* isGranularXLSXCSVSchedulesEnabled: true,
|
|
13632
14538
|
* })
|
|
13633
14539
|
* ```
|
|
13634
14540
|
*/
|
|
13635
|
-
|
|
14541
|
+
isGranularXLSXCSVSchedulesEnabled?: boolean;
|
|
13636
14542
|
/**
|
|
13637
14543
|
* updatedSpotterChatPrompt : Controls the updated spotter chat prompt.
|
|
13638
14544
|
*
|
|
@@ -13820,23 +14726,6 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13820
14726
|
* @default false
|
|
13821
14727
|
*/
|
|
13822
14728
|
enableStopAnswerGenerationEmbed?: boolean;
|
|
13823
|
-
/**
|
|
13824
|
-
* This is the minimum height (in pixels) for a full-height App.
|
|
13825
|
-
* Setting this height helps resolve issues with empty Apps and
|
|
13826
|
-
* other screens navigable from an App.
|
|
13827
|
-
*
|
|
13828
|
-
* @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
|
|
13829
|
-
* @default 500
|
|
13830
|
-
* @example
|
|
13831
|
-
* ```js
|
|
13832
|
-
* const embed = new AppEmbed('#embed', {
|
|
13833
|
-
* ... // other app view config
|
|
13834
|
-
* fullHeight: true,
|
|
13835
|
-
* minimumHeight: 600,
|
|
13836
|
-
* });
|
|
13837
|
-
* ```
|
|
13838
|
-
*/
|
|
13839
|
-
minimumHeight?: number;
|
|
13840
14729
|
/**
|
|
13841
14730
|
* To enable the homepage announcement banner.
|
|
13842
14731
|
* Controls the visibility of the announcement section
|
|
@@ -13886,6 +14775,20 @@ export interface AppViewConfig extends AllEmbedViewConfig {
|
|
|
13886
14775
|
* ```
|
|
13887
14776
|
*/
|
|
13888
14777
|
updatedSpotterExperience?: boolean;
|
|
14778
|
+
/**
|
|
14779
|
+
* If set to `true`, the answer edit panel is hidden.
|
|
14780
|
+
*
|
|
14781
|
+
* Supported embed types: `AppEmbed`
|
|
14782
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
14783
|
+
* @example
|
|
14784
|
+
* ```js
|
|
14785
|
+
* const embed = new AppEmbed('#tsEmbed', {
|
|
14786
|
+
* ... // other embed view config
|
|
14787
|
+
* hideAnswerEditPanel: true,
|
|
14788
|
+
* })
|
|
14789
|
+
* ```
|
|
14790
|
+
*/
|
|
14791
|
+
hideAnswerEditPanel?: boolean;
|
|
13889
14792
|
}
|
|
13890
14793
|
/**
|
|
13891
14794
|
* APP_INIT data shape for AppEmbed.
|
|
@@ -13905,9 +14808,7 @@ export interface AppEmbedAppInitData extends DefaultAppInitData {
|
|
|
13905
14808
|
*/
|
|
13906
14809
|
export declare class AppEmbed extends V1Embed {
|
|
13907
14810
|
protected viewConfig: AppViewConfig;
|
|
13908
|
-
private
|
|
13909
|
-
private lazyLoadScrollContainers;
|
|
13910
|
-
private lazyLoadResizeObserver;
|
|
14811
|
+
private readonly fullHeightController?;
|
|
13911
14812
|
constructor(domSelector: DOMSelector, viewConfig: AppViewConfig);
|
|
13912
14813
|
/**
|
|
13913
14814
|
* Extends the default APP_INIT payload with `embedParams.spotterSidebarConfig`
|
|
@@ -13928,27 +14829,11 @@ export declare class AppEmbed extends V1Embed {
|
|
|
13928
14829
|
*/
|
|
13929
14830
|
protected getEmbedParams(): string;
|
|
13930
14831
|
protected getEmbedParamsObject(): any;
|
|
13931
|
-
private sendFullHeightLazyLoadData;
|
|
13932
|
-
/**
|
|
13933
|
-
* This is a handler for the RequestVisibleEmbedCoordinates event.
|
|
13934
|
-
* It is used to send the visible coordinates data to the host application.
|
|
13935
|
-
* @param data The event payload
|
|
13936
|
-
* @param responder The responder function
|
|
13937
|
-
*/
|
|
13938
|
-
private requestVisibleEmbedCoordinatesHandler;
|
|
13939
14832
|
/**
|
|
13940
14833
|
* Constructs the URL of the ThoughtSpot app page to be rendered.
|
|
13941
14834
|
* @param pageId The ID of the page to be embedded.
|
|
13942
14835
|
*/
|
|
13943
14836
|
getIFrameSrc(): string;
|
|
13944
|
-
/**
|
|
13945
|
-
* Set the iframe height as per the computed height received
|
|
13946
|
-
* from the ThoughtSpot app.
|
|
13947
|
-
* @param data The event payload
|
|
13948
|
-
*/
|
|
13949
|
-
protected updateIFrameHeight: (data: MessagePayload) => void;
|
|
13950
|
-
private embedIframeCenter;
|
|
13951
|
-
private setIframeHeightForNonEmbedLiveboard;
|
|
13952
14837
|
/**
|
|
13953
14838
|
* Gets the ThoughtSpot route of the page for a particular page ID.
|
|
13954
14839
|
* @param pageId The identifier for a page in the ThoughtSpot app.
|
|
@@ -13979,8 +14864,6 @@ export declare class AppEmbed extends V1Embed {
|
|
|
13979
14864
|
*/
|
|
13980
14865
|
destroy(): void;
|
|
13981
14866
|
private postRender;
|
|
13982
|
-
private registerLazyLoadEvents;
|
|
13983
|
-
private unregisterLazyLoadEvents;
|
|
13984
14867
|
/**
|
|
13985
14868
|
* Renders the embedded application pages in the ThoughtSpot app.
|
|
13986
14869
|
* @param renderOptions An object containing the page ID
|
|
@@ -14285,71 +15168,7 @@ export interface LiveboardEmbedAppInitData extends DefaultAppInitData {
|
|
|
14285
15168
|
* The configuration for the embedded Liveboard or visualization page view.
|
|
14286
15169
|
* @group Embed components
|
|
14287
15170
|
*/
|
|
14288
|
-
export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardCommonViewConfig, LiveboardAppEmbedViewConfig {
|
|
14289
|
-
/**
|
|
14290
|
-
* If set to true, the embedded object container dynamically resizes
|
|
14291
|
-
* according to the height of the Liveboard.
|
|
14292
|
-
*
|
|
14293
|
-
* **Note**: Using fullHeight loads all visualizations on the
|
|
14294
|
-
* Liveboard simultaneously, which results in multiple warehouse
|
|
14295
|
-
* queries and potentially a longer wait for the topmost
|
|
14296
|
-
* visualizations to display on the screen.
|
|
14297
|
-
* Setting `fullHeight` to `false` fetches visualizations
|
|
14298
|
-
* incrementally as users scroll the page to view the charts and tables.
|
|
14299
|
-
*
|
|
14300
|
-
* From SDK 1.52.0, enabling `fullHeight` also turns on
|
|
14301
|
-
* {@link lazyLoadingForFullHeight} and
|
|
14302
|
-
* {@link enableScrollableContainerLazyLoading}, so visualizations load as
|
|
14303
|
-
* they scroll into view. Set either flag to `false` to opt out.
|
|
14304
|
-
*
|
|
14305
|
-
*
|
|
14306
|
-
* Supported embed types: `LiveboardEmbed`
|
|
14307
|
-
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 7.2.1
|
|
14308
|
-
* @example
|
|
14309
|
-
* ```js
|
|
14310
|
-
* const embed = new LiveboardEmbed('#embed', {
|
|
14311
|
-
* ... // other liveboard view config
|
|
14312
|
-
* fullHeight: true,
|
|
14313
|
-
* });
|
|
14314
|
-
* ```
|
|
14315
|
-
*/
|
|
14316
|
-
fullHeight?: boolean;
|
|
14317
|
-
/**
|
|
14318
|
-
* This is the minimum height (in pixels) for a full-height Liveboard.
|
|
14319
|
-
* Setting this height helps resolve issues with empty Liveboards and
|
|
14320
|
-
* other screens navigable from a Liveboard.
|
|
14321
|
-
*
|
|
14322
|
-
* Supported embed types: `LiveboardEmbed`
|
|
14323
|
-
* @version SDK: 1.5.0 | ThoughtSpot: ts7.oct.cl, 7.2.1
|
|
14324
|
-
* @deprecated Use `minimumHeight` instead.
|
|
14325
|
-
* @default 500
|
|
14326
|
-
* @example
|
|
14327
|
-
* ```js
|
|
14328
|
-
* const embed = new LiveboardEmbed('#embed', {
|
|
14329
|
-
* ... // other liveboard view config
|
|
14330
|
-
* fullHeight: true,
|
|
14331
|
-
* defaultHeight: 600,
|
|
14332
|
-
* });
|
|
14333
|
-
* ```
|
|
14334
|
-
*/
|
|
14335
|
-
defaultHeight?: number;
|
|
14336
|
-
/**
|
|
14337
|
-
* This is the minimum height (in pixels) for a full-height Liveboard.
|
|
14338
|
-
* Setting this height helps resolve issues with empty Liveboards and
|
|
14339
|
-
* other screens navigable from a Liveboard.
|
|
14340
|
-
*
|
|
14341
|
-
* @version SDK: 1.44.2 | ThoughtSpot: 10.15.0.cl
|
|
14342
|
-
* @default 500
|
|
14343
|
-
* @example
|
|
14344
|
-
* ```js
|
|
14345
|
-
* const embed = new LiveboardEmbed('#embed', {
|
|
14346
|
-
* ... // other liveboard view config
|
|
14347
|
-
* fullHeight: true,
|
|
14348
|
-
* minimumHeight: 600,
|
|
14349
|
-
* });
|
|
14350
|
-
* ```
|
|
14351
|
-
*/
|
|
14352
|
-
minimumHeight?: number;
|
|
15171
|
+
export interface LiveboardViewConfig extends BaseViewConfig, FullHeightViewConfig, SearchLiveboardCommonViewConfig, LiveboardAppEmbedViewConfig {
|
|
14353
15172
|
/**
|
|
14354
15173
|
* If set to true, the context menu in visualizations will be enabled.
|
|
14355
15174
|
* @version SDK: 1.1.0 | ThoughtSpot: 8.1.0.sw
|
|
@@ -14639,9 +15458,10 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
14639
15458
|
*/
|
|
14640
15459
|
isPNGInScheduledEmailsEnabled?: boolean;
|
|
14641
15460
|
/**
|
|
14642
|
-
* Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
|
|
14643
|
-
* following the exact UI layout, instead of splitting
|
|
14644
|
-
* This feature is GA from SDK version
|
|
15461
|
+
* Enables the 'what you see is what you get' PDF export for Liveboards. Each tab is
|
|
15462
|
+
* rendered on a single page following the exact UI layout, instead of splitting
|
|
15463
|
+
* visualizations across multiple A4 pages. This feature is GA from SDK version
|
|
15464
|
+
* 1.51.0 and ThoughtSpot version 26.8.0.cl.
|
|
14645
15465
|
*
|
|
14646
15466
|
* Supported embed types: `AppEmbed`, `LiveboardEmbed`
|
|
14647
15467
|
* @type {boolean}
|
|
@@ -14693,77 +15513,6 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
14693
15513
|
* ```
|
|
14694
15514
|
*/
|
|
14695
15515
|
isGranularXLSXCSVSchedulesEnabled?: boolean;
|
|
14696
|
-
/**
|
|
14697
|
-
* Loads visualizations only as they scroll into the viewport, instead of
|
|
14698
|
-
* loading the whole full-height Liveboard at once.
|
|
14699
|
-
*
|
|
14700
|
-
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
14701
|
-
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
14702
|
-
* set explicitly. Set it to `false` to load every visualization upfront.
|
|
14703
|
-
* The flag has no effect unless `fullHeight` is enabled.
|
|
14704
|
-
*
|
|
14705
|
-
* @type {boolean}
|
|
14706
|
-
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
14707
|
-
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
14708
|
-
* @example
|
|
14709
|
-
* ```js
|
|
14710
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
14711
|
-
* // ...other options
|
|
14712
|
-
* fullHeight: true,
|
|
14713
|
-
* lazyLoadingForFullHeight: true,
|
|
14714
|
-
* })
|
|
14715
|
-
* ```
|
|
14716
|
-
*/
|
|
14717
|
-
lazyLoadingForFullHeight?: boolean;
|
|
14718
|
-
/**
|
|
14719
|
-
* Computes the visible region of the embed against its scrollable and
|
|
14720
|
-
* clipping ancestors, instead of treating the browser window as the only
|
|
14721
|
-
* viewport, and tracks scroll and resize on those ancestors.
|
|
14722
|
-
*
|
|
14723
|
-
* From SDK 1.52.0 this is enabled automatically whenever `fullHeight` is
|
|
14724
|
-
* `true`. On SDK 1.51.0 and earlier it defaulted to `false` and had to be
|
|
14725
|
-
* set explicitly. Set it to `false` when the page scrolls with the window
|
|
14726
|
-
* and the embed has no clipping ancestor, to skip the extra ancestor
|
|
14727
|
-
* tracking.
|
|
14728
|
-
*
|
|
14729
|
-
* @type {boolean}
|
|
14730
|
-
* @default true when `fullHeight` is enabled, from SDK 1.52.0
|
|
14731
|
-
*/
|
|
14732
|
-
enableScrollableContainerLazyLoading?: boolean;
|
|
14733
|
-
/**
|
|
14734
|
-
* How far outside the viewport a visualization starts loading, when
|
|
14735
|
-
* {@link lazyLoadingForFullHeight} is enabled.
|
|
14736
|
-
*
|
|
14737
|
-
* For example, if the margin is set to '10px',
|
|
14738
|
-
* the visualization will be loaded 10px before its top edge is visible in the
|
|
14739
|
-
* viewport.
|
|
14740
|
-
*
|
|
14741
|
-
* The format is similar to CSS margin, so `'500px 0px'` extends the
|
|
14742
|
-
* prefetch 500px above and below the viewport and not sideways. Accepted
|
|
14743
|
-
* units are `px`, `em`, `rem`, `%`, `vh` and `vw`, plus bare `0` and
|
|
14744
|
-
* `auto`; an invalid value is logged and ignored.
|
|
14745
|
-
*
|
|
14746
|
-
* From SDK 1.52.0 this defaults to `'500px 0px'` — roughly one
|
|
14747
|
-
* visualization ahead of the scroll position, so a chart has usually
|
|
14748
|
-
* finished loading by the time it scrolls into view. Use a smaller margin
|
|
14749
|
-
* to cut warehouse queries further, or `'0px'` to load a visualization
|
|
14750
|
-
* only once it is actually visible.
|
|
14751
|
-
*
|
|
14752
|
-
* @type {string}
|
|
14753
|
-
* @version SDK: 1.40.0 | ThoughtSpot: 10.12.0.cl
|
|
14754
|
-
* @default '500px 0px' when `fullHeight` is enabled, from SDK 1.52.0
|
|
14755
|
-
* @example
|
|
14756
|
-
* ```js
|
|
14757
|
-
* const embed = new LiveboardEmbed('#embed-container', {
|
|
14758
|
-
* // ...other options
|
|
14759
|
-
* fullHeight: true,
|
|
14760
|
-
* lazyLoadingForFullHeight: true,
|
|
14761
|
-
* // Using 0px, the visualization will be only loaded when it's visible in the viewport.
|
|
14762
|
-
* lazyLoadingMargin: '0px',
|
|
14763
|
-
* })
|
|
14764
|
-
* ```
|
|
14765
|
-
*/
|
|
14766
|
-
lazyLoadingMargin?: string;
|
|
14767
15516
|
/**
|
|
14768
15517
|
* showSpotterLimitations : show limitation text
|
|
14769
15518
|
* of the spotter underneath the chat input.
|
|
@@ -14917,9 +15666,7 @@ export interface LiveboardViewConfig extends BaseViewConfig, SearchLiveboardComm
|
|
|
14917
15666
|
*/
|
|
14918
15667
|
export declare class LiveboardEmbed extends V1Embed {
|
|
14919
15668
|
protected viewConfig: LiveboardViewConfig;
|
|
14920
|
-
private
|
|
14921
|
-
private lazyLoadScrollContainers;
|
|
14922
|
-
private lazyLoadResizeObserver;
|
|
15669
|
+
private readonly fullHeightController?;
|
|
14923
15670
|
constructor(domSelector: DOMSelector, viewConfig: LiveboardViewConfig);
|
|
14924
15671
|
protected getAppInitData(): Promise<LiveboardEmbedAppInitData>;
|
|
14925
15672
|
/**
|
|
@@ -14929,27 +15676,11 @@ export declare class LiveboardEmbed extends V1Embed {
|
|
|
14929
15676
|
protected getEmbedParams(): string;
|
|
14930
15677
|
protected getEmbedParamsObject(): any;
|
|
14931
15678
|
private getIframeSuffixSrc;
|
|
14932
|
-
private sendFullHeightLazyLoadData;
|
|
14933
|
-
/**
|
|
14934
|
-
* This is a handler for the RequestVisibleEmbedCoordinates event.
|
|
14935
|
-
* It is used to send the visible coordinates data to the host application.
|
|
14936
|
-
* @param data The event payload
|
|
14937
|
-
* @param responder The responder function
|
|
14938
|
-
*/
|
|
14939
|
-
private requestVisibleEmbedCoordinatesHandler;
|
|
14940
15679
|
/**
|
|
14941
15680
|
* Construct the URL of the embedded ThoughtSpot Liveboard or visualization
|
|
14942
15681
|
* to be loaded within the iFrame.
|
|
14943
15682
|
*/
|
|
14944
15683
|
private getIFrameSrc;
|
|
14945
|
-
/**
|
|
14946
|
-
* Set the iframe height as per the computed height received
|
|
14947
|
-
* from the ThoughtSpot app.
|
|
14948
|
-
* @param data The event payload
|
|
14949
|
-
*/
|
|
14950
|
-
private updateIFrameHeight;
|
|
14951
|
-
private embedIframeCenter;
|
|
14952
|
-
private setIframeHeightForNonEmbedLiveboard;
|
|
14953
15684
|
private setActiveTab;
|
|
14954
15685
|
private showPreviewLoader;
|
|
14955
15686
|
/**
|
|
@@ -14964,22 +15695,23 @@ export declare class LiveboardEmbed extends V1Embed {
|
|
|
14964
15695
|
personalizedViewId: string;
|
|
14965
15696
|
};
|
|
14966
15697
|
protected beforePrerenderVisible(): void;
|
|
15698
|
+
private isShowingLiveboardRoute;
|
|
14967
15699
|
protected handleRenderForPrerender(): Promise<TsEmbed>;
|
|
14968
15700
|
/**
|
|
14969
15701
|
* Triggers an event to the embedded app
|
|
15702
|
+
* Payload typing follows {@link TsEmbed.trigger}: unknown fields fail to compile
|
|
15703
|
+
* from SDK 1.52.0; strict contract checks land in SDK 1.54.0.
|
|
14970
15704
|
* @param {HostEvent} messageType The event type
|
|
14971
|
-
* @param {
|
|
15705
|
+
* @param {TriggerData} data The payload, typed against the event's contract
|
|
14972
15706
|
* @returns A promise that resolves with the response from the embedded app
|
|
14973
15707
|
*/
|
|
14974
|
-
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?:
|
|
15708
|
+
trigger<HostEventT extends HostEvent, PayloadT = HostEventRequest<HostEventT>, ContextT extends ContextType = ContextType>(messageType: HostEventT, data?: TriggerData<HostEventT>, context?: ContextT): Promise<TriggerResponse<PayloadT, HostEventT, ContextT>>;
|
|
14975
15709
|
/**
|
|
14976
15710
|
* Destroys the ThoughtSpot embed, and remove any nodes from the DOM.
|
|
14977
15711
|
* @version SDK: 1.39.0 | ThoughtSpot: 10.10.0.cl
|
|
14978
15712
|
*/
|
|
14979
15713
|
destroy(): void;
|
|
14980
15714
|
private postRender;
|
|
14981
|
-
private registerLazyLoadEvents;
|
|
14982
|
-
private unregisterLazyLoadEvents;
|
|
14983
15715
|
/**
|
|
14984
15716
|
* Render an embedded ThoughtSpot Liveboard or visualization
|
|
14985
15717
|
* @param renderOptions An object specifying the Liveboard ID,
|
|
@@ -15150,6 +15882,20 @@ export interface SearchViewConfig extends SearchLiveboardCommonViewConfig, Omit<
|
|
|
15150
15882
|
* ```
|
|
15151
15883
|
*/
|
|
15152
15884
|
dataSource?: string;
|
|
15885
|
+
/**
|
|
15886
|
+
* If set to `true`, the answer edit panel is hidden.
|
|
15887
|
+
*
|
|
15888
|
+
* Supported embed types: `SearchEmbed`
|
|
15889
|
+
* @version SDK: 1.54.0 | ThoughtSpot Cloud: 26.11.0.cl
|
|
15890
|
+
* @example
|
|
15891
|
+
* ```js
|
|
15892
|
+
* const embed = new SearchEmbed('#tsEmbed', {
|
|
15893
|
+
* ... // other embed view config
|
|
15894
|
+
* hideAnswerEditPanel: true,
|
|
15895
|
+
* })
|
|
15896
|
+
* ```
|
|
15897
|
+
*/
|
|
15898
|
+
hideAnswerEditPanel?: boolean;
|
|
15153
15899
|
/**
|
|
15154
15900
|
* The initial search query to load the answer with.
|
|
15155
15901
|
* Use {@link searchOptions} instead.
|
|
@@ -15730,6 +16476,100 @@ export declare const getAnswerFromQuery: (query: string, worksheetId: string) =>
|
|
|
15730
16476
|
* ```
|
|
15731
16477
|
*/
|
|
15732
16478
|
export declare const createLiveboardWithAnswers: (answers: AnswerService[], name: string) => Promise<any>;
|
|
16479
|
+
export interface FilterChangedFilterContentValue {
|
|
16480
|
+
key?: string | number | boolean | null;
|
|
16481
|
+
}
|
|
16482
|
+
export interface FilterChangedFilterContent {
|
|
16483
|
+
filterType?: string;
|
|
16484
|
+
negate?: boolean;
|
|
16485
|
+
value?: FilterChangedFilterContentValue[];
|
|
16486
|
+
}
|
|
16487
|
+
export interface FilterChangedDateFilterValue {
|
|
16488
|
+
type?: string;
|
|
16489
|
+
op?: string;
|
|
16490
|
+
epoch?: string | number | null;
|
|
16491
|
+
dateRange?: {
|
|
16492
|
+
lowEpoch?: string | number | null;
|
|
16493
|
+
highEpoch?: string | number | null;
|
|
16494
|
+
};
|
|
16495
|
+
monthName?: string;
|
|
16496
|
+
quarterName?: string;
|
|
16497
|
+
yearName?: string;
|
|
16498
|
+
number?: number | null;
|
|
16499
|
+
datePeriod?: string;
|
|
16500
|
+
includeCurrentPeriod?: boolean | null;
|
|
16501
|
+
}
|
|
16502
|
+
export interface FilterChangedDateFilterContent {
|
|
16503
|
+
negate?: boolean;
|
|
16504
|
+
dateFilter?: FilterChangedDateFilterValue;
|
|
16505
|
+
}
|
|
16506
|
+
export interface FilterChangedFilter {
|
|
16507
|
+
filterContent?: FilterChangedFilterContent[];
|
|
16508
|
+
dateFilterContent?: FilterChangedDateFilterContent[];
|
|
16509
|
+
}
|
|
16510
|
+
export interface FilterChangedFilterGroup {
|
|
16511
|
+
columnInfo?: {
|
|
16512
|
+
name?: string;
|
|
16513
|
+
};
|
|
16514
|
+
filters?: FilterChangedFilter[];
|
|
16515
|
+
/**
|
|
16516
|
+
* Scope of the filter - `LIVEBOARD`, `TAB` or `GROUP`. Present from
|
|
16517
|
+
* SDK 1.53.0 / ThoughtSpot 26.10.0.cl. Omitted means Liveboard level.
|
|
16518
|
+
*/
|
|
16519
|
+
applicability?: Applicability;
|
|
16520
|
+
}
|
|
16521
|
+
/**
|
|
16522
|
+
* Shape of the payload received via `LiveboardEmbed.on(EmbedEvent.FilterChanged, ...)`.
|
|
16523
|
+
*/
|
|
16524
|
+
export interface FilterChangedPayload {
|
|
16525
|
+
liveboardFilters?: FilterChangedFilterGroup[];
|
|
16526
|
+
runtimeFilters?: RuntimeFilter[];
|
|
16527
|
+
}
|
|
16528
|
+
export interface UpdateFiltersFilterParam {
|
|
16529
|
+
columnName: string;
|
|
16530
|
+
operator: string;
|
|
16531
|
+
values: (string | number | boolean | bigint)[];
|
|
16532
|
+
type?: string;
|
|
16533
|
+
datePeriod?: string;
|
|
16534
|
+
negate?: boolean;
|
|
16535
|
+
includeCurrentPeriod?: boolean;
|
|
16536
|
+
applicability?: Applicability;
|
|
16537
|
+
}
|
|
16538
|
+
/**
|
|
16539
|
+
* Shape expected by `liveboardEmbed.trigger(HostEvent.UpdateFilters, ...)`.
|
|
16540
|
+
*/
|
|
16541
|
+
export interface UpdateFiltersPayload {
|
|
16542
|
+
filters: UpdateFiltersFilterParam[];
|
|
16543
|
+
}
|
|
16544
|
+
/**
|
|
16545
|
+
* Converts the payload emitted by {@link EmbedEvent.FilterChanged} into the
|
|
16546
|
+
* payload shape expected by {@link HostEvent.UpdateFilters}, so the same
|
|
16547
|
+
* filter state can be captured and re-applied later, for example on a
|
|
16548
|
+
* subsequent page load.
|
|
16549
|
+
*
|
|
16550
|
+
* Both the Liveboard filters and the runtime filters present in the
|
|
16551
|
+
* `FilterChanged` payload are included in the returned `filters` array.
|
|
16552
|
+
*
|
|
16553
|
+
* Note: a column with multiple date-filter conditions (e.g. an OR of two
|
|
16554
|
+
* date ranges) is not guaranteed to round-trip losslessly - `HostEvent.UpdateFilters`
|
|
16555
|
+
* treats date filters as replace-not-merge per column, so only the last
|
|
16556
|
+
* converted entry for such a column will apply.
|
|
16557
|
+
* @param filterChangedPayload The filter state carried by the
|
|
16558
|
+
* `EmbedEvent.FilterChanged` callback, which is `payload.data` - the
|
|
16559
|
+
* callback argument is the event envelope, and the filters sit under its
|
|
16560
|
+
* `data` key.
|
|
16561
|
+
* @example
|
|
16562
|
+
* ```js
|
|
16563
|
+
* let savedFilters;
|
|
16564
|
+
* liveboardEmbed.on(EmbedEvent.FilterChanged, (payload) => {
|
|
16565
|
+
* savedFilters = convertFilterChangedToUpdateFiltersPayload(payload.data);
|
|
16566
|
+
* });
|
|
16567
|
+
*
|
|
16568
|
+
* // later, e.g. after a fresh page load
|
|
16569
|
+
* liveboardEmbed.trigger(HostEvent.UpdateFilters, savedFilters);
|
|
16570
|
+
* ```
|
|
16571
|
+
*/
|
|
16572
|
+
export declare function convertFilterChangedToUpdateFiltersPayload(filterChangedPayload: FilterChangedPayload): UpdateFiltersPayload;
|
|
15733
16573
|
/**
|
|
15734
16574
|
* Resets the auth token and a new token will be fetched on the next request.
|
|
15735
16575
|
* @example
|