@thoughtspot/visual-embed-sdk 1.46.5-beta.1 → 1.47.0
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 +4 -4
- package/cjs/src/css-variables.d.ts +36 -0
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +41 -17
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +26 -47
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +36 -79
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts +24 -2
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +18 -33
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +129 -97
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/cjs/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/contracts.js +2 -0
- package/cjs/src/embed/hostEventClient/contracts.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.js +69 -9
- package/cjs/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +185 -19
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/utils.d.ts +22 -0
- package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.js +57 -0
- package/cjs/src/embed/hostEventClient/utils.js.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/cjs/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js +190 -0
- package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/cjs/src/embed/liveboard.d.ts +18 -1
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +9 -11
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +29 -71
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +20 -0
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.js +52 -0
- package/cjs/src/embed/spotter-utils.js.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts +2 -0
- package/cjs/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/cjs/src/embed/spotter-utils.spec.js +54 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +25 -5
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +28 -67
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +2 -1
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +2 -1
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/index.d.ts +1 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +2 -4
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +2 -2
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +1 -3
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +1 -36
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +1 -34
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +143 -76
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +118 -47
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +0 -9
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +1 -10
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-DW2wEHqy.js → index-Bm2Hck8q.js} +1 -1
- package/dist/src/css-variables.d.ts +36 -0
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +41 -17
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts +24 -2
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/dist/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/utils.d.ts +22 -0
- package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/dist/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/dist/src/embed/liveboard.d.ts +18 -1
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +20 -0
- package/dist/src/embed/spotter-utils.d.ts.map +1 -0
- package/dist/src/embed/spotter-utils.spec.d.ts +2 -0
- package/dist/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/errors.d.ts +2 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +2 -2
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -36
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +143 -76
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +0 -9
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +378 -304
- package/dist/tsembed-react.js +366 -294
- package/dist/tsembed.es.js +393 -285
- package/dist/tsembed.js +30798 -30691
- package/dist/visual-embed-sdk-react-full.d.ts +310 -273
- package/dist/visual-embed-sdk-react.d.ts +310 -273
- package/dist/visual-embed-sdk.d.ts +308 -243
- package/lib/package.json +4 -4
- package/lib/src/css-variables.d.ts +36 -0
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +41 -17
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +28 -49
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +36 -79
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/conversation.d.ts +24 -2
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +19 -34
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +131 -99
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.d.ts +31 -0
- package/lib/src/embed/hostEventClient/contracts.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/contracts.js +2 -0
- package/lib/src/embed/hostEventClient/contracts.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +18 -0
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.js +69 -9
- package/lib/src/embed/hostEventClient/host-event-client.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +185 -19
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/utils.d.ts +22 -0
- package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.js +49 -0
- package/lib/src/embed/hostEventClient/utils.js.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts +2 -0
- package/lib/src/embed/hostEventClient/utils.spec.d.ts.map +1 -0
- package/lib/src/embed/hostEventClient/utils.spec.js +188 -0
- package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -0
- package/lib/src/embed/liveboard.d.ts +18 -1
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +9 -11
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +29 -71
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +20 -0
- package/lib/src/embed/spotter-utils.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.js +47 -0
- package/lib/src/embed/spotter-utils.js.map +1 -0
- package/lib/src/embed/spotter-utils.spec.d.ts +2 -0
- package/lib/src/embed/spotter-utils.spec.d.ts.map +1 -0
- package/lib/src/embed/spotter-utils.spec.js +52 -0
- package/lib/src/embed/spotter-utils.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +25 -5
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +30 -69
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +2 -1
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +2 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +1 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +1 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +2 -2
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +1 -36
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +0 -33
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +143 -76
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +118 -47
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +0 -9
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +0 -8
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +308 -243
- package/package.json +4 -4
- package/src/css-variables.ts +45 -0
- package/src/embed/app.spec.ts +51 -107
- package/src/embed/app.ts +60 -82
- package/src/embed/conversation.spec.ts +150 -119
- package/src/embed/conversation.ts +34 -58
- package/src/embed/hostEventClient/contracts.ts +31 -0
- package/src/embed/hostEventClient/host-event-client.spec.ts +260 -19
- package/src/embed/hostEventClient/host-event-client.ts +87 -11
- package/src/embed/hostEventClient/utils.spec.ts +225 -0
- package/src/embed/hostEventClient/utils.ts +74 -0
- package/src/embed/liveboard.spec.ts +38 -93
- package/src/embed/liveboard.ts +28 -10
- package/src/embed/spotter-utils.spec.ts +56 -0
- package/src/embed/spotter-utils.ts +65 -0
- package/src/embed/ts-embed.spec.ts +56 -108
- package/src/embed/ts-embed.ts +25 -4
- package/src/errors.ts +2 -1
- package/src/index.ts +2 -5
- package/src/react/all-types-export.ts +0 -3
- package/src/react/index.tsx +15 -59
- package/src/types.ts +206 -138
- package/src/utils.ts +0 -14
- package/cjs/src/embed/sage.d.ts +0 -164
- package/cjs/src/embed/sage.d.ts.map +0 -1
- package/cjs/src/embed/sage.js +0 -88
- package/cjs/src/embed/sage.js.map +0 -1
- package/cjs/src/embed/sage.spec.d.ts +0 -2
- package/cjs/src/embed/sage.spec.d.ts.map +0 -1
- package/cjs/src/embed/sage.spec.js +0 -151
- package/cjs/src/embed/sage.spec.js.map +0 -1
- package/dist/src/embed/sage.d.ts +0 -164
- package/dist/src/embed/sage.d.ts.map +0 -1
- package/dist/src/embed/sage.spec.d.ts +0 -2
- package/dist/src/embed/sage.spec.d.ts.map +0 -1
- package/lib/src/embed/sage.d.ts +0 -164
- package/lib/src/embed/sage.d.ts.map +0 -1
- package/lib/src/embed/sage.js +0 -84
- package/lib/src/embed/sage.js.map +0 -1
- package/lib/src/embed/sage.spec.d.ts +0 -2
- package/lib/src/embed/sage.spec.d.ts.map +0 -1
- package/lib/src/embed/sage.spec.js +0 -148
- package/lib/src/embed/sage.spec.js.map +0 -1
- package/src/embed/sage.spec.ts +0 -206
- package/src/embed/sage.ts +0 -231
package/dist/tsembed.es.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
/* @thoughtspot/visual-embed-sdk version 1.
|
|
1
|
+
/* @thoughtspot/visual-embed-sdk version 1.47.0 */
|
|
2
2
|
'use client';
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
m.forEach(function (e) {
|
|
5
|
+
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
6
|
+
if (k !== 'default' && !(k in n)) {
|
|
7
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
8
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return e[k]; }
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
return Object.freeze(n);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -893,6 +893,17 @@ var EmbedEvent;
|
|
|
893
893
|
* ```
|
|
894
894
|
*/
|
|
895
895
|
EmbedEvent["DownloadAsXlsx"] = "downloadAsXlsx";
|
|
896
|
+
/**
|
|
897
|
+
* Emitted when the Download Liveboard as Continuous PDF action is triggered
|
|
898
|
+
* on a Liveboard.
|
|
899
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
900
|
+
* @example
|
|
901
|
+
* ```js
|
|
902
|
+
* liveboardEmbed.on(EmbedEvent.DownloadLiveboardAsContinuousPDF, payload => {
|
|
903
|
+
* console.log('download liveboard as continuous PDF', payload)})
|
|
904
|
+
* ```
|
|
905
|
+
*/
|
|
906
|
+
EmbedEvent["DownloadLiveboardAsContinuousPDF"] = "downloadLiveboardAsContinuousPDF";
|
|
896
907
|
/**
|
|
897
908
|
* Emitted when an Answer is deleted in the app
|
|
898
909
|
* Use start:true to subscribe to when delete is initiated, or end:true to subscribe
|
|
@@ -1270,19 +1281,6 @@ var EmbedEvent;
|
|
|
1270
1281
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.0.sw
|
|
1271
1282
|
*/
|
|
1272
1283
|
EmbedEvent["FilterChanged"] = "filterChanged";
|
|
1273
|
-
/**
|
|
1274
|
-
* Emitted when a user clicks the **Go** button to initiate
|
|
1275
|
-
* a Natural Language Search query
|
|
1276
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 9.8.0.sw
|
|
1277
|
-
*/
|
|
1278
|
-
EmbedEvent["SageEmbedQuery"] = "sageEmbedQuery";
|
|
1279
|
-
/**
|
|
1280
|
-
* Emitted when a user selects a data source on the embedded
|
|
1281
|
-
* Natural Language Search interface.
|
|
1282
|
-
*
|
|
1283
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 9.8.0.sw
|
|
1284
|
-
*/
|
|
1285
|
-
EmbedEvent["SageWorksheetUpdated"] = "sageWorksheetUpdated";
|
|
1286
1284
|
/**
|
|
1287
1285
|
* Emitted when a user updates a connection on the **Data** page
|
|
1288
1286
|
* @version SDK: 1.27.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
@@ -2421,6 +2419,18 @@ var HostEvent;
|
|
|
2421
2419
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
2422
2420
|
*/
|
|
2423
2421
|
HostEvent["DownloadAsPdf"] = "downloadAsPdf";
|
|
2422
|
+
/**
|
|
2423
|
+
* Trigger the **Download Liveboard as Continuous PDF** action on an
|
|
2424
|
+
* embedded Liveboard.
|
|
2425
|
+
*
|
|
2426
|
+
* @example
|
|
2427
|
+
* ```js
|
|
2428
|
+
* liveboardEmbed.trigger(HostEvent.DownloadLiveboardAsContinuousPDF)
|
|
2429
|
+
* ```
|
|
2430
|
+
*
|
|
2431
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
2432
|
+
*/
|
|
2433
|
+
HostEvent["DownloadLiveboardAsContinuousPDF"] = "downloadLiveboardAsContinuousPDF";
|
|
2424
2434
|
/**
|
|
2425
2435
|
* Trigger the **AI Highlights** action on an embedded Liveboard
|
|
2426
2436
|
*
|
|
@@ -2647,6 +2657,20 @@ var HostEvent;
|
|
|
2647
2657
|
* vizId: '730496d6-6903-4601-937e-2c691821af3c'
|
|
2648
2658
|
* }, ContextType.Liveboard);
|
|
2649
2659
|
* ```
|
|
2660
|
+
* @example
|
|
2661
|
+
* ```js
|
|
2662
|
+
* // Copy link from liveboard context
|
|
2663
|
+
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2664
|
+
* liveboardEmbed.trigger(HostEvent.CopyLink, {}, ContextType.Liveboard);
|
|
2665
|
+
* ```
|
|
2666
|
+
* @example
|
|
2667
|
+
* ```js
|
|
2668
|
+
* // Copy link from liveboard visualization context
|
|
2669
|
+
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2670
|
+
* liveboardEmbed.trigger(HostEvent.CopyLink, {
|
|
2671
|
+
* vizId: '730496d6-6903-4601-937e-2c691821af3c'
|
|
2672
|
+
* }, ContextType.Liveboard);
|
|
2673
|
+
* ```
|
|
2650
2674
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
2651
2675
|
*/
|
|
2652
2676
|
HostEvent["CopyLink"] = "embedDocument";
|
|
@@ -2678,6 +2702,20 @@ var HostEvent;
|
|
|
2678
2702
|
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2679
2703
|
* liveboardEmbed.trigger(HostEvent.Present, {}, ContextType.Liveboard);
|
|
2680
2704
|
* ```
|
|
2705
|
+
* @example
|
|
2706
|
+
* ```js
|
|
2707
|
+
* // Present from liveboard visualization context
|
|
2708
|
+
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2709
|
+
* liveboardEmbed.trigger(HostEvent.Present, {
|
|
2710
|
+
* vizId: '730496d6-6903-4601-937e-2c691821af3c'
|
|
2711
|
+
* }, ContextType.Liveboard);
|
|
2712
|
+
* ```
|
|
2713
|
+
* @example
|
|
2714
|
+
* ```js
|
|
2715
|
+
* // Present from liveboard context
|
|
2716
|
+
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2717
|
+
* liveboardEmbed.trigger(HostEvent.Present, {}, ContextType.Liveboard);
|
|
2718
|
+
* ```
|
|
2681
2719
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
2682
2720
|
*/
|
|
2683
2721
|
HostEvent["Present"] = "present";
|
|
@@ -2706,7 +2744,7 @@ var HostEvent;
|
|
|
2706
2744
|
* tml.answer.search_query // TML representation of the search query
|
|
2707
2745
|
* );
|
|
2708
2746
|
* })
|
|
2709
|
-
|
|
2747
|
+
* ```
|
|
2710
2748
|
* @example
|
|
2711
2749
|
* ```js
|
|
2712
2750
|
* // Get TML from search context
|
|
@@ -3330,21 +3368,6 @@ var HostEvent;
|
|
|
3330
3368
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl, 9.8.0.sw
|
|
3331
3369
|
*/
|
|
3332
3370
|
HostEvent["SetHiddenTabs"] = "SetPinboardHiddenTabs";
|
|
3333
|
-
/**
|
|
3334
|
-
* Updates the search query string for Natural Language Search operations.
|
|
3335
|
-
* @param - Includes the following keys:
|
|
3336
|
-
* - `queryString`: Text string in Natural Language format.
|
|
3337
|
-
* - `executeSearch`: Boolean to execute search and update search query.
|
|
3338
|
-
* @example
|
|
3339
|
-
* ```js
|
|
3340
|
-
* sageEmbed.trigger(HostEvent.UpdateSageQuery, {
|
|
3341
|
-
* queryString: 'revenue per year',
|
|
3342
|
-
* executeSearch: true,
|
|
3343
|
-
* })
|
|
3344
|
-
* ```
|
|
3345
|
-
* @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
|
|
3346
|
-
*/
|
|
3347
|
-
HostEvent["UpdateSageQuery"] = "updateSageQuery";
|
|
3348
3371
|
/**
|
|
3349
3372
|
* Get the Answer session for a Search or
|
|
3350
3373
|
* Liveboard visualization.
|
|
@@ -3910,7 +3933,6 @@ var Param;
|
|
|
3910
3933
|
Param["HideNotification"] = "hideNotification";
|
|
3911
3934
|
Param["HideApplicationSwitcher"] = "applicationSwitcherHidden";
|
|
3912
3935
|
Param["HideOrgSwitcher"] = "orgSwitcherHidden";
|
|
3913
|
-
Param["IsSageEmbed"] = "isSageEmbed";
|
|
3914
3936
|
Param["HideWorksheetSelector"] = "hideWorksheetSelector";
|
|
3915
3937
|
Param["DisableWorksheetChange"] = "disableWorksheetChange";
|
|
3916
3938
|
Param["HideSourceSelection"] = "hideSourceSelection";
|
|
@@ -3961,7 +3983,6 @@ var Param;
|
|
|
3961
3983
|
Param["HideIrrelevantFiltersInTab"] = "hideIrrelevantFiltersAtTabLevel";
|
|
3962
3984
|
Param["IsEnhancedFilterInteractivityEnabled"] = "isLiveboardPermissionV2Enabled";
|
|
3963
3985
|
Param["SpotterEnabled"] = "isSpotterExperienceEnabled";
|
|
3964
|
-
Param["IsUnifiedSearchExperienceEnabled"] = "isUnifiedSearchExperienceEnabled";
|
|
3965
3986
|
Param["OverrideOrgId"] = "orgId";
|
|
3966
3987
|
Param["OauthPollingInterval"] = "oAuthPollingInterval";
|
|
3967
3988
|
Param["IsForceRedirect"] = "isForceRedirect";
|
|
@@ -3975,6 +3996,7 @@ var Param;
|
|
|
3975
3996
|
Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
|
|
3976
3997
|
Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
|
|
3977
3998
|
Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
|
|
3999
|
+
Param["IsWYSIWYGLiveboardPDFEnabled"] = "isWYSIWYGLiveboardPDFEnabled";
|
|
3978
4000
|
Param["isLiveboardXLSXCSVDownloadEnabled"] = "isLiveboardXLSXCSVDownloadEnabled";
|
|
3979
4001
|
Param["isGranularXLSXCSVSchedulesEnabled"] = "isGranularXLSXCSVSchedulesEnabled";
|
|
3980
4002
|
Param["isCentralizedLiveboardFilterUXEnabled"] = "isCentralizedLiveboardFilterUXEnabled";
|
|
@@ -4319,6 +4341,16 @@ var Action;
|
|
|
4319
4341
|
* @version SDK: 1.46.0 | ThoughtSpot: 26.3.0.cl
|
|
4320
4342
|
*/
|
|
4321
4343
|
Action["DownloadLiveboard"] = "downloadLiveboard";
|
|
4344
|
+
/**
|
|
4345
|
+
* The **Download Liveboard as Continuous PDF** menu action on a Liveboard.
|
|
4346
|
+
* Allows downloading the entire Liveboard as a continuous PDF.
|
|
4347
|
+
* @example
|
|
4348
|
+
* ```js
|
|
4349
|
+
* disabledActions: [Action.DownloadLiveboardAsContinuousPDF]
|
|
4350
|
+
* ```
|
|
4351
|
+
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
4352
|
+
*/
|
|
4353
|
+
Action["DownloadLiveboardAsContinuousPDF"] = "downloadLiveboardAsContinuousPDF";
|
|
4322
4354
|
/**
|
|
4323
4355
|
* @hidden
|
|
4324
4356
|
*/
|
|
@@ -5277,11 +5309,11 @@ var Action;
|
|
|
5277
5309
|
*/
|
|
5278
5310
|
Action["CoverAndFilterOptionInPDF"] = "coverAndFilterOptionInPDF";
|
|
5279
5311
|
/**
|
|
5280
|
-
|
|
5281
|
-
|
|
5282
|
-
|
|
5283
|
-
|
|
5284
|
-
|
|
5312
|
+
* Action ID to hide or disable the Coaching workflow in Spotter conversations.
|
|
5313
|
+
* When disabled, users cannot access **Add to Coaching** workflow in conversation.
|
|
5314
|
+
* The **Add to Coaching** feature allows adding reference questions and
|
|
5315
|
+
* business terms to improve Spotter’s responses. This feature is generally available
|
|
5316
|
+
* (GA) from version 26.2.0.cl and enabled by default on embed deployments.
|
|
5285
5317
|
* @example
|
|
5286
5318
|
* ```js
|
|
5287
5319
|
* hiddenAction: [Action.InConversationTraining]
|
|
@@ -5358,17 +5390,17 @@ var Action;
|
|
|
5358
5390
|
*/
|
|
5359
5391
|
Action["LiveboardStylePanel"] = "liveboardStylePanel";
|
|
5360
5392
|
/**
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5370
|
-
|
|
5371
|
-
|
|
5393
|
+
* The **Publish** action for Liveboards, Answers and Models.
|
|
5394
|
+
* Opens the publishing modal. It's a parent action for the
|
|
5395
|
+
* **Manage Publishing** and **Unpublish** actions if the object
|
|
5396
|
+
* is already published, otherwise appears standalone.
|
|
5397
|
+
* @example
|
|
5398
|
+
* ```js
|
|
5399
|
+
* hiddenActions: [Action.Publish]
|
|
5400
|
+
* disabledActions: [Action.Publish]
|
|
5401
|
+
* ```
|
|
5402
|
+
* @version SDK: 1.45.0 | ThoughtSpot Cloud: 26.2.0.cl
|
|
5403
|
+
*/
|
|
5372
5404
|
Action["Publish"] = "publish";
|
|
5373
5405
|
/**
|
|
5374
5406
|
* The **Manage Publishing** action for Liveboards, Answers and Models.
|
|
@@ -5536,6 +5568,39 @@ var Action;
|
|
|
5536
5568
|
* @version SDK: 1.46.0 | ThoughtSpot Cloud: 26.3.0.cl
|
|
5537
5569
|
*/
|
|
5538
5570
|
Action["SpotterDocs"] = "spotterDocs";
|
|
5571
|
+
/**
|
|
5572
|
+
* Controls visibility and disable state of the connector resources
|
|
5573
|
+
* section in the Spotter chat interface.
|
|
5574
|
+
* @example
|
|
5575
|
+
* ```js
|
|
5576
|
+
* hiddenActions: [Action.SpotterChatConnectorResources]
|
|
5577
|
+
* disabledActions: [Action.SpotterChatConnectorResources]
|
|
5578
|
+
* ```
|
|
5579
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
5580
|
+
*/
|
|
5581
|
+
Action["SpotterChatConnectorResources"] = "spotterChatConnectorResources";
|
|
5582
|
+
/**
|
|
5583
|
+
* Controls visibility and disable state of the connectors
|
|
5584
|
+
* in the Spotter chat interface.
|
|
5585
|
+
* @example
|
|
5586
|
+
* ```js
|
|
5587
|
+
* hiddenActions: [Action.SpotterChatConnectors]
|
|
5588
|
+
* disabledActions: [Action.SpotterChatConnectors]
|
|
5589
|
+
* ```
|
|
5590
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
5591
|
+
*/
|
|
5592
|
+
Action["SpotterChatConnectors"] = "spotterChatConnectors";
|
|
5593
|
+
/**
|
|
5594
|
+
* Controls visibility and disable state of the mode switcher
|
|
5595
|
+
* in the Spotter chat interface.
|
|
5596
|
+
* @example
|
|
5597
|
+
* ```js
|
|
5598
|
+
* hiddenActions: [Action.SpotterChatModeSwitcher]
|
|
5599
|
+
* disabledActions: [Action.SpotterChatModeSwitcher]
|
|
5600
|
+
* ```
|
|
5601
|
+
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
5602
|
+
*/
|
|
5603
|
+
Action["SpotterChatModeSwitcher"] = "spotterChatModeSwitcher";
|
|
5539
5604
|
/**
|
|
5540
5605
|
* The **Include current period** checkbox for date filters.
|
|
5541
5606
|
* Controls the visibility and availability of the option to include
|
|
@@ -5829,6 +5894,12 @@ var EmbedErrorCodes;
|
|
|
5829
5894
|
EmbedErrorCodes["UPDATE_PARAMS_FAILED"] = "UPDATE_PARAMS_FAILED";
|
|
5830
5895
|
/** Invalid URL provided in configuration */
|
|
5831
5896
|
EmbedErrorCodes["INVALID_URL"] = "INVALID_URL";
|
|
5897
|
+
/** Host event payload validation failed */
|
|
5898
|
+
EmbedErrorCodes["HOST_EVENT_VALIDATION"] = "HOST_EVENT_VALIDATION";
|
|
5899
|
+
/** UpdateFilters payload is invalid - missing or malformed filter/filters */
|
|
5900
|
+
EmbedErrorCodes["UPDATEFILTERS_INVALID_PAYLOAD"] = "UPDATEFILTERS_INVALID_PAYLOAD";
|
|
5901
|
+
/** DrillDown payload is invalid - missing or malformed points */
|
|
5902
|
+
EmbedErrorCodes["DRILLDOWN_INVALID_PAYLOAD"] = "DRILLDOWN_INVALID_PAYLOAD";
|
|
5832
5903
|
})(EmbedErrorCodes || (EmbedErrorCodes = {}));
|
|
5833
5904
|
/**
|
|
5834
5905
|
* Context types for specifying the page context when triggering host events.
|
|
@@ -6017,7 +6088,6 @@ const ERROR_MESSAGE = {
|
|
|
6017
6088
|
LIVEBOARD_VIZ_ID_VALIDATION: 'Please select a Liveboard to embed.',
|
|
6018
6089
|
TRIGGER_TIMED_OUT: 'Trigger timed-out in getting a response',
|
|
6019
6090
|
SEARCHEMBED_BETA_WRANING_MESSAGE: 'SearchEmbed is in Beta in this release.',
|
|
6020
|
-
SAGE_EMBED_BETA_WARNING_MESSAGE: 'SageEmbed is in Beta in this release.',
|
|
6021
6091
|
THIRD_PARTY_COOKIE_BLOCKED_ALERT: 'Third-party cookie access is blocked on this browser. Please allow third-party cookies for this to work properly. \nYou can use `suppressNoCookieAccessAlert` to suppress this message.',
|
|
6022
6092
|
DUPLICATE_TOKEN_ERR: 'Duplicate token. Please issue a new token every time getAuthToken callback is called. See https://developers.thoughtspot.com/docs/?pageid=embed-auth#trusted-auth-embed for more details.',
|
|
6023
6093
|
SDK_NOT_INITIALIZED: 'SDK not initialized',
|
|
@@ -6031,7 +6101,6 @@ const ERROR_MESSAGE = {
|
|
|
6031
6101
|
CSP_FRAME_HOST_VIOLATION_LOG_MESSAGE: 'Please set up CSP correctly for the application to start working. For more information, see https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts. \n If the issue persists, refer to https://developers.thoughtspot.com/docs/security-settings#csp-viz-embed-hosts',
|
|
6032
6102
|
MISSING_REPORTING_OBSERVER: 'ReportingObserver not supported',
|
|
6033
6103
|
RENDER_CALLED_BEFORE_INIT: 'Looks like render was called before calling init, the render won\'t start until init is called.\nFor more info check\n1. https://developers.thoughtspot.com/docs/Function_init#_init\n2.https://developers.thoughtspot.com/docs/getting-started#initSdk',
|
|
6034
|
-
SPOTTER_AGENT_NOT_INITIALIZED: 'SpotterAgent not initialized',
|
|
6035
6104
|
OFFLINE_WARNING: 'Network not Detected. Embed is offline. Please reconnect and refresh',
|
|
6036
6105
|
INIT_SDK_REQUIRED: 'You need to init the ThoughtSpot SDK module first',
|
|
6037
6106
|
CONFLICTING_ACTIONS_CONFIG: 'You cannot have both hidden actions and visible actions',
|
|
@@ -6043,6 +6112,8 @@ const ERROR_MESSAGE = {
|
|
|
6043
6112
|
SSR_ENVIRONMENT_ERROR: 'SSR environment detected. This function cannot be called in SSR environment.',
|
|
6044
6113
|
UPDATE_PARAMS_FAILED: 'Failed to update embed parameters',
|
|
6045
6114
|
INVALID_SPOTTER_DOCUMENTATION_URL: 'Invalid spotterDocumentationUrl. Please provide a valid http or https URL.',
|
|
6115
|
+
UPDATEFILTERS_INVALID_PAYLOAD: 'UpdateFilters requires a valid filter or filters array. Expected: { filter: { column, oper, values } } or { filters: [{ column, oper, values }, ...] }',
|
|
6116
|
+
DRILLDOWN_INVALID_PAYLOAD: 'DrillDown requires a valid points object. Expected: { points: { clickedPoint?, selectedPoints? }, autoDrillDown?, vizId? }',
|
|
6046
6117
|
};
|
|
6047
6118
|
const CUSTOM_ACTIONS_ERROR_MESSAGE = {
|
|
6048
6119
|
INVALID_ACTION_OBJECT: 'Custom Action Validation Error: Invalid action object provided',
|
|
@@ -6546,14 +6617,6 @@ const validateHttpUrl = (url) => {
|
|
|
6546
6617
|
return [false, error instanceof Error ? error : new Error(String(error))];
|
|
6547
6618
|
}
|
|
6548
6619
|
};
|
|
6549
|
-
/**
|
|
6550
|
-
* Resolves enablePastConversationsSidebar with
|
|
6551
|
-
* spotterSidebarConfig taking precedence over the
|
|
6552
|
-
* standalone flag.
|
|
6553
|
-
*/
|
|
6554
|
-
const resolveEnablePastConversationsSidebar = (params) => (params.spotterSidebarConfigValue !== undefined
|
|
6555
|
-
? params.spotterSidebarConfigValue
|
|
6556
|
-
: params.standaloneValue);
|
|
6557
6620
|
/**
|
|
6558
6621
|
* Sets a query parameter if the value is defined.
|
|
6559
6622
|
* @param queryParams - The query params object to modify
|
|
@@ -6843,9 +6906,9 @@ var root = _freeGlobal || freeSelf || Function('return this')();
|
|
|
6843
6906
|
var _root = root;
|
|
6844
6907
|
|
|
6845
6908
|
/** Built-in value references. */
|
|
6846
|
-
var Symbol = _root.Symbol;
|
|
6909
|
+
var Symbol$1 = _root.Symbol;
|
|
6847
6910
|
|
|
6848
|
-
var _Symbol = Symbol;
|
|
6911
|
+
var _Symbol = Symbol$1;
|
|
6849
6912
|
|
|
6850
6913
|
/** Used for built-in method references. */
|
|
6851
6914
|
var objectProto$c = Object.prototype;
|
|
@@ -6916,7 +6979,7 @@ function objectToString(value) {
|
|
|
6916
6979
|
var _objectToString = objectToString;
|
|
6917
6980
|
|
|
6918
6981
|
/** `Object#toString` result references. */
|
|
6919
|
-
var nullTag = '[object Null]',
|
|
6982
|
+
var nullTag$1 = '[object Null]',
|
|
6920
6983
|
undefinedTag = '[object Undefined]';
|
|
6921
6984
|
|
|
6922
6985
|
/** Built-in value references. */
|
|
@@ -6931,7 +6994,7 @@ var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined;
|
|
|
6931
6994
|
*/
|
|
6932
6995
|
function baseGetTag(value) {
|
|
6933
6996
|
if (value == null) {
|
|
6934
|
-
return value === undefined ? undefinedTag : nullTag;
|
|
6997
|
+
return value === undefined ? undefinedTag : nullTag$1;
|
|
6935
6998
|
}
|
|
6936
6999
|
return (symToStringTag && symToStringTag in Object(value))
|
|
6937
7000
|
? _getRawTag(value)
|
|
@@ -7649,9 +7712,9 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
|
|
|
7649
7712
|
var _equalArrays = equalArrays;
|
|
7650
7713
|
|
|
7651
7714
|
/** Built-in value references. */
|
|
7652
|
-
var Uint8Array = _root.Uint8Array;
|
|
7715
|
+
var Uint8Array$1 = _root.Uint8Array;
|
|
7653
7716
|
|
|
7654
|
-
var _Uint8Array = Uint8Array;
|
|
7717
|
+
var _Uint8Array = Uint8Array$1;
|
|
7655
7718
|
|
|
7656
7719
|
/**
|
|
7657
7720
|
* Converts `map` to its key-value pairs.
|
|
@@ -7696,7 +7759,7 @@ var COMPARE_PARTIAL_FLAG$4 = 1,
|
|
|
7696
7759
|
COMPARE_UNORDERED_FLAG$2 = 2;
|
|
7697
7760
|
|
|
7698
7761
|
/** `Object#toString` result references. */
|
|
7699
|
-
var boolTag$
|
|
7762
|
+
var boolTag$2 = '[object Boolean]',
|
|
7700
7763
|
dateTag$1 = '[object Date]',
|
|
7701
7764
|
errorTag$1 = '[object Error]',
|
|
7702
7765
|
mapTag$3 = '[object Map]',
|
|
@@ -7747,7 +7810,7 @@ function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
|
|
|
7747
7810
|
}
|
|
7748
7811
|
return true;
|
|
7749
7812
|
|
|
7750
|
-
case boolTag$
|
|
7813
|
+
case boolTag$2:
|
|
7751
7814
|
case dateTag$1:
|
|
7752
7815
|
case numberTag$1:
|
|
7753
7816
|
// Coerce booleans to `1` or `0` and dates to milliseconds.
|
|
@@ -8061,9 +8124,9 @@ function stubFalse() {
|
|
|
8061
8124
|
|
|
8062
8125
|
var stubFalse_1 = stubFalse;
|
|
8063
8126
|
|
|
8064
|
-
var isBuffer_1 = createCommonjsModule(function (module, exports) {
|
|
8127
|
+
var isBuffer_1 = createCommonjsModule(function (module, exports$1) {
|
|
8065
8128
|
/** Detect free variable `exports`. */
|
|
8066
|
-
var freeExports = exports && !exports.nodeType && exports;
|
|
8129
|
+
var freeExports = exports$1 && !exports$1.nodeType && exports$1;
|
|
8067
8130
|
|
|
8068
8131
|
/** Detect free variable `module`. */
|
|
8069
8132
|
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
@@ -8164,7 +8227,7 @@ var isLength_1 = isLength;
|
|
|
8164
8227
|
/** `Object#toString` result references. */
|
|
8165
8228
|
var argsTag$1 = '[object Arguments]',
|
|
8166
8229
|
arrayTag$1 = '[object Array]',
|
|
8167
|
-
boolTag = '[object Boolean]',
|
|
8230
|
+
boolTag$1 = '[object Boolean]',
|
|
8168
8231
|
dateTag = '[object Date]',
|
|
8169
8232
|
errorTag = '[object Error]',
|
|
8170
8233
|
funcTag = '[object Function]',
|
|
@@ -8196,7 +8259,7 @@ typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
|
|
|
8196
8259
|
typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
|
|
8197
8260
|
typedArrayTags[uint32Tag] = true;
|
|
8198
8261
|
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] =
|
|
8199
|
-
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
|
|
8262
|
+
typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag$1] =
|
|
8200
8263
|
typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] =
|
|
8201
8264
|
typedArrayTags[errorTag] = typedArrayTags[funcTag] =
|
|
8202
8265
|
typedArrayTags[mapTag$2] = typedArrayTags[numberTag] =
|
|
@@ -8233,9 +8296,9 @@ function baseUnary(func) {
|
|
|
8233
8296
|
|
|
8234
8297
|
var _baseUnary = baseUnary;
|
|
8235
8298
|
|
|
8236
|
-
var _nodeUtil = createCommonjsModule(function (module, exports) {
|
|
8299
|
+
var _nodeUtil = createCommonjsModule(function (module, exports$1) {
|
|
8237
8300
|
/** Detect free variable `exports`. */
|
|
8238
|
-
var freeExports = exports && !exports.nodeType && exports;
|
|
8301
|
+
var freeExports = exports$1 && !exports$1.nodeType && exports$1;
|
|
8239
8302
|
|
|
8240
8303
|
/** Detect free variable `module`. */
|
|
8241
8304
|
var freeModule = freeExports && 'object' == 'object' && module && !module.nodeType && module;
|
|
@@ -8815,7 +8878,7 @@ var hasOwnProperty$1 = objectProto.hasOwnProperty;
|
|
|
8815
8878
|
* _.isEmpty({ 'a': 1 });
|
|
8816
8879
|
* // => false
|
|
8817
8880
|
*/
|
|
8818
|
-
function isEmpty(value) {
|
|
8881
|
+
function isEmpty$1(value) {
|
|
8819
8882
|
if (value == null) {
|
|
8820
8883
|
return true;
|
|
8821
8884
|
}
|
|
@@ -8839,7 +8902,7 @@ function isEmpty(value) {
|
|
|
8839
8902
|
return true;
|
|
8840
8903
|
}
|
|
8841
8904
|
|
|
8842
|
-
var isEmpty_1 = isEmpty;
|
|
8905
|
+
var isEmpty_1 = isEmpty$1;
|
|
8843
8906
|
|
|
8844
8907
|
var UIPassthroughEvent;
|
|
8845
8908
|
(function (UIPassthroughEvent) {
|
|
@@ -8850,6 +8913,8 @@ var UIPassthroughEvent;
|
|
|
8850
8913
|
UIPassthroughEvent["GetAnswerConfig"] = "getAnswerPageConfig";
|
|
8851
8914
|
UIPassthroughEvent["GetLiveboardConfig"] = "getPinboardPageConfig";
|
|
8852
8915
|
UIPassthroughEvent["GetUnsavedAnswerTML"] = "getUnsavedAnswerTML";
|
|
8916
|
+
UIPassthroughEvent["UpdateFilters"] = "updateFilters";
|
|
8917
|
+
UIPassthroughEvent["Drilldown"] = "drillDown";
|
|
8853
8918
|
UIPassthroughEvent["GetAnswerSession"] = "getAnswerSession";
|
|
8854
8919
|
UIPassthroughEvent["GetFilters"] = "getFilters";
|
|
8855
8920
|
UIPassthroughEvent["GetIframeUrl"] = "getIframeUrl";
|
|
@@ -9788,7 +9853,7 @@ class AnswerService {
|
|
|
9788
9853
|
async getTML() {
|
|
9789
9854
|
const { object } = await this.executeQuery(getAnswerTML, {});
|
|
9790
9855
|
const edoc = object[0].edoc;
|
|
9791
|
-
const YAML = await import('./index-
|
|
9856
|
+
const YAML = await import('./index-Bm2Hck8q.js');
|
|
9792
9857
|
const parsedDoc = YAML.parse(edoc);
|
|
9793
9858
|
return {
|
|
9794
9859
|
answer: {
|
|
@@ -10134,9 +10199,6 @@ var stringToPath = _memoizeCapped(function(string) {
|
|
|
10134
10199
|
|
|
10135
10200
|
var _stringToPath = stringToPath;
|
|
10136
10201
|
|
|
10137
|
-
/** Used as references for various `Number` constants. */
|
|
10138
|
-
var INFINITY$1 = 1 / 0;
|
|
10139
|
-
|
|
10140
10202
|
/** Used to convert symbols to primitives and strings. */
|
|
10141
10203
|
var symbolProto = _Symbol ? _Symbol.prototype : undefined,
|
|
10142
10204
|
symbolToString = symbolProto ? symbolProto.toString : undefined;
|
|
@@ -10162,7 +10224,7 @@ function baseToString(value) {
|
|
|
10162
10224
|
return symbolToString ? symbolToString.call(value) : '';
|
|
10163
10225
|
}
|
|
10164
10226
|
var result = (value + '');
|
|
10165
|
-
return (result == '0' && (1 / value) == -
|
|
10227
|
+
return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
|
|
10166
10228
|
}
|
|
10167
10229
|
|
|
10168
10230
|
var _baseToString = baseToString;
|
|
@@ -10211,9 +10273,6 @@ function castPath(value, object) {
|
|
|
10211
10273
|
|
|
10212
10274
|
var _castPath = castPath;
|
|
10213
10275
|
|
|
10214
|
-
/** Used as references for various `Number` constants. */
|
|
10215
|
-
var INFINITY = 1 / 0;
|
|
10216
|
-
|
|
10217
10276
|
/**
|
|
10218
10277
|
* Converts `value` to a string key if it's not a string or symbol.
|
|
10219
10278
|
*
|
|
@@ -10226,7 +10285,7 @@ function toKey(value) {
|
|
|
10226
10285
|
return value;
|
|
10227
10286
|
}
|
|
10228
10287
|
var result = (value + '');
|
|
10229
|
-
return (result == '0' && (1 / value) == -
|
|
10288
|
+
return (result == '0' && (1 / value) == -Infinity) ? '-0' : result;
|
|
10230
10289
|
}
|
|
10231
10290
|
|
|
10232
10291
|
var _toKey = toKey;
|
|
@@ -17520,8 +17579,8 @@ var mixpanel = init_as_module();
|
|
|
17520
17579
|
var mixpanel_cjs = mixpanel;
|
|
17521
17580
|
|
|
17522
17581
|
var mixpanel$1 = /*#__PURE__*/_mergeNamespaces({
|
|
17523
|
-
|
|
17524
|
-
|
|
17582
|
+
__proto__: null,
|
|
17583
|
+
default: mixpanel_cjs
|
|
17525
17584
|
}, [mixpanel_cjs]);
|
|
17526
17585
|
|
|
17527
17586
|
// Needed to avoid error in CJS builds on some bundlers.
|
|
@@ -19270,10 +19329,66 @@ function processEventData(type, eventData, thoughtSpotHost, containerEl) {
|
|
|
19270
19329
|
return eventData;
|
|
19271
19330
|
}
|
|
19272
19331
|
|
|
19273
|
-
var
|
|
19332
|
+
var version$1="1.47.0";var pkgInfo = {version:version$1};
|
|
19274
19333
|
|
|
19275
|
-
|
|
19276
|
-
|
|
19334
|
+
function isValidUpdateFiltersPayload(payload) {
|
|
19335
|
+
if (!payload)
|
|
19336
|
+
return false;
|
|
19337
|
+
const isValidFilter = (f) => {
|
|
19338
|
+
const hasColumn = typeof f.column === 'string' || typeof f.columnName === 'string';
|
|
19339
|
+
const hasOperator = typeof f.oper === 'string' || typeof f.operator === 'string';
|
|
19340
|
+
const hasValues = Array.isArray(f.values);
|
|
19341
|
+
const validType = !f.type || typeof f.type === 'string';
|
|
19342
|
+
return hasColumn && hasOperator && hasValues && validType;
|
|
19343
|
+
};
|
|
19344
|
+
const hasValidFilter = payload.filter && isValidFilter(payload.filter);
|
|
19345
|
+
const hasValidFilters = Array.isArray(payload.filters) && payload.filters.length > 0 && payload.filters.every(isValidFilter);
|
|
19346
|
+
return !!(hasValidFilter || hasValidFilters);
|
|
19347
|
+
}
|
|
19348
|
+
function isValidDrillDownPayload(payload) {
|
|
19349
|
+
if (!payload)
|
|
19350
|
+
return false;
|
|
19351
|
+
const points = payload.points;
|
|
19352
|
+
if (!points || typeof points !== 'object')
|
|
19353
|
+
return false;
|
|
19354
|
+
const hasClickedPoint = 'clickedPoint' in points && points.clickedPoint != null;
|
|
19355
|
+
const hasSelectedPoints = Array.isArray(points.selectedPoints) && points.selectedPoints.length > 0;
|
|
19356
|
+
return hasClickedPoint || hasSelectedPoints;
|
|
19357
|
+
}
|
|
19358
|
+
function createValidationError(message) {
|
|
19359
|
+
const err = new Error(message);
|
|
19360
|
+
err.isValidationError = true;
|
|
19361
|
+
err.embedErrorDetails = {
|
|
19362
|
+
type: EmbedEvent.Error,
|
|
19363
|
+
data: {
|
|
19364
|
+
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
19365
|
+
message,
|
|
19366
|
+
code: EmbedErrorCodes.HOST_EVENT_VALIDATION,
|
|
19367
|
+
error: message
|
|
19368
|
+
},
|
|
19369
|
+
status: embedEventStatus.END
|
|
19370
|
+
};
|
|
19371
|
+
throw err;
|
|
19372
|
+
}
|
|
19373
|
+
function throwUpdateFiltersValidationError() {
|
|
19374
|
+
createValidationError(ERROR_MESSAGE.UPDATEFILTERS_INVALID_PAYLOAD);
|
|
19375
|
+
}
|
|
19376
|
+
function throwDrillDownValidationError() {
|
|
19377
|
+
createValidationError(ERROR_MESSAGE.DRILLDOWN_INVALID_PAYLOAD);
|
|
19378
|
+
}
|
|
19379
|
+
|
|
19380
|
+
/**
|
|
19381
|
+
* Maps HostEvent to its corresponding UIPassthroughEvent.
|
|
19382
|
+
* Includes both custom-handler events (Pin, SaveAnswer, UpdateFilters, DrillDown)
|
|
19383
|
+
* and getter events (GetAnswerSession, GetFilters, etc.) that use getDataWithPassthroughFallback.
|
|
19384
|
+
*/
|
|
19385
|
+
const PASSTHROUGH_MAP = {
|
|
19386
|
+
// Custom handlers (setters with special logic)
|
|
19387
|
+
[HostEvent.Pin]: UIPassthroughEvent.PinAnswerToLiveboard,
|
|
19388
|
+
[HostEvent.SaveAnswer]: UIPassthroughEvent.SaveAnswer,
|
|
19389
|
+
[HostEvent.UpdateFilters]: UIPassthroughEvent.UpdateFilters,
|
|
19390
|
+
[HostEvent.DrillDown]: UIPassthroughEvent.Drilldown,
|
|
19391
|
+
// Getters (use getDataWithPassthroughFallback)
|
|
19277
19392
|
[HostEvent.GetAnswerSession]: UIPassthroughEvent.GetAnswerSession,
|
|
19278
19393
|
[HostEvent.GetFilters]: UIPassthroughEvent.GetFilters,
|
|
19279
19394
|
[HostEvent.GetIframeUrl]: UIPassthroughEvent.GetIframeUrl,
|
|
@@ -19284,10 +19399,14 @@ const HOST_EVENT_PASSTHROUGH_MAP = {
|
|
|
19284
19399
|
};
|
|
19285
19400
|
class HostEventClient {
|
|
19286
19401
|
constructor(iFrame) {
|
|
19402
|
+
/** Cached list of available UI passthrough keys from the embedded app */
|
|
19403
|
+
this.availablePassthroughKeysCache = null;
|
|
19287
19404
|
this.iFrame = iFrame;
|
|
19288
19405
|
this.customHandlers = {
|
|
19289
19406
|
[HostEvent.Pin]: (p, c) => this.handlePinEvent(p, c),
|
|
19290
19407
|
[HostEvent.SaveAnswer]: (p, c) => this.handleSaveAnswerEvent(p, c),
|
|
19408
|
+
[HostEvent.UpdateFilters]: (p, c) => this.handleUpdateFiltersEvent(p, c),
|
|
19409
|
+
[HostEvent.DrillDown]: (p, c) => this.handleDrillDownEvent(p, c),
|
|
19291
19410
|
};
|
|
19292
19411
|
}
|
|
19293
19412
|
/**
|
|
@@ -19350,6 +19469,26 @@ class HostEventClient {
|
|
|
19350
19469
|
setIframeElement(iFrame) {
|
|
19351
19470
|
this.iFrame = iFrame;
|
|
19352
19471
|
}
|
|
19472
|
+
/**
|
|
19473
|
+
* Fetches the list of available UI passthrough keys from the embedded app.
|
|
19474
|
+
* Result is cached for the session. Returns empty array on failure.
|
|
19475
|
+
*/
|
|
19476
|
+
async getAvailableUIPassthroughKeys(context) {
|
|
19477
|
+
var _a, _b;
|
|
19478
|
+
if (this.availablePassthroughKeysCache !== null) {
|
|
19479
|
+
return this.availablePassthroughKeysCache;
|
|
19480
|
+
}
|
|
19481
|
+
try {
|
|
19482
|
+
const response = await this.triggerUIPassthroughApi(UIPassthroughEvent.GetAvailableUIPassthroughs, {}, context);
|
|
19483
|
+
const matched = (_a = response === null || response === void 0 ? void 0 : response.find) === null || _a === void 0 ? void 0 : _a.call(response, (r) => r.value && !r.error);
|
|
19484
|
+
const keys = (_b = matched === null || matched === void 0 ? void 0 : matched.value) === null || _b === void 0 ? void 0 : _b.keys;
|
|
19485
|
+
this.availablePassthroughKeysCache = Array.isArray(keys) ? keys : [];
|
|
19486
|
+
return this.availablePassthroughKeysCache;
|
|
19487
|
+
}
|
|
19488
|
+
catch {
|
|
19489
|
+
return [];
|
|
19490
|
+
}
|
|
19491
|
+
}
|
|
19353
19492
|
async triggerUIPassthroughApi(apiName, parameters, context) {
|
|
19354
19493
|
const res = await this.processTrigger(HostEvent.UIPassthrough, {
|
|
19355
19494
|
type: apiName,
|
|
@@ -19385,16 +19524,41 @@ class HostEventClient {
|
|
|
19385
19524
|
answerId: (_d = (_c = (_b = (_a = data === null || data === void 0 ? void 0 : data.saveResponse) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.Answer__save) === null || _c === void 0 ? void 0 : _c.answer) === null || _d === void 0 ? void 0 : _d.id,
|
|
19386
19525
|
};
|
|
19387
19526
|
}
|
|
19527
|
+
handleUpdateFiltersEvent(payload, context) {
|
|
19528
|
+
if (!isValidUpdateFiltersPayload(payload)) {
|
|
19529
|
+
throwUpdateFiltersValidationError();
|
|
19530
|
+
}
|
|
19531
|
+
return this.handleHostEventWithParam(UIPassthroughEvent.UpdateFilters, payload, context);
|
|
19532
|
+
}
|
|
19533
|
+
handleDrillDownEvent(payload, context) {
|
|
19534
|
+
if (!isValidDrillDownPayload(payload)) {
|
|
19535
|
+
throwDrillDownValidationError();
|
|
19536
|
+
}
|
|
19537
|
+
return this.handleHostEventWithParam(UIPassthroughEvent.Drilldown, payload, context);
|
|
19538
|
+
}
|
|
19539
|
+
/**
|
|
19540
|
+
* Dispatches a host event using the appropriate channel:
|
|
19541
|
+
* 1. If the embedded app supports UI passthrough for this event, use it (custom handler or getter).
|
|
19542
|
+
* 2. Otherwise fall back to the legacy host event channel.
|
|
19543
|
+
*
|
|
19544
|
+
* @param hostEvent - The host event to trigger
|
|
19545
|
+
* @param payload - Optional payload for the event
|
|
19546
|
+
* @param context - Optional context (e.g. vizId) for scoped operations
|
|
19547
|
+
*/
|
|
19388
19548
|
async triggerHostEvent(hostEvent, payload, context) {
|
|
19389
19549
|
const customHandler = this.customHandlers[hostEvent];
|
|
19390
|
-
|
|
19391
|
-
|
|
19392
|
-
|
|
19393
|
-
|
|
19394
|
-
|
|
19395
|
-
return this.getDataWithPassthroughFallback(passthroughEvent, hostEvent, payload, context);
|
|
19550
|
+
const passthroughEvent = PASSTHROUGH_MAP[hostEvent];
|
|
19551
|
+
// If embedded app supports passthrough but not this event, use legacy channel
|
|
19552
|
+
const keys = passthroughEvent ? await this.getAvailableUIPassthroughKeys(context) : [];
|
|
19553
|
+
if (passthroughEvent && keys.length > 0 && !keys.includes(passthroughEvent)) {
|
|
19554
|
+
return this.hostEventFallback(hostEvent, payload, context);
|
|
19396
19555
|
}
|
|
19397
|
-
|
|
19556
|
+
// Custom handler (setters) > getter passthrough > legacy fallback
|
|
19557
|
+
return (customHandler
|
|
19558
|
+
? customHandler(payload, context)
|
|
19559
|
+
: passthroughEvent
|
|
19560
|
+
? this.getDataWithPassthroughFallback(passthroughEvent, hostEvent, payload, context)
|
|
19561
|
+
: this.hostEventFallback(hostEvent, payload, context));
|
|
19398
19562
|
}
|
|
19399
19563
|
}
|
|
19400
19564
|
|
|
@@ -20728,7 +20892,19 @@ class TsEmbed {
|
|
|
20728
20892
|
return null;
|
|
20729
20893
|
}
|
|
20730
20894
|
// send an empty object, this is needed for liveboard default handlers
|
|
20731
|
-
return this.hostEventClient.triggerHostEvent(messageType, data, context)
|
|
20895
|
+
return this.hostEventClient.triggerHostEvent(messageType, data, context).catch((err) => {
|
|
20896
|
+
var _a;
|
|
20897
|
+
if (err === null || err === void 0 ? void 0 : err.isValidationError) {
|
|
20898
|
+
const errorDetails = (_a = err.embedErrorDetails) !== null && _a !== void 0 ? _a : {
|
|
20899
|
+
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
20900
|
+
message: err.message || ERROR_MESSAGE.UPDATEFILTERS_INVALID_PAYLOAD,
|
|
20901
|
+
code: EmbedErrorCodes.UPDATEFILTERS_INVALID_PAYLOAD,
|
|
20902
|
+
error: err.message,
|
|
20903
|
+
};
|
|
20904
|
+
this.handleError(errorDetails);
|
|
20905
|
+
}
|
|
20906
|
+
throw err;
|
|
20907
|
+
});
|
|
20732
20908
|
}
|
|
20733
20909
|
/**
|
|
20734
20910
|
* Triggers an event to the embedded app, skipping the UI flow.
|
|
@@ -20851,6 +21027,9 @@ class TsEmbed {
|
|
|
20851
21027
|
try {
|
|
20852
21028
|
this.removeFullscreenChangeHandler();
|
|
20853
21029
|
this.unsubscribeToEvents();
|
|
21030
|
+
if (!this.isRendered) {
|
|
21031
|
+
return;
|
|
21032
|
+
}
|
|
20854
21033
|
if (!getEmbedConfig().waitForCleanupOnDestroy) {
|
|
20855
21034
|
this.trigger(HostEvent.DestroyEmbed);
|
|
20856
21035
|
(_b = (_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(this.insertedDomEl);
|
|
@@ -20860,11 +21039,16 @@ class TsEmbed {
|
|
|
20860
21039
|
Promise.race([
|
|
20861
21040
|
this.trigger(HostEvent.DestroyEmbed),
|
|
20862
21041
|
new Promise((resolve) => setTimeout(resolve, cleanupTimeout)),
|
|
20863
|
-
]).
|
|
20864
|
-
var _a, _b;
|
|
20865
|
-
(_b = (_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(this.insertedDomEl);
|
|
20866
|
-
}).catch((e) => {
|
|
21042
|
+
]).catch((e) => {
|
|
20867
21043
|
logger$3.log('Error destroying TS Embed', e);
|
|
21044
|
+
}).finally(() => {
|
|
21045
|
+
var _a, _b;
|
|
21046
|
+
try {
|
|
21047
|
+
(_b = (_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(this.insertedDomEl);
|
|
21048
|
+
}
|
|
21049
|
+
catch (e) {
|
|
21050
|
+
logger$3.log('Error removing DOM element on destroy', e);
|
|
21051
|
+
}
|
|
20868
21052
|
});
|
|
20869
21053
|
}
|
|
20870
21054
|
}
|
|
@@ -21130,6 +21314,50 @@ class V1Embed extends TsEmbed {
|
|
|
21130
21314
|
}
|
|
21131
21315
|
}
|
|
21132
21316
|
|
|
21317
|
+
/**
|
|
21318
|
+
* Resolves enablePastConversationsSidebar with
|
|
21319
|
+
* spotterSidebarConfig taking precedence over the
|
|
21320
|
+
* standalone flag.
|
|
21321
|
+
*/
|
|
21322
|
+
const resolveEnablePastConversationsSidebar = (params) => (params.spotterSidebarConfigValue !== undefined
|
|
21323
|
+
? params.spotterSidebarConfigValue
|
|
21324
|
+
: params.standaloneValue);
|
|
21325
|
+
function buildSpotterSidebarAppInitData(defaultAppInitData, viewConfig, handleError) {
|
|
21326
|
+
const { spotterSidebarConfig, enablePastConversationsSidebar } = viewConfig;
|
|
21327
|
+
const resolvedEnablePastConversations = resolveEnablePastConversationsSidebar({
|
|
21328
|
+
spotterSidebarConfigValue: spotterSidebarConfig === null || spotterSidebarConfig === void 0 ? void 0 : spotterSidebarConfig.enablePastConversationsSidebar,
|
|
21329
|
+
standaloneValue: enablePastConversationsSidebar,
|
|
21330
|
+
});
|
|
21331
|
+
const hasConfig = spotterSidebarConfig || resolvedEnablePastConversations !== undefined;
|
|
21332
|
+
if (!hasConfig)
|
|
21333
|
+
return defaultAppInitData;
|
|
21334
|
+
const resolvedSidebarConfig = {
|
|
21335
|
+
...spotterSidebarConfig,
|
|
21336
|
+
...(resolvedEnablePastConversations !== undefined && {
|
|
21337
|
+
enablePastConversationsSidebar: resolvedEnablePastConversations,
|
|
21338
|
+
}),
|
|
21339
|
+
};
|
|
21340
|
+
if (resolvedSidebarConfig.spotterDocumentationUrl !== undefined) {
|
|
21341
|
+
const [isValid, validationError] = validateHttpUrl(resolvedSidebarConfig.spotterDocumentationUrl);
|
|
21342
|
+
if (!isValid) {
|
|
21343
|
+
handleError({
|
|
21344
|
+
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
21345
|
+
message: ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
21346
|
+
code: EmbedErrorCodes.INVALID_URL,
|
|
21347
|
+
error: (validationError === null || validationError === void 0 ? void 0 : validationError.message) || ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
21348
|
+
});
|
|
21349
|
+
delete resolvedSidebarConfig.spotterDocumentationUrl;
|
|
21350
|
+
}
|
|
21351
|
+
}
|
|
21352
|
+
return {
|
|
21353
|
+
...defaultAppInitData,
|
|
21354
|
+
embedParams: {
|
|
21355
|
+
...(defaultAppInitData.embedParams || {}),
|
|
21356
|
+
spotterSidebarConfig: resolvedSidebarConfig,
|
|
21357
|
+
},
|
|
21358
|
+
};
|
|
21359
|
+
}
|
|
21360
|
+
|
|
21133
21361
|
/**
|
|
21134
21362
|
* Copyright (c) 2022
|
|
21135
21363
|
*
|
|
@@ -21259,7 +21487,10 @@ class AppEmbed extends V1Embed {
|
|
|
21259
21487
|
this.defaultHeight = 500;
|
|
21260
21488
|
this.sendFullHeightLazyLoadData = () => {
|
|
21261
21489
|
const data = calculateVisibleElementData(this.iFrame);
|
|
21262
|
-
this
|
|
21490
|
+
// this should be fired only if the lazyLoadingForFullHeight and fullHeight are true
|
|
21491
|
+
if (this.viewConfig.lazyLoadingForFullHeight && this.viewConfig.fullHeight) {
|
|
21492
|
+
this.trigger(HostEvent.VisibleEmbedCoordinates, data);
|
|
21493
|
+
}
|
|
21263
21494
|
};
|
|
21264
21495
|
/**
|
|
21265
21496
|
* This is a handler for the RequestVisibleEmbedCoordinates event.
|
|
@@ -21272,22 +21503,13 @@ class AppEmbed extends V1Embed {
|
|
|
21272
21503
|
const visibleCoordinatesData = calculateVisibleElementData(this.iFrame);
|
|
21273
21504
|
responder({ type: EmbedEvent.RequestVisibleEmbedCoordinates, data: visibleCoordinatesData });
|
|
21274
21505
|
};
|
|
21275
|
-
this.HEIGHT_CHANAGE_THRESHOLD = 30;
|
|
21276
21506
|
/**
|
|
21277
21507
|
* Set the iframe height as per the computed height received
|
|
21278
21508
|
* from the ThoughtSpot app.
|
|
21279
21509
|
* @param data The event payload
|
|
21280
21510
|
*/
|
|
21281
21511
|
this.updateIFrameHeight = (data) => {
|
|
21282
|
-
|
|
21283
|
-
const currentHeight = this.iFrame.getBoundingClientRect().height;
|
|
21284
|
-
const heightToSet = Math.max(data.data, this.defaultHeight);
|
|
21285
|
-
const heightChange = Math.abs(heightToSet - currentHeight);
|
|
21286
|
-
if (heightChange < this.HEIGHT_CHANAGE_THRESHOLD) {
|
|
21287
|
-
logger$3.info('Height change is less than the threshold, skipping height update', { heightChange, heightToSet, currentHeight });
|
|
21288
|
-
return;
|
|
21289
|
-
}
|
|
21290
|
-
this.setIFrameHeight(heightToSet);
|
|
21512
|
+
this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
|
|
21291
21513
|
this.sendFullHeightLazyLoadData();
|
|
21292
21514
|
};
|
|
21293
21515
|
this.embedIframeCenter = (data, responder) => {
|
|
@@ -21321,12 +21543,28 @@ class AppEmbed extends V1Embed {
|
|
|
21321
21543
|
this.on(EmbedEvent.RequestVisibleEmbedCoordinates, this.requestVisibleEmbedCoordinatesHandler);
|
|
21322
21544
|
}
|
|
21323
21545
|
}
|
|
21546
|
+
/**
|
|
21547
|
+
* Extends the default APP_INIT payload with `embedParams.spotterSidebarConfig`
|
|
21548
|
+
* so the conv-assist app can read sidebar configuration on initialisation.
|
|
21549
|
+
*
|
|
21550
|
+
* Precedence for `enablePastConversationsSidebar`:
|
|
21551
|
+
* `spotterSidebarConfig.enablePastConversationsSidebar` wins over the
|
|
21552
|
+
* deprecated top-level `enablePastConversationsSidebar` flag; if the former
|
|
21553
|
+
* is absent the latter is used as a fallback.
|
|
21554
|
+
*
|
|
21555
|
+
* An invalid `spotterDocumentationUrl` triggers a validation error and is
|
|
21556
|
+
* excluded from the payload rather than forwarded to the app.
|
|
21557
|
+
*/
|
|
21558
|
+
async getAppInitData() {
|
|
21559
|
+
const defaultAppInitData = await super.getAppInitData();
|
|
21560
|
+
return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
|
|
21561
|
+
}
|
|
21324
21562
|
/**
|
|
21325
21563
|
* Constructs a map of parameters to be passed on to the
|
|
21326
21564
|
* embedded Liveboard or visualization.
|
|
21327
21565
|
*/
|
|
21328
21566
|
getEmbedParams() {
|
|
21329
|
-
const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, isEnhancedFilterInteractivityEnabled = false, homePageSearchBarMode,
|
|
21567
|
+
const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, isEnhancedFilterInteractivityEnabled = false, homePageSearchBarMode, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, spotterChatConfig, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, } = this.viewConfig;
|
|
21330
21568
|
let params = {};
|
|
21331
21569
|
params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
|
|
21332
21570
|
params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
|
|
@@ -21344,45 +21582,11 @@ class AppEmbed extends V1Embed {
|
|
|
21344
21582
|
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
21345
21583
|
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
21346
21584
|
params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
|
|
21347
|
-
params[Param.IsUnifiedSearchExperienceEnabled] = isUnifiedSearchExperienceEnabled;
|
|
21348
21585
|
params[Param.CoverAndFilterOptionInPDF] = !!coverAndFilterOptionInPDF;
|
|
21349
21586
|
params = this.getBaseQueryParams(params);
|
|
21350
21587
|
if (!isUndefined(updatedSpotterChatPrompt)) {
|
|
21351
21588
|
params[Param.UpdatedSpotterChatPrompt] = !!updatedSpotterChatPrompt;
|
|
21352
21589
|
}
|
|
21353
|
-
const resolvedEnablePastConversationsSidebar = resolveEnablePastConversationsSidebar({
|
|
21354
|
-
spotterSidebarConfigValue: spotterSidebarConfig === null || spotterSidebarConfig === void 0 ? void 0 : spotterSidebarConfig.enablePastConversationsSidebar,
|
|
21355
|
-
standaloneValue: this.viewConfig.enablePastConversationsSidebar,
|
|
21356
|
-
});
|
|
21357
|
-
setParamIfDefined(params, Param.EnablePastConversationsSidebar, resolvedEnablePastConversationsSidebar, true);
|
|
21358
|
-
// Handle spotterSidebarConfig params
|
|
21359
|
-
if (spotterSidebarConfig) {
|
|
21360
|
-
const { spotterSidebarTitle, spotterSidebarDefaultExpanded, spotterChatRenameLabel, spotterChatDeleteLabel, spotterDeleteConversationModalTitle, spotterPastConversationAlertMessage, spotterDocumentationUrl, spotterBestPracticesLabel, spotterConversationsBatchSize, spotterNewChatButtonTitle, } = spotterSidebarConfig;
|
|
21361
|
-
setParamIfDefined(params, Param.SpotterSidebarDefaultExpanded, spotterSidebarDefaultExpanded, true);
|
|
21362
|
-
setParamIfDefined(params, Param.SpotterSidebarTitle, spotterSidebarTitle);
|
|
21363
|
-
setParamIfDefined(params, Param.SpotterChatRenameLabel, spotterChatRenameLabel);
|
|
21364
|
-
setParamIfDefined(params, Param.SpotterChatDeleteLabel, spotterChatDeleteLabel);
|
|
21365
|
-
setParamIfDefined(params, Param.SpotterDeleteConversationModalTitle, spotterDeleteConversationModalTitle);
|
|
21366
|
-
setParamIfDefined(params, Param.SpotterPastConversationAlertMessage, spotterPastConversationAlertMessage);
|
|
21367
|
-
setParamIfDefined(params, Param.SpotterBestPracticesLabel, spotterBestPracticesLabel);
|
|
21368
|
-
setParamIfDefined(params, Param.SpotterConversationsBatchSize, spotterConversationsBatchSize);
|
|
21369
|
-
setParamIfDefined(params, Param.SpotterNewChatButtonTitle, spotterNewChatButtonTitle);
|
|
21370
|
-
// URL param with validation
|
|
21371
|
-
if (spotterDocumentationUrl !== undefined) {
|
|
21372
|
-
const [isValid, validationError] = validateHttpUrl(spotterDocumentationUrl);
|
|
21373
|
-
if (isValid) {
|
|
21374
|
-
params[Param.SpotterDocumentationUrl] = spotterDocumentationUrl;
|
|
21375
|
-
}
|
|
21376
|
-
else {
|
|
21377
|
-
this.handleError({
|
|
21378
|
-
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
21379
|
-
message: ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
21380
|
-
code: EmbedErrorCodes.INVALID_URL,
|
|
21381
|
-
error: (validationError === null || validationError === void 0 ? void 0 : validationError.message) || ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
21382
|
-
});
|
|
21383
|
-
}
|
|
21384
|
-
}
|
|
21385
|
-
}
|
|
21386
21590
|
// Handle spotterChatConfig params
|
|
21387
21591
|
if (spotterChatConfig) {
|
|
21388
21592
|
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, } = spotterChatConfig;
|
|
@@ -21458,6 +21662,9 @@ class AppEmbed extends V1Embed {
|
|
|
21458
21662
|
if (enableHomepageAnnouncement !== undefined) {
|
|
21459
21663
|
params[Param.EnableHomepageAnnouncement] = enableHomepageAnnouncement;
|
|
21460
21664
|
}
|
|
21665
|
+
if (isContinuousLiveboardPDFEnabled !== undefined) {
|
|
21666
|
+
params[Param.IsWYSIWYGLiveboardPDFEnabled] = isContinuousLiveboardPDFEnabled;
|
|
21667
|
+
}
|
|
21461
21668
|
this.defaultHeight = minimumHeight || this.defaultHeight;
|
|
21462
21669
|
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
21463
21670
|
params[Param.HideHomepageLeftNav] = hideHomepageLeftNav;
|
|
@@ -21733,7 +21940,10 @@ class LiveboardEmbed extends V1Embed {
|
|
|
21733
21940
|
this.defaultHeight = 500;
|
|
21734
21941
|
this.sendFullHeightLazyLoadData = () => {
|
|
21735
21942
|
const data = calculateVisibleElementData(this.iFrame);
|
|
21736
|
-
this
|
|
21943
|
+
// this should be fired only if the lazyLoadingForFullHeight and fullHeight are true
|
|
21944
|
+
if (this.viewConfig.lazyLoadingForFullHeight && this.viewConfig.fullHeight) {
|
|
21945
|
+
this.trigger(HostEvent.VisibleEmbedCoordinates, data);
|
|
21946
|
+
}
|
|
21737
21947
|
};
|
|
21738
21948
|
/**
|
|
21739
21949
|
* This is a handler for the RequestVisibleEmbedCoordinates event.
|
|
@@ -21746,21 +21956,13 @@ class LiveboardEmbed extends V1Embed {
|
|
|
21746
21956
|
const visibleCoordinatesData = calculateVisibleElementData(this.iFrame);
|
|
21747
21957
|
responder({ type: EmbedEvent.RequestVisibleEmbedCoordinates, data: visibleCoordinatesData });
|
|
21748
21958
|
};
|
|
21749
|
-
this.HEIGHT_CHANAGE_THRESHOLD = 30;
|
|
21750
21959
|
/**
|
|
21751
21960
|
* Set the iframe height as per the computed height received
|
|
21752
21961
|
* from the ThoughtSpot app.
|
|
21753
21962
|
* @param data The event payload
|
|
21754
21963
|
*/
|
|
21755
21964
|
this.updateIFrameHeight = (data) => {
|
|
21756
|
-
|
|
21757
|
-
const heightToSet = Math.max(data.data, this.defaultHeight);
|
|
21758
|
-
const heightChange = Math.abs(heightToSet - currentHeight);
|
|
21759
|
-
if (heightChange < this.HEIGHT_CHANAGE_THRESHOLD) {
|
|
21760
|
-
logger$3.info('Height change is less than the threshold, skipping height update', { heightChange, heightToSet, currentHeight });
|
|
21761
|
-
return;
|
|
21762
|
-
}
|
|
21763
|
-
this.setIFrameHeight(heightToSet);
|
|
21965
|
+
this.setIFrameHeight(Math.max(data.data, this.defaultHeight));
|
|
21764
21966
|
this.sendFullHeightLazyLoadData();
|
|
21765
21967
|
};
|
|
21766
21968
|
this.embedIframeCenter = (data, responder) => {
|
|
@@ -21821,7 +22023,7 @@ class LiveboardEmbed extends V1Embed {
|
|
|
21821
22023
|
getEmbedParamsObject() {
|
|
21822
22024
|
let params = {};
|
|
21823
22025
|
params = this.getBaseQueryParams(params);
|
|
21824
|
-
const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, isEnhancedFilterInteractivityEnabled = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, spotterChatConfig, isThisPeriodInDateFiltersEnabled, } = this.viewConfig;
|
|
22026
|
+
const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs = false, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled = false, isEnhancedFilterInteractivityEnabled = false, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF = false, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled = false, isGranularXLSXCSVSchedulesEnabled = false, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isLinkParametersEnabled, updatedSpotterChatPrompt, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, } = this.viewConfig;
|
|
21825
22027
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
21826
22028
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
21827
22029
|
if (fullHeight === true) {
|
|
@@ -21910,6 +22112,9 @@ class LiveboardEmbed extends V1Embed {
|
|
|
21910
22112
|
if (isThisPeriodInDateFiltersEnabled !== undefined) {
|
|
21911
22113
|
params[Param.IsThisPeriodInDateFiltersEnabled] = isThisPeriodInDateFiltersEnabled;
|
|
21912
22114
|
}
|
|
22115
|
+
if (isContinuousLiveboardPDFEnabled !== undefined) {
|
|
22116
|
+
params[Param.IsWYSIWYGLiveboardPDFEnabled] = isContinuousLiveboardPDFEnabled;
|
|
22117
|
+
}
|
|
21913
22118
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
21914
22119
|
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
21915
22120
|
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
@@ -22293,7 +22498,7 @@ class SearchEmbed extends TsEmbed {
|
|
|
22293
22498
|
*/
|
|
22294
22499
|
async render() {
|
|
22295
22500
|
await super.render();
|
|
22296
|
-
this.viewConfig;
|
|
22501
|
+
const { answerId } = this.viewConfig;
|
|
22297
22502
|
const src = this.getIFrameSrc();
|
|
22298
22503
|
await this.renderIFrame(src);
|
|
22299
22504
|
getAuthPromise().then(() => {
|
|
@@ -22926,14 +23131,24 @@ class SpotterEmbed extends TsEmbed {
|
|
|
22926
23131
|
super(container, viewConfig);
|
|
22927
23132
|
this.viewConfig = viewConfig;
|
|
22928
23133
|
}
|
|
23134
|
+
/**
|
|
23135
|
+
* Extends the default APP_INIT payload with `embedParams.spotterSidebarConfig`
|
|
23136
|
+
* so the conv-assist app can read sidebar configuration on initialisation.
|
|
23137
|
+
*
|
|
23138
|
+
* Precedence for `enablePastConversationsSidebar`:
|
|
23139
|
+
* `spotterSidebarConfig.enablePastConversationsSidebar` wins over the
|
|
23140
|
+
* deprecated top-level `enablePastConversationsSidebar` flag; if the former
|
|
23141
|
+
* is absent the latter is used as a fallback.
|
|
23142
|
+
*
|
|
23143
|
+
* An invalid `spotterDocumentationUrl` triggers a validation error and is
|
|
23144
|
+
* excluded from the payload rather than forwarded to the app.
|
|
23145
|
+
*/
|
|
23146
|
+
async getAppInitData() {
|
|
23147
|
+
const defaultAppInitData = await super.getAppInitData();
|
|
23148
|
+
return buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
|
|
23149
|
+
}
|
|
22929
23150
|
getEmbedParamsObject() {
|
|
22930
|
-
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt,
|
|
22931
|
-
// Extract sidebar config properties
|
|
22932
|
-
const { enablePastConversationsSidebar: sidebarEnablePastConversationsSidebar, spotterSidebarTitle, spotterSidebarDefaultExpanded, spotterChatRenameLabel, spotterChatDeleteLabel, spotterDeleteConversationModalTitle, spotterPastConversationAlertMessage, spotterDocumentationUrl, spotterBestPracticesLabel, spotterConversationsBatchSize, spotterNewChatButtonTitle, } = spotterSidebarConfig || {};
|
|
22933
|
-
const resolvedEnablePastConversationsSidebar = resolveEnablePastConversationsSidebar({
|
|
22934
|
-
spotterSidebarConfigValue: sidebarEnablePastConversationsSidebar,
|
|
22935
|
-
standaloneValue: this.viewConfig.enablePastConversationsSidebar,
|
|
22936
|
-
});
|
|
23151
|
+
const { worksheetId, searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, spotterChatConfig, } = this.viewConfig;
|
|
22937
23152
|
if (!worksheetId) {
|
|
22938
23153
|
this.handleError({
|
|
22939
23154
|
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
@@ -22951,32 +23166,6 @@ class SpotterEmbed extends TsEmbed {
|
|
|
22951
23166
|
setParamIfDefined(queryParams, Param.ShowSpotterLimitations, showSpotterLimitations, true);
|
|
22952
23167
|
setParamIfDefined(queryParams, Param.HideSampleQuestions, hideSampleQuestions, true);
|
|
22953
23168
|
setParamIfDefined(queryParams, Param.UpdatedSpotterChatPrompt, updatedSpotterChatPrompt, true);
|
|
22954
|
-
setParamIfDefined(queryParams, Param.EnablePastConversationsSidebar, resolvedEnablePastConversationsSidebar, true);
|
|
22955
|
-
setParamIfDefined(queryParams, Param.SpotterSidebarDefaultExpanded, spotterSidebarDefaultExpanded, true);
|
|
22956
|
-
// String params
|
|
22957
|
-
setParamIfDefined(queryParams, Param.SpotterSidebarTitle, spotterSidebarTitle);
|
|
22958
|
-
setParamIfDefined(queryParams, Param.SpotterChatRenameLabel, spotterChatRenameLabel);
|
|
22959
|
-
setParamIfDefined(queryParams, Param.SpotterChatDeleteLabel, spotterChatDeleteLabel);
|
|
22960
|
-
setParamIfDefined(queryParams, Param.SpotterDeleteConversationModalTitle, spotterDeleteConversationModalTitle);
|
|
22961
|
-
setParamIfDefined(queryParams, Param.SpotterPastConversationAlertMessage, spotterPastConversationAlertMessage);
|
|
22962
|
-
setParamIfDefined(queryParams, Param.SpotterBestPracticesLabel, spotterBestPracticesLabel);
|
|
22963
|
-
setParamIfDefined(queryParams, Param.SpotterConversationsBatchSize, spotterConversationsBatchSize);
|
|
22964
|
-
setParamIfDefined(queryParams, Param.SpotterNewChatButtonTitle, spotterNewChatButtonTitle);
|
|
22965
|
-
// URL param with validation
|
|
22966
|
-
if (spotterDocumentationUrl !== undefined) {
|
|
22967
|
-
const [isValid, validationError] = validateHttpUrl(spotterDocumentationUrl);
|
|
22968
|
-
if (isValid) {
|
|
22969
|
-
queryParams[Param.SpotterDocumentationUrl] = spotterDocumentationUrl;
|
|
22970
|
-
}
|
|
22971
|
-
else {
|
|
22972
|
-
this.handleError({
|
|
22973
|
-
errorType: ErrorDetailsTypes.VALIDATION_ERROR,
|
|
22974
|
-
message: ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
22975
|
-
code: EmbedErrorCodes.INVALID_URL,
|
|
22976
|
-
error: (validationError === null || validationError === void 0 ? void 0 : validationError.message) || ERROR_MESSAGE.INVALID_SPOTTER_DOCUMENTATION_URL,
|
|
22977
|
-
});
|
|
22978
|
-
}
|
|
22979
|
-
}
|
|
22980
23169
|
// Handle spotterChatConfig params
|
|
22981
23170
|
if (spotterChatConfig) {
|
|
22982
23171
|
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, } = spotterChatConfig;
|
|
@@ -23045,87 +23234,6 @@ class ConversationEmbed extends SpotterEmbed {
|
|
|
23045
23234
|
}
|
|
23046
23235
|
}
|
|
23047
23236
|
|
|
23048
|
-
/**
|
|
23049
|
-
* Copyright (c) 2023
|
|
23050
|
-
*
|
|
23051
|
-
* Embed ThoughtSpot Sage
|
|
23052
|
-
* @summary TS Sage embed
|
|
23053
|
-
* @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
|
|
23054
|
-
*/
|
|
23055
|
-
/**
|
|
23056
|
-
* Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
|
|
23057
|
-
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
|
|
23058
|
-
*
|
|
23059
|
-
* Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
|
|
23060
|
-
* @group Embed components
|
|
23061
|
-
*/
|
|
23062
|
-
class SageEmbed extends V1Embed {
|
|
23063
|
-
constructor(domSelector, viewConfig) {
|
|
23064
|
-
viewConfig.embedComponentType = 'SageEmbed';
|
|
23065
|
-
super(domSelector, viewConfig);
|
|
23066
|
-
}
|
|
23067
|
-
getEmbedParamsObject() {
|
|
23068
|
-
const { disableWorksheetChange, hideWorksheetSelector, showObjectSuggestions, dataPanelV2, hideSampleQuestions, isProductTour, hideSageAnswerHeader, hideAutocompleteSuggestions, } = this.viewConfig;
|
|
23069
|
-
const params = this.getBaseQueryParams();
|
|
23070
|
-
params[Param.DataPanelV2Enabled] = !!dataPanelV2;
|
|
23071
|
-
params[Param.IsSageEmbed] = true;
|
|
23072
|
-
params[Param.DisableWorksheetChange] = !!disableWorksheetChange;
|
|
23073
|
-
params[Param.HideWorksheetSelector] = !!hideWorksheetSelector;
|
|
23074
|
-
params[Param.HideEurekaSuggestions] = !!hideAutocompleteSuggestions;
|
|
23075
|
-
if (showObjectSuggestions) {
|
|
23076
|
-
params[Param.HideEurekaSuggestions] = !showObjectSuggestions;
|
|
23077
|
-
// support backwards compatibility
|
|
23078
|
-
}
|
|
23079
|
-
params[Param.HideSampleQuestions] = !!hideSampleQuestions;
|
|
23080
|
-
params[Param.IsProductTour] = !!isProductTour;
|
|
23081
|
-
params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
|
|
23082
|
-
return params;
|
|
23083
|
-
}
|
|
23084
|
-
/**
|
|
23085
|
-
* Constructs a map of parameters to be passed on to the
|
|
23086
|
-
* embedded Eureka or Sage search page.
|
|
23087
|
-
* @returns {string} query string
|
|
23088
|
-
*/
|
|
23089
|
-
getEmbedParams() {
|
|
23090
|
-
const params = this.getEmbedParamsObject();
|
|
23091
|
-
return getQueryParamString(params, true);
|
|
23092
|
-
}
|
|
23093
|
-
/**
|
|
23094
|
-
* Construct the URL of the embedded ThoughtSpot sage to be
|
|
23095
|
-
* loaded in the iframe
|
|
23096
|
-
* @returns {string} iframe url
|
|
23097
|
-
*/
|
|
23098
|
-
getIFrameSrc() {
|
|
23099
|
-
const path = 'eureka';
|
|
23100
|
-
const postHashObj = {};
|
|
23101
|
-
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
23102
|
-
const { dataSource, searchOptions, } = this.viewConfig;
|
|
23103
|
-
if (dataSource)
|
|
23104
|
-
postHashObj[Param.WorksheetId] = dataSource;
|
|
23105
|
-
if ((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && searchOptions.executeSearch) {
|
|
23106
|
-
postHashObj[Param.executeSearch] = true;
|
|
23107
|
-
}
|
|
23108
|
-
let sagePostHashParams = new URLSearchParams(postHashObj).toString();
|
|
23109
|
-
if (sagePostHashParams)
|
|
23110
|
-
sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
|
|
23111
|
-
if (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery)
|
|
23112
|
-
sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
|
|
23113
|
-
// use encodeURIComponent for query instead of URLSearchParams
|
|
23114
|
-
// as it adds + instead of %20 for spaces
|
|
23115
|
-
return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
|
|
23116
|
-
}
|
|
23117
|
-
/**
|
|
23118
|
-
* Render the embedded ThoughtSpot Sage
|
|
23119
|
-
* @returns {SageEmbed} Eureka/Sage embed
|
|
23120
|
-
*/
|
|
23121
|
-
async render() {
|
|
23122
|
-
await super.render();
|
|
23123
|
-
const src = this.getIFrameSrc();
|
|
23124
|
-
await this.renderV1Embed(src);
|
|
23125
|
-
return this;
|
|
23126
|
-
}
|
|
23127
|
-
}
|
|
23128
|
-
|
|
23129
23237
|
const getAnswerSessionFromQuery = `
|
|
23130
23238
|
query GetEurekaResults($params: Input_eureka_SearchRequest) {
|
|
23131
23239
|
queryRequest(request: $params) {
|
|
@@ -23786,4 +23894,4 @@ class AutoFrameRenderer extends TsEmbed {
|
|
|
23786
23894
|
}
|
|
23787
23895
|
}
|
|
23788
23896
|
|
|
23789
|
-
export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BodylessConversation, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp,
|
|
23897
|
+
export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BodylessConversation, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, reloadIframe, resetCachedAuthToken, startAutoMCPFrameRenderer, tokenizedFetch, uploadMixpanelEvent };
|