@thoughtspot/visual-embed-sdk 1.51.0 → 1.51.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/package.json +1 -1
- package/cjs/src/config.d.ts +1 -0
- package/cjs/src/config.d.ts.map +1 -1
- package/cjs/src/config.js +2 -1
- package/cjs/src/config.js.map +1 -1
- package/cjs/src/css-variables.d.ts +27 -0
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +43 -12
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +29 -3
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +253 -1
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +1 -1
- package/cjs/src/embed/base.js +1 -1
- package/cjs/src/embed/conversation.d.ts +171 -1
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +4 -2
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/conversation.spec.js +125 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -1
- package/cjs/src/embed/events.spec.js +3 -0
- package/cjs/src/embed/events.spec.js.map +1 -1
- package/cjs/src/embed/host-events.spec.js +36 -0
- package/cjs/src/embed/host-events.spec.js.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js +18 -0
- package/cjs/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +40 -13
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +25 -4
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +349 -2
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/spotter-utils.d.ts +8 -1
- package/cjs/src/embed/spotter-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-utils.js +15 -1
- package/cjs/src/embed/spotter-utils.js.map +1 -1
- package/cjs/src/embed/spotter-utils.spec.js +68 -0
- package/cjs/src/embed/spotter-utils.spec.js.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.d.ts +9 -10
- package/cjs/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/cjs/src/embed/spotter-viz-utils.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +16 -8
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +69 -32
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +537 -3
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -2
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/cjs/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.parity.spec.js +194 -0
- package/cjs/src/react/all-types-export.parity.spec.js.map +1 -0
- package/cjs/src/react/index.d.ts +66 -32
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +5 -3
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/react/index.spec.js +101 -0
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/types.d.ts +330 -18
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +182 -12
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.spec.js +4 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/{index-aBzH5ZwF.js → index-DxLfQxoT.js} +1 -1
- package/dist/src/config.d.ts +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +27 -0
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +43 -12
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +1 -1
- package/dist/src/embed/conversation.d.ts +171 -1
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/dist/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +40 -13
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/spotter-utils.d.ts +8 -1
- package/dist/src/embed/spotter-utils.d.ts.map +1 -1
- package/dist/src/embed/spotter-viz-utils.d.ts +9 -10
- package/dist/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +16 -8
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/dist/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +66 -32
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +330 -18
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +330 -61
- package/dist/tsembed-react.js +329 -60
- package/dist/tsembed.es.js +390 -123
- package/dist/tsembed.js +392 -125
- package/dist/visual-embed-sdk-react-full.d.ts +696 -89
- package/dist/visual-embed-sdk-react.d.ts +692 -88
- package/dist/visual-embed-sdk.d.ts +632 -59
- package/lib/package.json +1 -1
- package/lib/src/config.d.ts +1 -0
- package/lib/src/config.d.ts.map +1 -1
- package/lib/src/config.js +1 -0
- package/lib/src/config.js.map +1 -1
- package/lib/src/css-variables.d.ts +27 -0
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +43 -12
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +30 -4
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +253 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +1 -1
- package/lib/src/embed/base.js +1 -1
- package/lib/src/embed/conversation.d.ts +171 -1
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +5 -3
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/conversation.spec.js +125 -0
- package/lib/src/embed/conversation.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +3 -0
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/host-events.spec.js +36 -0
- package/lib/src/embed/host-events.spec.js.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.d.ts.map +1 -1
- package/lib/src/embed/hostEventClient/host-event-client.spec.js +18 -0
- package/lib/src/embed/hostEventClient/host-event-client.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +40 -13
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +25 -4
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +349 -2
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/spotter-utils.d.ts +8 -1
- package/lib/src/embed/spotter-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-utils.js +13 -0
- package/lib/src/embed/spotter-utils.js.map +1 -1
- package/lib/src/embed/spotter-utils.spec.js +69 -1
- package/lib/src/embed/spotter-utils.spec.js.map +1 -1
- package/lib/src/embed/spotter-viz-utils.d.ts +9 -10
- package/lib/src/embed/spotter-viz-utils.d.ts.map +1 -1
- package/lib/src/embed/spotter-viz-utils.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +16 -8
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +69 -32
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +537 -3
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -2
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/all-types-export.parity.spec.d.ts +2 -0
- package/lib/src/react/all-types-export.parity.spec.d.ts.map +1 -0
- package/lib/src/react/all-types-export.parity.spec.js +191 -0
- package/lib/src/react/all-types-export.parity.spec.js.map +1 -0
- package/lib/src/react/index.d.ts +66 -32
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +5 -3
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +102 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/types.d.ts +330 -18
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +182 -12
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.spec.js +4 -0
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +632 -59
- package/package.json +1 -1
- package/src/config.ts +1 -0
- package/src/css-variables.ts +32 -0
- package/src/embed/app.spec.ts +335 -1
- package/src/embed/app.ts +71 -13
- package/src/embed/base.ts +1 -1
- package/src/embed/conversation.spec.ts +136 -0
- package/src/embed/conversation.ts +181 -3
- package/src/embed/events.spec.ts +4 -0
- package/src/embed/host-events.spec.ts +48 -0
- package/src/embed/hostEventClient/host-event-client.spec.ts +34 -0
- package/src/embed/hostEventClient/host-event-client.ts +2 -2
- package/src/embed/liveboard.spec.ts +457 -2
- package/src/embed/liveboard.ts +74 -15
- package/src/embed/spotter-utils.spec.ts +72 -0
- package/src/embed/spotter-utils.ts +21 -1
- package/src/embed/spotter-viz-utils.ts +9 -10
- package/src/embed/ts-embed.spec.ts +699 -3
- package/src/embed/ts-embed.ts +83 -37
- package/src/index.ts +43 -2
- package/src/react/all-types-export.parity.spec.ts +208 -0
- package/src/react/all-types-export.ts +22 -0
- package/src/react/index.spec.tsx +158 -0
- package/src/react/index.tsx +70 -33
- package/src/types.ts +329 -16
- package/src/utils.spec.ts +5 -0
package/dist/tsembed.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @thoughtspot/visual-embed-sdk version 1.51.
|
|
1
|
+
/* @thoughtspot/visual-embed-sdk version 1.51.1 */
|
|
2
2
|
'use client';
|
|
3
3
|
function _mergeNamespaces(n, m) {
|
|
4
4
|
m.forEach(function (e) {
|
|
@@ -518,7 +518,7 @@ var EmbedEvent;
|
|
|
518
518
|
* @returns nonFilteredColumns - The columns that were not filtered
|
|
519
519
|
* @example
|
|
520
520
|
* ```js
|
|
521
|
-
* searchEmbed.on(EmbedEvent.
|
|
521
|
+
* searchEmbed.on(EmbedEvent.Drilldown, {
|
|
522
522
|
* points: {
|
|
523
523
|
* clickedPoint,
|
|
524
524
|
* selectedPoints: selectedPoint
|
|
@@ -579,7 +579,7 @@ var EmbedEvent;
|
|
|
579
579
|
* @version SDK: 1.1.0 | ThoughtSpot: ts7.may.cl, 8.4.1.sw
|
|
580
580
|
* @example
|
|
581
581
|
* ```js
|
|
582
|
-
* appEmbed.on(EmbedEvent.
|
|
582
|
+
* appEmbed.on(EmbedEvent.CustomAction, payload => {
|
|
583
583
|
* const data = payload.data;
|
|
584
584
|
* if (data.id === 'insert Custom Action ID here') {
|
|
585
585
|
* console.log('Custom Action event:', data.embedAnswerData);
|
|
@@ -845,8 +845,8 @@ var EmbedEvent;
|
|
|
845
845
|
*
|
|
846
846
|
* **Note**: This event is deprecated in v1.21.0.
|
|
847
847
|
* To fire an event when a download action is initiated on a chart or table,
|
|
848
|
-
* use `EmbedEvent.DownloadAsPng`, `EmbedEvent.
|
|
849
|
-
* `EmbedEvent.
|
|
848
|
+
* use `EmbedEvent.DownloadAsPng`, `EmbedEvent.DownloadAsPdf`,
|
|
849
|
+
* `EmbedEvent.DownloadAsCsv`, or `EmbedEvent.DownloadAsXlsx`
|
|
850
850
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl, 8.4.1.sw
|
|
851
851
|
* @example
|
|
852
852
|
* ```js
|
|
@@ -896,10 +896,10 @@ var EmbedEvent;
|
|
|
896
896
|
* @example
|
|
897
897
|
* ```js
|
|
898
898
|
* //emit when action starts
|
|
899
|
-
* searchEmbed.on(EmbedEvent.
|
|
899
|
+
* searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
|
|
900
900
|
* console.log('download CSV', payload)}, {start: true })
|
|
901
901
|
* //emit when action ends
|
|
902
|
-
* searchEmbed.on(EmbedEvent.
|
|
902
|
+
* searchEmbed.on(EmbedEvent.DownloadAsCsv, payload => {
|
|
903
903
|
* console.log('download CSV', payload)})
|
|
904
904
|
* ```
|
|
905
905
|
*/
|
|
@@ -2356,6 +2356,7 @@ var HostEvent;
|
|
|
2356
2356
|
* const url = await appEmbed.trigger(HostEvent.GetIframeUrl, {}, ContextType.Answer);
|
|
2357
2357
|
* console.log("iFrameURL", url);
|
|
2358
2358
|
* ```
|
|
2359
|
+
* @returns iframeUrl - The URL currently loaded in the embedded iframe.
|
|
2359
2360
|
* @version SDK: 1.35.0 | ThoughtSpot: 10.4.0.cl
|
|
2360
2361
|
*/
|
|
2361
2362
|
HostEvent["GetIframeUrl"] = "GetIframeUrl";
|
|
@@ -2522,6 +2523,41 @@ var HostEvent;
|
|
|
2522
2523
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
2523
2524
|
*/
|
|
2524
2525
|
HostEvent["OpenFilter"] = "openFilter";
|
|
2526
|
+
/**
|
|
2527
|
+
* Open the add-filter modal of a Liveboard, the same dialog that the
|
|
2528
|
+
* *Add filter* button in the Liveboard edit header opens, so the host
|
|
2529
|
+
* app can start the add-filter flow from its own UI.
|
|
2530
|
+
*
|
|
2531
|
+
* The Liveboard must be in edit mode; the event is ignored otherwise.
|
|
2532
|
+
* Hiding the *Add filter* button with `hiddenActions:
|
|
2533
|
+
* [Action.AddFilter]` does not block this event, but disabling it with
|
|
2534
|
+
* `disabledActions` does.
|
|
2535
|
+
*
|
|
2536
|
+
* Unlike {@link HostEvent.OpenFilter}, which opens the panel of an
|
|
2537
|
+
* existing filter, this event starts the creation of a new filter.
|
|
2538
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
2539
|
+
* @example
|
|
2540
|
+
* ```js
|
|
2541
|
+
* liveboardEmbed.trigger(HostEvent.OpenAddFilterModal);
|
|
2542
|
+
* ```
|
|
2543
|
+
*/
|
|
2544
|
+
HostEvent["OpenAddFilterModal"] = "openAddFilterModal";
|
|
2545
|
+
/**
|
|
2546
|
+
* Open the add-parameter panel of a Liveboard, the same panel that the
|
|
2547
|
+
* *Add parameter* button in the Liveboard edit header opens.
|
|
2548
|
+
* Mirrors {@link HostEvent.OpenAddFilterModal} for parameters.
|
|
2549
|
+
*
|
|
2550
|
+
* The Liveboard must be in edit mode; the event is ignored otherwise.
|
|
2551
|
+
* Hiding the *Add parameter* button with `hiddenActions:
|
|
2552
|
+
* [Action.AddParameter]` does not block this event, but disabling it
|
|
2553
|
+
* with `disabledActions` does.
|
|
2554
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
2555
|
+
* @example
|
|
2556
|
+
* ```js
|
|
2557
|
+
* liveboardEmbed.trigger(HostEvent.OpenAddParameterModal);
|
|
2558
|
+
* ```
|
|
2559
|
+
*/
|
|
2560
|
+
HostEvent["OpenAddParameterModal"] = "openAddParameterModal";
|
|
2525
2561
|
/**
|
|
2526
2562
|
* Open the parameter panel for a particular parameter on a Liveboard.
|
|
2527
2563
|
* Mirrors {@link HostEvent.OpenFilter} for parameters.
|
|
@@ -2603,6 +2639,10 @@ var HostEvent;
|
|
|
2603
2639
|
* liveboardEmbed.trigger(HostEvent.getExportRequestForCurrentPinboard).then(
|
|
2604
2640
|
* data=>console.log(data))
|
|
2605
2641
|
* ```
|
|
2642
|
+
* @returns data - Object with a `v2Content` string: the export request
|
|
2643
|
+
* payload for the current Liveboard.
|
|
2644
|
+
* @returns type - The passthrough event name,
|
|
2645
|
+
* `getExportRequestForCurrentPinboard`.
|
|
2606
2646
|
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1.sw
|
|
2607
2647
|
*/
|
|
2608
2648
|
HostEvent["getExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
|
|
@@ -2705,6 +2745,9 @@ var HostEvent;
|
|
|
2705
2745
|
* }, ContextType.Spotter);
|
|
2706
2746
|
* ```
|
|
2707
2747
|
*
|
|
2748
|
+
* @returns liveboardId - GUID of the Liveboard the Answer was pinned to.
|
|
2749
|
+
* @returns tabId - GUID of the tab within that Liveboard.
|
|
2750
|
+
* @returns vizId - GUID of the newly created visualization.
|
|
2708
2751
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
2709
2752
|
*/
|
|
2710
2753
|
HostEvent["Pin"] = "pin";
|
|
@@ -2743,13 +2786,13 @@ var HostEvent;
|
|
|
2743
2786
|
* Trigger the **Manage schedule** action on an embedded Liveboard
|
|
2744
2787
|
* @example
|
|
2745
2788
|
* ```js
|
|
2746
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
2789
|
+
* liveboardEmbed.trigger(HostEvent.SchedulesList)
|
|
2747
2790
|
* ```
|
|
2748
2791
|
* @example
|
|
2749
2792
|
* ```js
|
|
2750
2793
|
* // Manage schedules from liveboard context
|
|
2751
2794
|
* import { ContextType } from '@thoughtspot/visual-embed-sdk';
|
|
2752
|
-
* liveboardEmbed.trigger(HostEvent.
|
|
2795
|
+
* liveboardEmbed.trigger(HostEvent.SchedulesList, {}, ContextType.Liveboard);
|
|
2753
2796
|
* ```
|
|
2754
2797
|
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl, 8.8.1.sw
|
|
2755
2798
|
*/
|
|
@@ -3194,6 +3237,7 @@ var HostEvent;
|
|
|
3194
3237
|
* console.log(tml.answer);
|
|
3195
3238
|
* });
|
|
3196
3239
|
* ```
|
|
3240
|
+
* @returns The TML representation of the current Answer, as an object.
|
|
3197
3241
|
* @version SDK: 1.18.0 | ThoughtSpot: 8.10.0.cl, 9.0.1.sw
|
|
3198
3242
|
* @important
|
|
3199
3243
|
*/
|
|
@@ -3638,6 +3682,8 @@ var HostEvent;
|
|
|
3638
3682
|
* const data = await liveboardEmbed.trigger(HostEvent.GetFilters, {}, ContextType.Liveboard);
|
|
3639
3683
|
* console.log('filters', data);
|
|
3640
3684
|
* ```
|
|
3685
|
+
* @returns liveboardFilters - Filters applied on the Liveboard.
|
|
3686
|
+
* @returns runtimeFilters - Runtime filters applied on the Liveboard.
|
|
3641
3687
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
3642
3688
|
*/
|
|
3643
3689
|
HostEvent["GetFilters"] = "getFilters";
|
|
@@ -3787,6 +3833,9 @@ var HostEvent;
|
|
|
3787
3833
|
* console.log('tabs', tabDetails);
|
|
3788
3834
|
* });
|
|
3789
3835
|
* ```
|
|
3836
|
+
* @returns orderedTabIds - Tab GUIDs in the order they appear.
|
|
3837
|
+
* @returns numberOfTabs - Total number of tabs on the Liveboard.
|
|
3838
|
+
* @returns Tabs - Tab details, each with at least `id` and `name`.
|
|
3790
3839
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.7.0.cl
|
|
3791
3840
|
*/
|
|
3792
3841
|
HostEvent["GetTabs"] = "getTabs";
|
|
@@ -3809,6 +3858,9 @@ var HostEvent;
|
|
|
3809
3858
|
* console.log('groups', groupDetails);
|
|
3810
3859
|
* });
|
|
3811
3860
|
* ```
|
|
3861
|
+
* @returns orderedGroupIds - Group GUIDs in the order they appear.
|
|
3862
|
+
* @returns numberOfGroups - Total number of groups on the Liveboard.
|
|
3863
|
+
* @returns Groups - Group details, each with at least `id` and `name`.
|
|
3812
3864
|
* @version SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
|
|
3813
3865
|
*/
|
|
3814
3866
|
HostEvent["GetGroups"] = "getGroups";
|
|
@@ -3883,6 +3935,9 @@ var HostEvent;
|
|
|
3883
3935
|
* // Alternative direct usage (not recommended)
|
|
3884
3936
|
* const {session} = await embed.trigger( HostEvent.GetAnswerSession )
|
|
3885
3937
|
* ```
|
|
3938
|
+
* @returns session - Session identifier for the Answer, for use with the
|
|
3939
|
+
* `AnswerService`.
|
|
3940
|
+
* @returns embedAnswerData - Data backing the Answer, when available.
|
|
3886
3941
|
* @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl, 10.1.0.sw
|
|
3887
3942
|
*/
|
|
3888
3943
|
HostEvent["GetAnswerSession"] = "getAnswerSession";
|
|
@@ -4016,12 +4071,16 @@ var HostEvent;
|
|
|
4016
4071
|
* console.log('parameters', parameters);
|
|
4017
4072
|
* });
|
|
4018
4073
|
* ```
|
|
4074
|
+
* @returns parameters - Parameters currently applied on the Liveboard.
|
|
4019
4075
|
* @version SDK: 1.29.0 | ThoughtSpot: 10.1.0.cl, 10.1.0.sw
|
|
4020
4076
|
*/
|
|
4021
4077
|
HostEvent["GetParameters"] = "GetParameters";
|
|
4022
4078
|
/**
|
|
4023
4079
|
* Triggers an event to update a personalized view of a Liveboard.
|
|
4024
|
-
* This event is deprecated. Use {@link HostEvent.
|
|
4080
|
+
* This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
|
|
4081
|
+
* which additionally accepts a `viewName`, resets to the original view when
|
|
4082
|
+
* called with an empty payload, and reports an error when a named view
|
|
4083
|
+
* cannot be found.
|
|
4025
4084
|
* ```js
|
|
4026
4085
|
* liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
|
|
4027
4086
|
* ```
|
|
@@ -4039,10 +4098,15 @@ var HostEvent;
|
|
|
4039
4098
|
HostEvent["UpdatePersonalisedView"] = "UpdatePersonalisedView";
|
|
4040
4099
|
/**
|
|
4041
4100
|
* Triggers an event to update a personalized view of a Liveboard.
|
|
4101
|
+
* This event is deprecated. Use {@link HostEvent.SelectPersonalizedView} instead,
|
|
4102
|
+
* which additionally accepts a `viewName`, resets to the original view when
|
|
4103
|
+
* called with an empty payload, and reports an error when a named view
|
|
4104
|
+
* cannot be found.
|
|
4042
4105
|
* ```js
|
|
4043
4106
|
* liveboardEmbed.trigger(HostEvent.UpdatePersonalisedView, {viewId: '1234'})
|
|
4044
4107
|
* ```
|
|
4045
4108
|
* @version SDK: 1.48.0 | ThoughtSpot: 26.5.0.cl
|
|
4109
|
+
* @deprecated SDK: 1.53.0 | ThoughtSpot: 26.10.0.cl
|
|
4046
4110
|
*/
|
|
4047
4111
|
HostEvent["UpdatePersonalizedView"] = "UpdatePersonalisedView";
|
|
4048
4112
|
/**
|
|
@@ -4145,6 +4209,10 @@ var HostEvent;
|
|
|
4145
4209
|
* description: "Generated from Spotter"
|
|
4146
4210
|
* }, ContextType.Spotter);
|
|
4147
4211
|
* ```
|
|
4212
|
+
* @returns answerId - GUID of the saved Answer.
|
|
4213
|
+
* @returns saveResponse - Raw response from the save operation.
|
|
4214
|
+
* @returns shareResponse - Raw response from the share operation, when the
|
|
4215
|
+
* Answer was also made discoverable.
|
|
4148
4216
|
* @version SDK: 1.36.0 | ThoughtSpot: 10.6.0.cl
|
|
4149
4217
|
*/
|
|
4150
4218
|
HostEvent["SaveAnswer"] = "saveAnswer";
|
|
@@ -4626,6 +4694,7 @@ var Param;
|
|
|
4626
4694
|
Param["NumberFormatLocale"] = "numberFormatLocale";
|
|
4627
4695
|
Param["CurrencyFormat"] = "currencyFormat";
|
|
4628
4696
|
Param["Enable2ColumnLayout"] = "enable2ColumnLayout";
|
|
4697
|
+
Param["IsLiveboardAlwaysOn12ColLayout"] = "isLiveboardAlwaysOn12ColLayout";
|
|
4629
4698
|
Param["IsFullAppEmbed"] = "isFullAppEmbed";
|
|
4630
4699
|
Param["IsOnBeforeGetVizDataInterceptEnabled"] = "isOnBeforeGetVizDataInterceptEnabled";
|
|
4631
4700
|
Param["FocusSearchBarOnRender"] = "focusSearchBarOnRender";
|
|
@@ -4649,6 +4718,7 @@ var Param;
|
|
|
4649
4718
|
Param["PrimaryAction"] = "primaryAction";
|
|
4650
4719
|
Param["isSpotterAgentEmbed"] = "isSpotterAgentEmbed";
|
|
4651
4720
|
Param["IsLiveboardStylingAndGroupingEnabled"] = "isLiveboardStylingAndGroupingEnabled";
|
|
4721
|
+
Param["LiveboardGutter"] = "liveboardGutter";
|
|
4652
4722
|
Param["IsLazyLoadingForEmbedEnabled"] = "isLazyLoadingForEmbedEnabled";
|
|
4653
4723
|
Param["RootMarginForLazyLoad"] = "rootMarginForLazyLoad";
|
|
4654
4724
|
Param["isPNGInScheduledEmailsEnabled"] = "isPNGInScheduledEmailsEnabled";
|
|
@@ -4684,14 +4754,17 @@ var Param;
|
|
|
4684
4754
|
Param["IsStarterPromptsEnabled"] = "enableStarterPrompts";
|
|
4685
4755
|
Param["UpdatedSpotterExperience"] = "updatedSpotterExperience";
|
|
4686
4756
|
Param["SpotterDataSources"] = "spotterDataSources";
|
|
4757
|
+
Param["AnalystId"] = "analystId";
|
|
4758
|
+
Param["OpenSpotterOnLiveboardByDefault"] = "openSpotterOnLiveboardByDefault";
|
|
4687
4759
|
})(Param || (Param = {}));
|
|
4688
4760
|
/**
|
|
4689
4761
|
* ThoughtSpot application pages include actions and menu commands
|
|
4690
4762
|
* for various user-initiated operations. These actions are represented
|
|
4691
4763
|
* as enumeration members in the SDK. To control actions in the embedded view:
|
|
4692
|
-
* - disabledActions — the action is grayed out and still visible, but non-interactive
|
|
4693
|
-
* - hiddenActions — the action is completely removed from
|
|
4694
|
-
* - visibleActions — allowlist, only these actions
|
|
4764
|
+
* - disabledActions — the action is grayed out and still visible, but non-interactive
|
|
4765
|
+
* (user can see but not click). - hiddenActions — the action is completely removed from
|
|
4766
|
+
* the UI (user cannot see it at all). - visibleActions — allowlist, only these actions
|
|
4767
|
+
* are shown; all others are hidden.
|
|
4695
4768
|
*
|
|
4696
4769
|
* Use disabledActions to disable (gray out) an action.
|
|
4697
4770
|
* Use hiddenActions to hide (fully remove) an action.
|
|
@@ -4745,6 +4818,17 @@ var Action;
|
|
|
4745
4818
|
* ```
|
|
4746
4819
|
*/
|
|
4747
4820
|
Action["SaveAsView"] = "saveAsView";
|
|
4821
|
+
/**
|
|
4822
|
+
* The **EditInputTable** action on a Liveboard
|
|
4823
|
+
* page. Allows users to edit an input table used in an Answer directly from
|
|
4824
|
+
* a Liveboard.
|
|
4825
|
+
* @example
|
|
4826
|
+
* ```js
|
|
4827
|
+
* disabledActions: [Action.EditInputTable]
|
|
4828
|
+
* ```
|
|
4829
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
4830
|
+
*/
|
|
4831
|
+
Action["EditInputTable"] = "editInputTable";
|
|
4748
4832
|
/**
|
|
4749
4833
|
* The **Make a copy** action on a Liveboard or Answer
|
|
4750
4834
|
* page. Creates a copy of the Liveboard.
|
|
@@ -6062,6 +6146,10 @@ var Action;
|
|
|
6062
6146
|
* The **Add to Coaching** feature allows adding reference questions and
|
|
6063
6147
|
* business terms to improve Spotter’s responses. This feature is generally available
|
|
6064
6148
|
* (GA) from version 26.2.0.cl and enabled by default on embed deployments.
|
|
6149
|
+
*
|
|
6150
|
+
* This action governs both the answer-card **Add to memory** CTA and its
|
|
6151
|
+
* Spotter 3 successor, the response-footer **Remember this** CTA
|
|
6152
|
+
* (they are mutually exclusive).
|
|
6065
6153
|
* @example
|
|
6066
6154
|
* ```js
|
|
6067
6155
|
* hiddenAction: [Action.InConversationTraining]
|
|
@@ -6442,6 +6530,56 @@ var Action;
|
|
|
6442
6530
|
* @version SDK: 1.48.0 | ThoughtSpot Cloud: 26.5.0.cl
|
|
6443
6531
|
*/
|
|
6444
6532
|
Action["SpotterChatModeSwitcher"] = "spotterChatModeSwitcher";
|
|
6533
|
+
/**
|
|
6534
|
+
* The **Basic Search** starter prompt pill.
|
|
6535
|
+
*
|
|
6536
|
+
* Starter prompt pills are the row of category buttons shown above the
|
|
6537
|
+
* Spotter chat input before a conversation starts. They give a new user
|
|
6538
|
+
* ready-made questions to click instead of typing one from scratch, and
|
|
6539
|
+
* disappear once the conversation begins. There are three, one per action
|
|
6540
|
+
* below.
|
|
6541
|
+
*
|
|
6542
|
+
* Clicking this pill opens a card of suggested simple questions; picking one
|
|
6543
|
+
* submits it to Spotter right away. Visible by default, and hidden along
|
|
6544
|
+
* with the other pills when the surface itself is off (see
|
|
6545
|
+
* {@link SpotterChatViewConfig.starterPrompts}).
|
|
6546
|
+
* @example
|
|
6547
|
+
* ```js
|
|
6548
|
+
* hiddenActions: [Action.QuickSearchPill]
|
|
6549
|
+
* ```
|
|
6550
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
6551
|
+
*/
|
|
6552
|
+
Action["QuickSearchPill"] = "quickSearchPill";
|
|
6553
|
+
/**
|
|
6554
|
+
* The **Deep Analysis** starter prompt pill, next to
|
|
6555
|
+
* {@link Action.QuickSearchPill} above the Spotter chat input.
|
|
6556
|
+
*
|
|
6557
|
+
* Clicking it opens a card of suggested investigative questions ("why did
|
|
6558
|
+
* revenue drop?"). Picking one fills the chat input in Deep Analysis mode
|
|
6559
|
+
* rather than submitting immediately, so the user can edit it first.
|
|
6560
|
+
* Visible by default.
|
|
6561
|
+
* @example
|
|
6562
|
+
* ```js
|
|
6563
|
+
* hiddenActions: [Action.DeepAnalysisPill]
|
|
6564
|
+
* ```
|
|
6565
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
6566
|
+
*/
|
|
6567
|
+
Action["DeepAnalysisPill"] = "deepAnalysisPill";
|
|
6568
|
+
/**
|
|
6569
|
+
* The **Data Literacy** starter prompt pill, next to
|
|
6570
|
+
* {@link Action.QuickSearchPill} above the Spotter chat input.
|
|
6571
|
+
*
|
|
6572
|
+
* Unlike the other two pills it opens no card: clicking it submits a prompt
|
|
6573
|
+
* that describes the data the model can answer over, helping a user who does
|
|
6574
|
+
* not yet know what is in the data source. The prompt text always comes from
|
|
6575
|
+
* ThoughtSpot, so only its label is customizable. Visible by default.
|
|
6576
|
+
* @example
|
|
6577
|
+
* ```js
|
|
6578
|
+
* hiddenActions: [Action.DataLiteracyPill]
|
|
6579
|
+
* ```
|
|
6580
|
+
* @version SDK: 1.52.0 | ThoughtSpot Cloud: 26.9.0.cl
|
|
6581
|
+
*/
|
|
6582
|
+
Action["DataLiteracyPill"] = "dataLiteracyPill";
|
|
6445
6583
|
/**
|
|
6446
6584
|
* The **Include current period** checkbox for date filters.
|
|
6447
6585
|
* Controls the visibility and availability of the option to include
|
|
@@ -6590,6 +6728,38 @@ var Action;
|
|
|
6590
6728
|
* ```
|
|
6591
6729
|
*/
|
|
6592
6730
|
Action["SpotterAnalystSidebar"] = "spotterAnalystSidebar";
|
|
6731
|
+
/**
|
|
6732
|
+
* Controls visibility and disable state of the analyst list
|
|
6733
|
+
* ("Show all") in the Spotter Analyst interface.
|
|
6734
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
6735
|
+
* @example
|
|
6736
|
+
* ```js
|
|
6737
|
+
* hiddenActions: [Action.SpotterAnalystList]
|
|
6738
|
+
* disabledActions: [Action.SpotterAnalystList]
|
|
6739
|
+
* ```
|
|
6740
|
+
*/
|
|
6741
|
+
Action["SpotterAnalystList"] = "spotterAnalystList";
|
|
6742
|
+
/**
|
|
6743
|
+
* Controls visibility and disable state of the default Spotter analyst
|
|
6744
|
+
* entry in the Spotter Analyst interface.
|
|
6745
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
6746
|
+
* @example
|
|
6747
|
+
* ```js
|
|
6748
|
+
* hiddenActions: [Action.SpotterDefaultAnalyst]
|
|
6749
|
+
* disabledActions: [Action.SpotterDefaultAnalyst]
|
|
6750
|
+
* ```
|
|
6751
|
+
*/
|
|
6752
|
+
Action["SpotterDefaultAnalyst"] = "spotterDefaultAnalyst";
|
|
6753
|
+
/**
|
|
6754
|
+
* The **Spotter** button in the Liveboard header.
|
|
6755
|
+
* @version SDK: 1.53.0 | ThoughtSpot Cloud: 26.10.0.cl
|
|
6756
|
+
* @example
|
|
6757
|
+
* ```js
|
|
6758
|
+
* hiddenActions: [Action.SpotterOnLiveboard]
|
|
6759
|
+
* disabledActions: [Action.SpotterOnLiveboard]
|
|
6760
|
+
* ```
|
|
6761
|
+
*/
|
|
6762
|
+
Action["SpotterOnLiveboard"] = "spotterOnLiveboard";
|
|
6593
6763
|
})(Action || (Action = {}));
|
|
6594
6764
|
var PrefetchFeatures;
|
|
6595
6765
|
(function (PrefetchFeatures) {
|
|
@@ -7057,7 +7227,7 @@ var TableContentDensity;
|
|
|
7057
7227
|
TableContentDensity["Compact"] = "COMPACT";
|
|
7058
7228
|
})(TableContentDensity || (TableContentDensity = {}));
|
|
7059
7229
|
|
|
7060
|
-
var version$1="1.51.
|
|
7230
|
+
var version$1="1.51.1";var pkg = {version:version$1};
|
|
7061
7231
|
|
|
7062
7232
|
const { version } = pkg;
|
|
7063
7233
|
|
|
@@ -7864,6 +8034,72 @@ const setParamIfDefined = (queryParams, param, value, asBoolean = false) => {
|
|
|
7864
8034
|
}
|
|
7865
8035
|
};
|
|
7866
8036
|
|
|
8037
|
+
/**
|
|
8038
|
+
* Copyright (c) 2023
|
|
8039
|
+
*
|
|
8040
|
+
* Utilities related to reading configuration objects
|
|
8041
|
+
* @summary Config-related utils
|
|
8042
|
+
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
8043
|
+
*/
|
|
8044
|
+
const urlRegex = new RegExp([
|
|
8045
|
+
'(^(https?:)//)?',
|
|
8046
|
+
'(([^:/?#]*)(?::([0-9]+))?)',
|
|
8047
|
+
'(/{0,1}[^?#]*)',
|
|
8048
|
+
'(\\?[^#]*|)',
|
|
8049
|
+
'(#.*|)$', // hash
|
|
8050
|
+
].join(''));
|
|
8051
|
+
/**
|
|
8052
|
+
* Parse and construct the ThoughtSpot hostname or IP address
|
|
8053
|
+
* from the embed configuration object.
|
|
8054
|
+
* @param config
|
|
8055
|
+
*/
|
|
8056
|
+
const getThoughtSpotHost = (config) => {
|
|
8057
|
+
if (!config.thoughtSpotHost) {
|
|
8058
|
+
throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
|
|
8059
|
+
}
|
|
8060
|
+
const urlParts = config.thoughtSpotHost.match(urlRegex);
|
|
8061
|
+
if (!urlParts) {
|
|
8062
|
+
throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
|
|
8063
|
+
}
|
|
8064
|
+
const protocol = urlParts[2] || window.location.protocol;
|
|
8065
|
+
const host = urlParts[3];
|
|
8066
|
+
let path = urlParts[6];
|
|
8067
|
+
// Lose the trailing / if any
|
|
8068
|
+
if (path.charAt(path.length - 1) === '/') {
|
|
8069
|
+
path = path.substring(0, path.length - 1);
|
|
8070
|
+
}
|
|
8071
|
+
// const urlParams = urlParts[7];
|
|
8072
|
+
// const hash = urlParts[8];
|
|
8073
|
+
return `${protocol}//${host}${path}`;
|
|
8074
|
+
};
|
|
8075
|
+
const getV2BasePath = (config) => {
|
|
8076
|
+
if (config.basepath) {
|
|
8077
|
+
return config.basepath;
|
|
8078
|
+
}
|
|
8079
|
+
const tsHost = getThoughtSpotHost(config);
|
|
8080
|
+
// This is to handle when e2e's. Search is run on pods for
|
|
8081
|
+
// comp-blink-test-pipeline with baseUrl=https://localhost:8443.
|
|
8082
|
+
// This is to handle when the developer is developing in their local
|
|
8083
|
+
// environment.
|
|
8084
|
+
if (tsHost.includes('://localhost') && !tsHost.includes(':8443')) {
|
|
8085
|
+
return '';
|
|
8086
|
+
}
|
|
8087
|
+
return 'v2';
|
|
8088
|
+
};
|
|
8089
|
+
/**
|
|
8090
|
+
* It is a good idea to keep URLs under 2000 chars.
|
|
8091
|
+
* If this is ever breached, since we pass view configuration through
|
|
8092
|
+
* URL params, we would like to log a warning.
|
|
8093
|
+
* Reference: https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
|
|
8094
|
+
*/
|
|
8095
|
+
const URL_MAX_LENGTH = 2000;
|
|
8096
|
+
/**
|
|
8097
|
+
* The default CSS dimensions of the embedded app
|
|
8098
|
+
*/
|
|
8099
|
+
const DEFAULT_EMBED_WIDTH = '100%';
|
|
8100
|
+
const DEFAULT_EMBED_HEIGHT = '100%';
|
|
8101
|
+
const DEFAULT_LAZY_LOADING_MARGIN = '500px 0px';
|
|
8102
|
+
|
|
7867
8103
|
/** Used for built-in method references. */
|
|
7868
8104
|
var objectProto$d = Object.prototype;
|
|
7869
8105
|
|
|
@@ -9706,7 +9942,7 @@ class AnswerService {
|
|
|
9706
9942
|
async getTML() {
|
|
9707
9943
|
const { object } = await this.executeQuery(getAnswerTML, {});
|
|
9708
9944
|
const edoc = object[0].edoc;
|
|
9709
|
-
const YAML = await import('./index-
|
|
9945
|
+
const YAML = await import('./index-DxLfQxoT.js');
|
|
9710
9946
|
const parsedDoc = YAML.parse(edoc);
|
|
9711
9947
|
return {
|
|
9712
9948
|
answer: {
|
|
@@ -12592,71 +12828,6 @@ const getCustomActions = (customActions) => {
|
|
|
12592
12828
|
};
|
|
12593
12829
|
};
|
|
12594
12830
|
|
|
12595
|
-
/**
|
|
12596
|
-
* Copyright (c) 2023
|
|
12597
|
-
*
|
|
12598
|
-
* Utilities related to reading configuration objects
|
|
12599
|
-
* @summary Config-related utils
|
|
12600
|
-
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
12601
|
-
*/
|
|
12602
|
-
const urlRegex = new RegExp([
|
|
12603
|
-
'(^(https?:)//)?',
|
|
12604
|
-
'(([^:/?#]*)(?::([0-9]+))?)',
|
|
12605
|
-
'(/{0,1}[^?#]*)',
|
|
12606
|
-
'(\\?[^#]*|)',
|
|
12607
|
-
'(#.*|)$', // hash
|
|
12608
|
-
].join(''));
|
|
12609
|
-
/**
|
|
12610
|
-
* Parse and construct the ThoughtSpot hostname or IP address
|
|
12611
|
-
* from the embed configuration object.
|
|
12612
|
-
* @param config
|
|
12613
|
-
*/
|
|
12614
|
-
const getThoughtSpotHost = (config) => {
|
|
12615
|
-
if (!config.thoughtSpotHost) {
|
|
12616
|
-
throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
|
|
12617
|
-
}
|
|
12618
|
-
const urlParts = config.thoughtSpotHost.match(urlRegex);
|
|
12619
|
-
if (!urlParts) {
|
|
12620
|
-
throw new Error(ERROR_MESSAGE.INVALID_THOUGHTSPOT_HOST);
|
|
12621
|
-
}
|
|
12622
|
-
const protocol = urlParts[2] || window.location.protocol;
|
|
12623
|
-
const host = urlParts[3];
|
|
12624
|
-
let path = urlParts[6];
|
|
12625
|
-
// Lose the trailing / if any
|
|
12626
|
-
if (path.charAt(path.length - 1) === '/') {
|
|
12627
|
-
path = path.substring(0, path.length - 1);
|
|
12628
|
-
}
|
|
12629
|
-
// const urlParams = urlParts[7];
|
|
12630
|
-
// const hash = urlParts[8];
|
|
12631
|
-
return `${protocol}//${host}${path}`;
|
|
12632
|
-
};
|
|
12633
|
-
const getV2BasePath = (config) => {
|
|
12634
|
-
if (config.basepath) {
|
|
12635
|
-
return config.basepath;
|
|
12636
|
-
}
|
|
12637
|
-
const tsHost = getThoughtSpotHost(config);
|
|
12638
|
-
// This is to handle when e2e's. Search is run on pods for
|
|
12639
|
-
// comp-blink-test-pipeline with baseUrl=https://localhost:8443.
|
|
12640
|
-
// This is to handle when the developer is developing in their local
|
|
12641
|
-
// environment.
|
|
12642
|
-
if (tsHost.includes('://localhost') && !tsHost.includes(':8443')) {
|
|
12643
|
-
return '';
|
|
12644
|
-
}
|
|
12645
|
-
return 'v2';
|
|
12646
|
-
};
|
|
12647
|
-
/**
|
|
12648
|
-
* It is a good idea to keep URLs under 2000 chars.
|
|
12649
|
-
* If this is ever breached, since we pass view configuration through
|
|
12650
|
-
* URL params, we would like to log a warning.
|
|
12651
|
-
* Reference: https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
|
|
12652
|
-
*/
|
|
12653
|
-
const URL_MAX_LENGTH = 2000;
|
|
12654
|
-
/**
|
|
12655
|
-
* The default CSS dimensions of the embedded app
|
|
12656
|
-
*/
|
|
12657
|
-
const DEFAULT_EMBED_WIDTH = '100%';
|
|
12658
|
-
const DEFAULT_EMBED_HEIGHT = '100%';
|
|
12659
|
-
|
|
12660
12831
|
var Config = {
|
|
12661
12832
|
DEBUG: false,
|
|
12662
12833
|
LIB_VERSION: '2.47.0'
|
|
@@ -20218,7 +20389,7 @@ const getIsInitCalled = () => { var _a; return !!((_a = getValueFromWindow(initF
|
|
|
20218
20389
|
/**
|
|
20219
20390
|
* Initializes the Visual Embed SDK globally and perform
|
|
20220
20391
|
* authentication if applicable. This function needs to be called before any ThoughtSpot
|
|
20221
|
-
* component like Liveboard etc can be embedded. But need not wait for
|
|
20392
|
+
* component like Liveboard etc can be embedded. But need not wait for AuthStatus.SUCCESS
|
|
20222
20393
|
* to actually embed. That is handled internally.
|
|
20223
20394
|
* @param embedConfig The configuration object containing ThoughtSpot host,
|
|
20224
20395
|
* authentication mechanism and so on.
|
|
@@ -21198,7 +21369,7 @@ class TsEmbed {
|
|
|
21198
21369
|
*/
|
|
21199
21370
|
this.shouldEncodeUrlQueryParams = false;
|
|
21200
21371
|
this.defaultHiddenActions = [Action.ReportError];
|
|
21201
|
-
this.preRenderContainerEl =
|
|
21372
|
+
this.preRenderContainerEl = document.body;
|
|
21202
21373
|
this.containerScrollListener = null;
|
|
21203
21374
|
/**
|
|
21204
21375
|
* Handler for fullscreen change events
|
|
@@ -21886,11 +22057,27 @@ class TsEmbed {
|
|
|
21886
22057
|
iFrame.name = 'ThoughtSpot Embedded Analytics';
|
|
21887
22058
|
return iFrame;
|
|
21888
22059
|
}
|
|
22060
|
+
/**
|
|
22061
|
+
* Returns a merged {@link PreRenderConfig} object where each shared key
|
|
22062
|
+
* prefers `preRenderConfig.key` over the top-level `viewConfig.key` for
|
|
22063
|
+
* backward compatibility.
|
|
22064
|
+
*/
|
|
22065
|
+
getPreRenderConfig() {
|
|
22066
|
+
var _a, _b, _c, _d;
|
|
22067
|
+
const viewCfg = this.viewConfig;
|
|
22068
|
+
const preRenderCfg = (_a = viewCfg.preRenderConfig) !== null && _a !== void 0 ? _a : {};
|
|
22069
|
+
return {
|
|
22070
|
+
...preRenderCfg,
|
|
22071
|
+
preRenderId: (_b = preRenderCfg.preRenderId) !== null && _b !== void 0 ? _b : viewCfg.preRenderId,
|
|
22072
|
+
preRenderContainer: (_c = preRenderCfg.preRenderContainer) !== null && _c !== void 0 ? _c : viewCfg.preRenderContainer,
|
|
22073
|
+
doNotTrackPreRenderSize: (_d = preRenderCfg.doNotTrackPreRenderSize) !== null && _d !== void 0 ? _d : viewCfg.doNotTrackPreRenderSize,
|
|
22074
|
+
};
|
|
22075
|
+
}
|
|
21889
22076
|
/**
|
|
21890
22077
|
* Returns true if this embed instance is configured for pre-rendering.
|
|
21891
22078
|
*/
|
|
21892
22079
|
isPreRenderEmbed() {
|
|
21893
|
-
return !!this.
|
|
22080
|
+
return !!this.getPreRenderConfig().preRenderId;
|
|
21894
22081
|
}
|
|
21895
22082
|
handleInsertionIntoDOM(child) {
|
|
21896
22083
|
if (this.isPreRenderEmbed()) {
|
|
@@ -22026,6 +22213,7 @@ class TsEmbed {
|
|
|
22026
22213
|
this.setIframeElement(this.preRenderChild);
|
|
22027
22214
|
}
|
|
22028
22215
|
this.isRendered = true;
|
|
22216
|
+
this.inheritPreRenderContainer();
|
|
22029
22217
|
}
|
|
22030
22218
|
return this.isPreRenderConnected();
|
|
22031
22219
|
}
|
|
@@ -22076,7 +22264,7 @@ class TsEmbed {
|
|
|
22076
22264
|
*/
|
|
22077
22265
|
resolvePreRenderContainerTarget() {
|
|
22078
22266
|
var _a;
|
|
22079
|
-
const containerConfig = this.
|
|
22267
|
+
const containerConfig = this.getPreRenderConfig().preRenderContainer;
|
|
22080
22268
|
let container = null;
|
|
22081
22269
|
if (typeof containerConfig === 'string') {
|
|
22082
22270
|
try {
|
|
@@ -22094,15 +22282,35 @@ class TsEmbed {
|
|
|
22094
22282
|
}
|
|
22095
22283
|
return (_a = container) !== null && _a !== void 0 ? _a : document.body;
|
|
22096
22284
|
}
|
|
22285
|
+
inheritPreRenderContainer() {
|
|
22286
|
+
var _a;
|
|
22287
|
+
const preRenderedObject = this.getPreRenderObj();
|
|
22288
|
+
if (!preRenderedObject || preRenderedObject === this) {
|
|
22289
|
+
return;
|
|
22290
|
+
}
|
|
22291
|
+
const ownerContainer = (_a = preRenderedObject.preRenderContainerEl) !== null && _a !== void 0 ? _a : document.body;
|
|
22292
|
+
if (this.getPreRenderConfig().preRenderContainer
|
|
22293
|
+
&& this.resolvePreRenderContainerTarget() !== ownerContainer) {
|
|
22294
|
+
logger$3.warn('preRenderContainer is applied only by the component that creates the preRender; '
|
|
22295
|
+
+ 'the one passed here is ignored. Set it on the PreRender component instead.');
|
|
22296
|
+
}
|
|
22297
|
+
this.preRenderContainerEl = ownerContainer;
|
|
22298
|
+
this.applyPreRenderContainerPositioning();
|
|
22299
|
+
}
|
|
22300
|
+
getCustomPreRenderContainer() {
|
|
22301
|
+
const container = this.preRenderContainerEl;
|
|
22302
|
+
return container && container !== document.body ? container : null;
|
|
22303
|
+
}
|
|
22097
22304
|
/**
|
|
22098
|
-
* Makes the container a positioning context for the absolutely
|
|
22099
|
-
* wrapper, stashing the original inline `position` on the element
|
|
22100
|
-
* destroy() can restore it exactly, leaving no trace. Recording it
|
|
22101
|
-
* element rather than per-instance lets the override be reverted even
|
|
22102
|
-
* embeds share the same container.
|
|
22305
|
+
* Makes the resolved container a positioning context for the absolutely
|
|
22306
|
+
* positioned wrapper, stashing the original inline `position` on the element
|
|
22307
|
+
* (once) so destroy() can restore it exactly, leaving no trace. Recording it
|
|
22308
|
+
* on the element rather than per-instance lets the override be reverted even
|
|
22309
|
+
* when embeds share the same container.
|
|
22103
22310
|
*/
|
|
22104
|
-
applyPreRenderContainerPositioning(
|
|
22105
|
-
|
|
22311
|
+
applyPreRenderContainerPositioning() {
|
|
22312
|
+
const container = this.getCustomPreRenderContainer();
|
|
22313
|
+
if (!container) {
|
|
22106
22314
|
return;
|
|
22107
22315
|
}
|
|
22108
22316
|
const pos = window.getComputedStyle(container).position;
|
|
@@ -22145,11 +22353,11 @@ class TsEmbed {
|
|
|
22145
22353
|
resolved.addEventListener('scroll', this.containerScrollListener);
|
|
22146
22354
|
}
|
|
22147
22355
|
}
|
|
22148
|
-
this.
|
|
22356
|
+
this.preRenderContainerEl = resolved;
|
|
22357
|
+
this.applyPreRenderContainerPositioning();
|
|
22149
22358
|
if (wrapper.parentNode !== resolved) {
|
|
22150
22359
|
resolved.appendChild(wrapper);
|
|
22151
22360
|
}
|
|
22152
|
-
this.preRenderContainerEl = resolved;
|
|
22153
22361
|
}
|
|
22154
22362
|
insertIntoDOMForPreRender(child) {
|
|
22155
22363
|
const preRenderChild = this.createPreRenderChild(child);
|
|
@@ -22172,7 +22380,7 @@ class TsEmbed {
|
|
|
22172
22380
|
}
|
|
22173
22381
|
const targetContainer = this.resolvePreRenderContainerTarget();
|
|
22174
22382
|
this.preRenderContainerEl = targetContainer;
|
|
22175
|
-
this.applyPreRenderContainerPositioning(
|
|
22383
|
+
this.applyPreRenderContainerPositioning();
|
|
22176
22384
|
targetContainer.appendChild(preRenderWrapper);
|
|
22177
22385
|
}
|
|
22178
22386
|
insertIntoDOM(child) {
|
|
@@ -22578,7 +22786,7 @@ class TsEmbed {
|
|
|
22578
22786
|
showPreRenderByDefault,
|
|
22579
22787
|
replaceExistingPreRender,
|
|
22580
22788
|
});
|
|
22581
|
-
if (!this.
|
|
22789
|
+
if (!this.getPreRenderConfig().preRenderId) {
|
|
22582
22790
|
logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
|
|
22583
22791
|
return this;
|
|
22584
22792
|
}
|
|
@@ -22634,7 +22842,7 @@ class TsEmbed {
|
|
|
22634
22842
|
}
|
|
22635
22843
|
// Drop our reference up front so a destroyed embed never pins a
|
|
22636
22844
|
// detached container in memory; restoration uses the local handle.
|
|
22637
|
-
this.preRenderContainerEl =
|
|
22845
|
+
this.preRenderContainerEl = document.body;
|
|
22638
22846
|
const originalPosition = container.dataset[PRERENDER_CONTAINER_ORIGINAL_POSITION_KEY];
|
|
22639
22847
|
if (originalPosition === undefined) {
|
|
22640
22848
|
// We never overrode this container's position; nothing to restore.
|
|
@@ -22657,9 +22865,7 @@ class TsEmbed {
|
|
|
22657
22865
|
if (!this.containerScrollListener) {
|
|
22658
22866
|
return;
|
|
22659
22867
|
}
|
|
22660
|
-
const customContainer = this.
|
|
22661
|
-
? this.preRenderContainerEl
|
|
22662
|
-
: null;
|
|
22868
|
+
const customContainer = this.getCustomPreRenderContainer();
|
|
22663
22869
|
customContainer === null || customContainer === void 0 ? void 0 : customContainer.removeEventListener('scroll', this.containerScrollListener);
|
|
22664
22870
|
this.containerScrollListener = null;
|
|
22665
22871
|
}
|
|
@@ -22756,12 +22962,12 @@ class TsEmbed {
|
|
|
22756
22962
|
async showPreRender() {
|
|
22757
22963
|
var _a, _b;
|
|
22758
22964
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_SHOW_PRE_RENDER, {
|
|
22759
|
-
preRenderId: this.
|
|
22965
|
+
preRenderId: this.getPreRenderConfig().preRenderId,
|
|
22760
22966
|
embedComponentType: this.viewConfig.embedComponentType,
|
|
22761
22967
|
});
|
|
22762
22968
|
if (this.shouldWaitForRenderPromise)
|
|
22763
22969
|
await this.isReadyForRenderPromise;
|
|
22764
|
-
if (!this.
|
|
22970
|
+
if (!this.getPreRenderConfig().preRenderId) {
|
|
22765
22971
|
logger$3.error(ERROR_MESSAGE.PRERENDER_ID_MISSING);
|
|
22766
22972
|
return this;
|
|
22767
22973
|
}
|
|
@@ -22792,14 +22998,12 @@ class TsEmbed {
|
|
|
22792
22998
|
(_a = this.hostElement.querySelector(`#${placeHolderId}`)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
22793
22999
|
this.hostElement.appendChild(this.insertedDomEl);
|
|
22794
23000
|
this.syncPreRenderStyle();
|
|
22795
|
-
const customContainer = this.
|
|
22796
|
-
? this.preRenderContainerEl
|
|
22797
|
-
: null;
|
|
23001
|
+
const customContainer = this.getCustomPreRenderContainer();
|
|
22798
23002
|
if (customContainer && !this.containerScrollListener) {
|
|
22799
23003
|
this.containerScrollListener = () => this.syncPreRenderStyle();
|
|
22800
23004
|
customContainer.addEventListener('scroll', this.containerScrollListener);
|
|
22801
23005
|
}
|
|
22802
|
-
if (!this.
|
|
23006
|
+
if (!this.getPreRenderConfig().doNotTrackPreRenderSize) {
|
|
22803
23007
|
const observeTarget = (_b = this.insertedDomEl) !== null && _b !== void 0 ? _b : this.hostElement;
|
|
22804
23008
|
this.resizeObserver = new ResizeObserver((entries) => {
|
|
22805
23009
|
entries.forEach((entry) => {
|
|
@@ -22841,13 +23045,15 @@ class TsEmbed {
|
|
|
22841
23045
|
logger$3.error(ERROR_MESSAGE.SYNC_STYLE_CALLED_BEFORE_RENDER);
|
|
22842
23046
|
return;
|
|
22843
23047
|
}
|
|
23048
|
+
if (!this.getPreRenderPlaceHolderElement().isConnected) {
|
|
23049
|
+
logger$3.debug('syncPreRenderStyle skipped: placeholder is detached');
|
|
23050
|
+
return;
|
|
23051
|
+
}
|
|
22844
23052
|
// Self-heal if the resolved container was remounted/detached, so we
|
|
22845
23053
|
// never measure a stale node (which would collapse the wrapper).
|
|
22846
23054
|
this.reconcilePreRenderContainer();
|
|
22847
23055
|
const elBoundingClient = this.getPreRenderPlaceHolderElement().getBoundingClientRect();
|
|
22848
|
-
const containerEl = this.
|
|
22849
|
-
? this.preRenderContainerEl
|
|
22850
|
-
: null;
|
|
23056
|
+
const containerEl = this.getCustomPreRenderContainer();
|
|
22851
23057
|
const containerRect = (_a = containerEl === null || containerEl === void 0 ? void 0 : containerEl.getBoundingClientRect()) !== null && _a !== void 0 ? _a : { x: 0, y: 0 };
|
|
22852
23058
|
const scrollX = containerEl ? containerEl.scrollLeft : window.scrollX;
|
|
22853
23059
|
const scrollY = containerEl ? containerEl.scrollTop : window.scrollY;
|
|
@@ -22865,7 +23071,7 @@ class TsEmbed {
|
|
|
22865
23071
|
*/
|
|
22866
23072
|
hidePreRender() {
|
|
22867
23073
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_HIDE_PRE_RENDER, {
|
|
22868
|
-
preRenderId: this.
|
|
23074
|
+
preRenderId: this.getPreRenderConfig().preRenderId,
|
|
22869
23075
|
embedComponentType: this.viewConfig.embedComponentType,
|
|
22870
23076
|
});
|
|
22871
23077
|
logger$3.debug('HidePreRender Called');
|
|
@@ -22874,10 +23080,11 @@ class TsEmbed {
|
|
|
22874
23080
|
logger$3.warn('PreRender should be called before hiding it using hidePreRender.');
|
|
22875
23081
|
return;
|
|
22876
23082
|
}
|
|
23083
|
+
const { zIndex } = this.getPreRenderConfig();
|
|
22877
23084
|
const preRenderHideStyles = {
|
|
22878
23085
|
opacity: '0',
|
|
22879
23086
|
pointerEvents: 'none',
|
|
22880
|
-
zIndex: '-1000',
|
|
23087
|
+
zIndex: zIndex !== undefined ? String(zIndex) : '-1000',
|
|
22881
23088
|
position: 'absolute',
|
|
22882
23089
|
top: '0',
|
|
22883
23090
|
left: '0',
|
|
@@ -22902,10 +23109,11 @@ class TsEmbed {
|
|
|
22902
23109
|
* @property {string} child - The HTML element ID for the PreRender child.
|
|
22903
23110
|
*/
|
|
22904
23111
|
getPreRenderIds() {
|
|
23112
|
+
const preRenderId = this.getPreRenderConfig().preRenderId;
|
|
22905
23113
|
return {
|
|
22906
|
-
wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${
|
|
22907
|
-
child: `tsEmbed-pre-render-child-${
|
|
22908
|
-
placeHolder: `tsEmbed-pre-render-placeholder-${
|
|
23114
|
+
wrapper: `${PRERENDER_WRAPPER_ID_PREFIX}${preRenderId}`,
|
|
23115
|
+
child: `tsEmbed-pre-render-child-${preRenderId}`,
|
|
23116
|
+
placeHolder: `tsEmbed-pre-render-placeholder-${preRenderId}`,
|
|
22909
23117
|
};
|
|
22910
23118
|
}
|
|
22911
23119
|
/**
|
|
@@ -23087,6 +23295,19 @@ function buildSpotterShareConversationAppInitData(initData, viewConfig) {
|
|
|
23087
23295
|
spotterShareConversationConfig,
|
|
23088
23296
|
},
|
|
23089
23297
|
};
|
|
23298
|
+
}
|
|
23299
|
+
function buildStarterPromptsAppInitData(initData, viewConfig) {
|
|
23300
|
+
var _a;
|
|
23301
|
+
const starterPrompts = (_a = viewConfig.spotterChatConfig) === null || _a === void 0 ? void 0 : _a.starterPrompts;
|
|
23302
|
+
if (!starterPrompts)
|
|
23303
|
+
return initData;
|
|
23304
|
+
return {
|
|
23305
|
+
...initData,
|
|
23306
|
+
embedParams: {
|
|
23307
|
+
...(initData.embedParams || {}),
|
|
23308
|
+
starterPrompts,
|
|
23309
|
+
},
|
|
23310
|
+
};
|
|
23090
23311
|
}
|
|
23091
23312
|
|
|
23092
23313
|
function buildSpotterVizAppInitData(initData, viewConfig) {
|
|
@@ -23152,6 +23373,10 @@ var Page;
|
|
|
23152
23373
|
* Collections listing page
|
|
23153
23374
|
*/
|
|
23154
23375
|
Page["Collections"] = "collections";
|
|
23376
|
+
/**
|
|
23377
|
+
* Liveboard schedules listing page
|
|
23378
|
+
*/
|
|
23379
|
+
Page["LiveboardSchedules"] = "liveboard-schedules";
|
|
23155
23380
|
})(Page || (Page = {}));
|
|
23156
23381
|
/**
|
|
23157
23382
|
* Define the initial state of column custom group accordions
|
|
@@ -23297,6 +23522,15 @@ class AppEmbed extends V1Embed {
|
|
|
23297
23522
|
this.setIFrameHeight(frameHeight || this.defaultHeight);
|
|
23298
23523
|
};
|
|
23299
23524
|
if (this.viewConfig.fullHeight === true) {
|
|
23525
|
+
if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
|
|
23526
|
+
this.viewConfig.lazyLoadingForFullHeight = true;
|
|
23527
|
+
}
|
|
23528
|
+
if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
|
|
23529
|
+
this.viewConfig.enableScrollableContainerLazyLoading = true;
|
|
23530
|
+
}
|
|
23531
|
+
if (this.viewConfig.lazyLoadingMargin === undefined) {
|
|
23532
|
+
this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
|
|
23533
|
+
}
|
|
23300
23534
|
this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
|
|
23301
23535
|
this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
|
|
23302
23536
|
this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
|
|
@@ -23319,7 +23553,8 @@ class AppEmbed extends V1Embed {
|
|
|
23319
23553
|
const defaultAppInitData = await super.getAppInitData();
|
|
23320
23554
|
const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
|
|
23321
23555
|
const vizInitData = buildSpotterVizAppInitData(sidebarInitData, this.viewConfig);
|
|
23322
|
-
|
|
23556
|
+
const shareInitData = buildSpotterShareConversationAppInitData(vizInitData, this.viewConfig);
|
|
23557
|
+
return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
|
|
23323
23558
|
}
|
|
23324
23559
|
/**
|
|
23325
23560
|
* Constructs a map of parameters to be passed on to the
|
|
@@ -23330,7 +23565,7 @@ class AppEmbed extends V1Embed {
|
|
|
23330
23565
|
return getQueryParamString(params, true);
|
|
23331
23566
|
}
|
|
23332
23567
|
getEmbedParamsObject() {
|
|
23333
|
-
const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
|
|
23568
|
+
const { tag, hideTagFilterChips, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideHamburger, hideObjectSearch, hideNotification, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, newConnectionsExperience, fullHeight, dataPanelV2 = true, updatedSpotterExperience, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, hideHomepageLeftNav = false, modularHomeExperience, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, enableCustomColumnGroups = false, dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, isEnhancedFilterInteractivityEnabled, homePageSearchBarMode, isUnifiedSearchExperienceEnabled = true, enablePendoHelp = true, discoveryExperience, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterDataSources, minimumHeight, isThisPeriodInDateFiltersEnabled, enableHomepageAnnouncement = false, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
|
|
23334
23569
|
let params = {};
|
|
23335
23570
|
params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
|
|
23336
23571
|
params[Param.HideProfleAndHelp] = !!disableProfileAndHelp;
|
|
@@ -23384,7 +23619,7 @@ class AppEmbed extends V1Embed {
|
|
|
23384
23619
|
}
|
|
23385
23620
|
// Handle spotterChatConfig params
|
|
23386
23621
|
if (spotterChatConfig) {
|
|
23387
|
-
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
|
|
23622
|
+
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
|
|
23388
23623
|
setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
|
|
23389
23624
|
setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
|
|
23390
23625
|
if (spotterFileUploadEnabled !== undefined) {
|
|
@@ -23393,6 +23628,9 @@ class AppEmbed extends V1Embed {
|
|
|
23393
23628
|
if (enableStarterPrompts !== undefined) {
|
|
23394
23629
|
params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
|
|
23395
23630
|
}
|
|
23631
|
+
if (openSpotterOnLiveboardByDefault !== undefined) {
|
|
23632
|
+
params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
|
|
23633
|
+
}
|
|
23396
23634
|
if (spotterFileUploadFileTypes !== undefined) {
|
|
23397
23635
|
params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
|
|
23398
23636
|
}
|
|
@@ -23436,6 +23674,9 @@ class AppEmbed extends V1Embed {
|
|
|
23436
23674
|
if (enable2ColumnLayout !== undefined) {
|
|
23437
23675
|
params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
|
|
23438
23676
|
}
|
|
23677
|
+
if (isLiveboardAlwaysOn12ColLayout !== undefined) {
|
|
23678
|
+
params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
|
|
23679
|
+
}
|
|
23439
23680
|
if (enableAskSage) {
|
|
23440
23681
|
params[Param.enableAskSage] = enableAskSage;
|
|
23441
23682
|
}
|
|
@@ -23448,6 +23689,9 @@ class AppEmbed extends V1Embed {
|
|
|
23448
23689
|
if (isLiveboardStylingAndGroupingEnabled !== undefined) {
|
|
23449
23690
|
params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
|
|
23450
23691
|
}
|
|
23692
|
+
if (liveboardGutter !== undefined) {
|
|
23693
|
+
params[Param.LiveboardGutter] = liveboardGutter;
|
|
23694
|
+
}
|
|
23451
23695
|
if (isPNGInScheduledEmailsEnabled !== undefined) {
|
|
23452
23696
|
params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
|
|
23453
23697
|
}
|
|
@@ -23558,6 +23802,8 @@ class AppEmbed extends V1Embed {
|
|
|
23558
23802
|
return modularHomeExperience ? 'home/monitor-alerts' : 'insights/monitor-alerts';
|
|
23559
23803
|
case Page.Collections:
|
|
23560
23804
|
return 'collections';
|
|
23805
|
+
case Page.LiveboardSchedules:
|
|
23806
|
+
return 'home/liveboard-schedules';
|
|
23561
23807
|
case Page.Home:
|
|
23562
23808
|
default:
|
|
23563
23809
|
return 'home';
|
|
@@ -23843,6 +24089,15 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23843
24089
|
logger$3.warn('Full height is currently only supported for Liveboard embeds.' +
|
|
23844
24090
|
'Using full height with vizId might lead to unexpected behavior.');
|
|
23845
24091
|
}
|
|
24092
|
+
if (this.viewConfig.lazyLoadingForFullHeight === undefined) {
|
|
24093
|
+
this.viewConfig.lazyLoadingForFullHeight = true;
|
|
24094
|
+
}
|
|
24095
|
+
if (this.viewConfig.enableScrollableContainerLazyLoading === undefined) {
|
|
24096
|
+
this.viewConfig.enableScrollableContainerLazyLoading = true;
|
|
24097
|
+
}
|
|
24098
|
+
if (this.viewConfig.lazyLoadingMargin === undefined) {
|
|
24099
|
+
this.viewConfig.lazyLoadingMargin = DEFAULT_LAZY_LOADING_MARGIN;
|
|
24100
|
+
}
|
|
23846
24101
|
this.on(EmbedEvent.RouteChange, this.setIframeHeightForNonEmbedLiveboard);
|
|
23847
24102
|
this.on(EmbedEvent.EmbedHeight, this.updateIFrameHeight);
|
|
23848
24103
|
this.on(EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
|
|
@@ -23851,7 +24106,8 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23851
24106
|
}
|
|
23852
24107
|
async getAppInitData() {
|
|
23853
24108
|
const defaultAppInitData = await super.getAppInitData();
|
|
23854
|
-
|
|
24109
|
+
const vizInitData = buildSpotterVizAppInitData(defaultAppInitData, this.viewConfig);
|
|
24110
|
+
return buildStarterPromptsAppInitData(vizInitData, this.viewConfig);
|
|
23855
24111
|
}
|
|
23856
24112
|
/**
|
|
23857
24113
|
* Construct a map of params to be passed on to the
|
|
@@ -23865,7 +24121,7 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23865
24121
|
getEmbedParamsObject() {
|
|
23866
24122
|
let params = {};
|
|
23867
24123
|
params = this.getBaseQueryParams(params);
|
|
23868
|
-
const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, isEnhancedFilterInteractivityEnabled, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, updatedSpotterExperience, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
|
|
24124
|
+
const { enableVizTransformations, fullHeight, defaultHeight, minimumHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, hideIrrelevantChipsInLiveboardTabs, showMaskedFilterChip = false, isLiveboardMasterpiecesEnabled, newChartsLibrary, isEnhancedFilterInteractivityEnabled, enableAskSage, enable2ColumnLayout, isLiveboardAlwaysOn12ColLayout, dataPanelV2 = true, updatedSpotterExperience, enableCustomColumnGroups = false, oAuthPollingInterval, isForceRedirect, dataSourceId, coverAndFilterOptionInPDF, isLiveboardStylingAndGroupingEnabled, liveboardGutter, isPNGInScheduledEmailsEnabled = false, isLiveboardXLSXCSVDownloadEnabled, isGranularXLSXCSVSchedulesEnabled, showSpotterLimitations, isCentralizedLiveboardFilterUXEnabled = false, isScopedLiveboardFilteringEnabled, isLinkParametersEnabled, updatedSpotterChatPrompt, showSpotterRadiance, enableStopAnswerGenerationEmbed, spotterChatConfig, isThisPeriodInDateFiltersEnabled, isContinuousLiveboardPDFEnabled, enableLiveboardDataCache, } = this.viewConfig;
|
|
23869
24125
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
23870
24126
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
23871
24127
|
if (fullHeight === true) {
|
|
@@ -23906,6 +24162,9 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23906
24162
|
if (enable2ColumnLayout !== undefined) {
|
|
23907
24163
|
params[Param.Enable2ColumnLayout] = enable2ColumnLayout;
|
|
23908
24164
|
}
|
|
24165
|
+
if (isLiveboardAlwaysOn12ColLayout !== undefined) {
|
|
24166
|
+
params[Param.IsLiveboardAlwaysOn12ColLayout] = isLiveboardAlwaysOn12ColLayout;
|
|
24167
|
+
}
|
|
23909
24168
|
if (hideTabPanel) {
|
|
23910
24169
|
params[Param.HideTabPanel] = hideTabPanel;
|
|
23911
24170
|
}
|
|
@@ -23933,6 +24192,9 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23933
24192
|
if (isLiveboardStylingAndGroupingEnabled !== undefined) {
|
|
23934
24193
|
params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
|
|
23935
24194
|
}
|
|
24195
|
+
if (liveboardGutter !== undefined) {
|
|
24196
|
+
params[Param.LiveboardGutter] = liveboardGutter;
|
|
24197
|
+
}
|
|
23936
24198
|
if (isPNGInScheduledEmailsEnabled !== undefined) {
|
|
23937
24199
|
params[Param.isPNGInScheduledEmailsEnabled] = isPNGInScheduledEmailsEnabled;
|
|
23938
24200
|
}
|
|
@@ -23950,7 +24212,7 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23950
24212
|
}
|
|
23951
24213
|
// Handle spotterChatConfig params
|
|
23952
24214
|
if (spotterChatConfig) {
|
|
23953
|
-
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
|
|
24215
|
+
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, openSpotterOnLiveboardByDefault, } = spotterChatConfig;
|
|
23954
24216
|
setParamIfDefined(params, Param.HideToolResponseCardBranding, hideToolResponseCardBranding, true);
|
|
23955
24217
|
setParamIfDefined(params, Param.ToolResponseCardBrandingLabel, toolResponseCardBrandingLabel);
|
|
23956
24218
|
if (spotterFileUploadEnabled !== undefined) {
|
|
@@ -23959,6 +24221,9 @@ class LiveboardEmbed extends V1Embed {
|
|
|
23959
24221
|
if (enableStarterPrompts !== undefined) {
|
|
23960
24222
|
params[Param.IsStarterPromptsEnabled] = enableStarterPrompts;
|
|
23961
24223
|
}
|
|
24224
|
+
if (openSpotterOnLiveboardByDefault !== undefined) {
|
|
24225
|
+
params[Param.OpenSpotterOnLiveboardByDefault] = openSpotterOnLiveboardByDefault;
|
|
24226
|
+
}
|
|
23962
24227
|
if (spotterFileUploadFileTypes !== undefined) {
|
|
23963
24228
|
params[Param.SpotterFileUploadFileTypes] = JSON.stringify(spotterFileUploadFileTypes);
|
|
23964
24229
|
}
|
|
@@ -24204,7 +24469,7 @@ class LiveboardEmbed extends V1Embed {
|
|
|
24204
24469
|
if (this.isRendered) {
|
|
24205
24470
|
this.trigger(HostEvent.Navigate, path.substring(1));
|
|
24206
24471
|
}
|
|
24207
|
-
else if (this.
|
|
24472
|
+
else if (this.getPreRenderConfig().preRenderId) {
|
|
24208
24473
|
this.preRender(true);
|
|
24209
24474
|
}
|
|
24210
24475
|
else {
|
|
@@ -25077,10 +25342,11 @@ class SpotterEmbed extends TsEmbed {
|
|
|
25077
25342
|
async getAppInitData() {
|
|
25078
25343
|
const defaultAppInitData = await super.getAppInitData();
|
|
25079
25344
|
const sidebarInitData = buildSpotterSidebarAppInitData(defaultAppInitData, this.viewConfig, this.handleError.bind(this));
|
|
25080
|
-
|
|
25345
|
+
const shareInitData = buildSpotterShareConversationAppInitData(sidebarInitData, this.viewConfig);
|
|
25346
|
+
return buildStarterPromptsAppInitData(shareInitData, this.viewConfig);
|
|
25081
25347
|
}
|
|
25082
25348
|
getEmbedParamsObject() {
|
|
25083
|
-
const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, } = this.viewConfig;
|
|
25349
|
+
const { searchOptions, disableSourceSelection, hideSourceSelection, dataPanelV2, updatedSpotterExperience, showSpotterLimitations, hideSampleQuestions, runtimeFilters, excludeRuntimeFiltersfromURL, runtimeParameters, excludeRuntimeParametersfromURL, updatedSpotterChatPrompt, showSpotterRadiance, defaultQueryMode, enableStopAnswerGenerationEmbed, spotterChatConfig, spotterAnalystConfig, } = this.viewConfig;
|
|
25084
25350
|
const queryParams = this.getBaseQueryParams();
|
|
25085
25351
|
queryParams[Param.SpotterEnabled] = true;
|
|
25086
25352
|
// Boolean params
|
|
@@ -25093,6 +25359,7 @@ class SpotterEmbed extends TsEmbed {
|
|
|
25093
25359
|
setParamIfDefined(queryParams, Param.ShowSpotterRadiance, showSpotterRadiance, true);
|
|
25094
25360
|
setParamIfDefined(queryParams, Param.DefaultQueryMode, defaultQueryMode);
|
|
25095
25361
|
setParamIfDefined(queryParams, Param.EnableStopAnswerGenerationEmbed, enableStopAnswerGenerationEmbed, true);
|
|
25362
|
+
setParamIfDefined(queryParams, Param.AnalystId, spotterAnalystConfig === null || spotterAnalystConfig === void 0 ? void 0 : spotterAnalystConfig.analystId);
|
|
25096
25363
|
// Handle spotterChatConfig params
|
|
25097
25364
|
if (spotterChatConfig) {
|
|
25098
25365
|
const { hideToolResponseCardBranding, toolResponseCardBrandingLabel, spotterFileUploadEnabled, spotterFileUploadFileTypes, enableStarterPrompts, } = spotterChatConfig;
|
|
@@ -25842,4 +26109,4 @@ class AutoFrameRenderer extends TsEmbed {
|
|
|
25842
26109
|
}
|
|
25843
26110
|
}
|
|
25844
26111
|
|
|
25845
|
-
export { Action, AnswerService, AppEmbed, AuthEvent, AuthFailureType, AuthStatus, AuthType, BackgroundFormatType, BodylessConversation, ConditionalFormattingComparisonType, ConditionalFormattingOperator, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataLabelFilterOperator, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, LegendPosition, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SpotterQueryMode, TableContentDensity, TableTheme, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, reloadIframe, resetCachedAuthToken, startAutoMCPFrameRenderer, tokenizedFetch, uploadMixpanelEvent };
|
|
26112
|
+
export { Action, AnswerService, AppEmbed, ApplicabilityLevel, AuthEvent, AuthFailureType, AuthStatus, AuthType, BackgroundFormatType, BodylessConversation, ConditionalFormattingComparisonType, ConditionalFormattingOperator, ContextMenuTriggerOptions, ContextType, ConversationEmbed, CustomActionTarget, CustomActionsPosition, DataLabelFilterOperator, DataPanelCustomColumnGroupsAccordionState$1 as DataPanelCustomColumnGroupsAccordionState, DataSourceVisualMode, EmbedErrorCodes, EmbedEvent, ErrorDetailsTypes, HomeLeftNavItem, HomePage, HomePageSearchBarMode, HomepageModule, HostEvent, InterceptedApiType, LegendPosition, ListPage, ListPageColumns, LiveboardEmbed, LogLevel, MIXPANEL_EVENT, Page, PinboardEmbed, PrefetchFeatures, PrimaryNavbarVersion, RuntimeFilterOp, SearchBarEmbed, SearchEmbed, SpotterAgentEmbed, SpotterEmbed, SpotterQueryMode, TableContentDensity, TableTheme, UIPassthroughEvent, createLiveboardWithAnswers, executeTML, exportTML, getAnswerFromQuery, getEmbedConfig as getInitConfig, getSessionInfo, init, logout, prefetch, reloadIframe, resetCachedAuthToken, startAutoMCPFrameRenderer, tokenizedFetch, uploadMixpanelEvent };
|