@thoughtspot/visual-embed-sdk 1.13.0-alpha.2 → 1.13.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/CHANGELOG.md +31 -6
- package/README.md +1 -1
- package/dist/src/auth.d.ts +4 -1
- package/dist/src/auth.spec.d.ts +1 -0
- package/dist/src/embed/app.d.ts +5 -0
- package/dist/src/embed/liveboard.d.ts +12 -1
- package/dist/src/embed/search.d.ts +5 -0
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +1 -0
- package/dist/src/embed/ts-embed.d.ts +12 -3
- package/dist/src/errors.d.ts +2 -0
- package/dist/src/test/test-utils.d.ts +6 -0
- package/dist/src/types.d.ts +211 -4
- package/dist/src/utils/processTrigger.d.ts +1 -1
- package/dist/src/utils.d.ts +3 -1
- package/dist/tsembed.es.js +292 -24
- package/dist/tsembed.js +292 -24
- package/lib/package.json +4 -2
- package/lib/src/auth.d.ts +4 -1
- package/lib/src/auth.js +11 -2
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts +1 -0
- package/lib/src/auth.spec.js +13 -1
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/config.spec.js +7 -0
- package/lib/src/config.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +5 -0
- package/lib/src/embed/app.js +1 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +18 -6
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/embed.spec.js +2 -0
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/events.spec.js +3 -1
- package/lib/src/embed/events.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +12 -1
- package/lib/src/embed/liveboard.js +22 -4
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +33 -6
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +7 -5
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +5 -0
- package/lib/src/embed/search.js +10 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +9 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/searchEmbed-basic-auth.spec.d.ts +1 -0
- package/lib/src/embed/searchEmbed-basic-auth.spec.js +96 -0
- package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.d.ts +12 -3
- package/lib/src/embed/ts-embed.js +29 -10
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +38 -5
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +2 -0
- package/lib/src/errors.js +2 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/react/index.js +3 -2
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +6 -4
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +6 -0
- package/lib/src/test/test-utils.js +15 -0
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +211 -4
- package/lib/src/types.js +176 -0
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +1 -1
- package/lib/src/utils/processTrigger.js +28 -8
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js +11 -1
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts +3 -1
- package/lib/src/utils.js +20 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +22 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +240 -9
- package/package.json +4 -2
- package/src/auth.spec.ts +20 -1
- package/src/auth.ts +12 -2
- package/src/config.spec.ts +11 -0
- package/src/embed/app.spec.ts +22 -3
- package/src/embed/app.ts +6 -0
- package/src/embed/embed.spec.ts +2 -0
- package/src/embed/events.spec.ts +3 -0
- package/src/embed/liveboard.spec.ts +46 -6
- package/src/embed/liveboard.ts +34 -2
- package/src/embed/pinboard.spec.ts +8 -6
- package/src/embed/search.spec.ts +11 -1
- package/src/embed/search.ts +20 -1
- package/src/embed/searchEmbed-basic-auth.spec.ts +115 -0
- package/src/embed/ts-embed.spec.ts +51 -5
- package/src/embed/ts-embed.ts +40 -12
- package/src/errors.ts +3 -0
- package/src/react/index.spec.tsx +7 -2
- package/src/react/index.tsx +3 -2
- package/src/test/test-utils.ts +16 -0
- package/src/types.ts +209 -0
- package/src/utils/processTrigger.spec.ts +11 -1
- package/src/utils/processTrigger.ts +36 -12
- package/src/utils.spec.ts +29 -0
- package/src/utils.ts +34 -1
package/dist/tsembed.js
CHANGED
|
@@ -127,6 +127,26 @@
|
|
|
127
127
|
Object.keys(attributes).forEach((key) => {
|
|
128
128
|
element.setAttribute(key, attributes[key].toString());
|
|
129
129
|
});
|
|
130
|
+
};
|
|
131
|
+
const isCloudRelease = (version) => version.endsWith('.cl');
|
|
132
|
+
/* For Search Embed: ReleaseVersionInBeta */
|
|
133
|
+
const checkReleaseVersionInBeta = (releaseVersion, suppressBetaWarning) => {
|
|
134
|
+
if (releaseVersion !== '' && !isCloudRelease(releaseVersion)) {
|
|
135
|
+
const splittedReleaseVersion = releaseVersion.split('.');
|
|
136
|
+
const majorVersion = Number(splittedReleaseVersion[0]);
|
|
137
|
+
const isBetaVersion = majorVersion < 8;
|
|
138
|
+
return !suppressBetaWarning && isBetaVersion;
|
|
139
|
+
}
|
|
140
|
+
return false;
|
|
141
|
+
};
|
|
142
|
+
const getCustomisations = (embedConfig) => {
|
|
143
|
+
const { customCssUrl } = embedConfig;
|
|
144
|
+
let { customisations } = embedConfig;
|
|
145
|
+
customisations = customisations || {};
|
|
146
|
+
customisations.style = customisations.style || {};
|
|
147
|
+
customisations.style.customCSSUrl =
|
|
148
|
+
customisations.style.customCSSUrl || customCssUrl;
|
|
149
|
+
return customisations;
|
|
130
150
|
};
|
|
131
151
|
|
|
132
152
|
/**
|
|
@@ -144,8 +164,13 @@
|
|
|
144
164
|
AuthType["None"] = "None";
|
|
145
165
|
/**
|
|
146
166
|
* SSO using SAML
|
|
167
|
+
* @deprecated Use {@link SAML} instead
|
|
147
168
|
*/
|
|
148
169
|
AuthType["SSO"] = "SSO_SAML";
|
|
170
|
+
/**
|
|
171
|
+
* SSO using SAML
|
|
172
|
+
*/
|
|
173
|
+
AuthType["SAML"] = "SSO_SAML";
|
|
149
174
|
/**
|
|
150
175
|
* SSO using OIDC
|
|
151
176
|
*/
|
|
@@ -462,6 +487,65 @@
|
|
|
462
487
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl
|
|
463
488
|
*/
|
|
464
489
|
EmbedEvent["AnswerChartSwitcher"] = "answerChartSwitcher";
|
|
490
|
+
/**
|
|
491
|
+
*
|
|
492
|
+
*/
|
|
493
|
+
EmbedEvent["APP_INIT"] = "appInit";
|
|
494
|
+
/**
|
|
495
|
+
* Emitted when a user clicks Show Liveboard details on a Liveboard
|
|
496
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
497
|
+
*/
|
|
498
|
+
EmbedEvent["LiveboardInfo"] = "pinboardInfo";
|
|
499
|
+
/**
|
|
500
|
+
* Emitted when a user clicks on the Favorite icon on a Liveboard
|
|
501
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
502
|
+
*/
|
|
503
|
+
EmbedEvent["AddToFavorites"] = "addToFavorites";
|
|
504
|
+
/**
|
|
505
|
+
* Emitted when a user clicks Schedule on a Liveboard
|
|
506
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
507
|
+
*/
|
|
508
|
+
EmbedEvent["Schedule"] = "subscription";
|
|
509
|
+
/**
|
|
510
|
+
* Emitted when a user clicks Edit on a Liveboard or visualization
|
|
511
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
512
|
+
*/
|
|
513
|
+
EmbedEvent["Edit"] = "edit";
|
|
514
|
+
/**
|
|
515
|
+
* Emitted when a user clicks Make a copy on a Liveboard
|
|
516
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
517
|
+
*/
|
|
518
|
+
EmbedEvent["MakeACopy"] = "makeACopy";
|
|
519
|
+
/**
|
|
520
|
+
* Emitted when a user clicks Present on a Liveboard or visualization
|
|
521
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
522
|
+
*/
|
|
523
|
+
EmbedEvent["Present"] = "present";
|
|
524
|
+
/**
|
|
525
|
+
* Emitted when a user clicks Delete on a Liveboard
|
|
526
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
527
|
+
*/
|
|
528
|
+
EmbedEvent["Delete"] = "delete";
|
|
529
|
+
/**
|
|
530
|
+
* Emitted when a user clicks Manage schedules on a Liveboard
|
|
531
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
532
|
+
*/
|
|
533
|
+
EmbedEvent["SchedulesList"] = "schedule-list";
|
|
534
|
+
/**
|
|
535
|
+
* Emitted when a user clicks Cancel in edit mode on a Liveboard
|
|
536
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
537
|
+
*/
|
|
538
|
+
EmbedEvent["Cancel"] = "cancel";
|
|
539
|
+
/**
|
|
540
|
+
* Emitted when a user clicks Explore on a visualization
|
|
541
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
542
|
+
*/
|
|
543
|
+
EmbedEvent["Explore"] = "explore";
|
|
544
|
+
/**
|
|
545
|
+
* Emitted when a user clicks Copy link action on a visualization
|
|
546
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
547
|
+
*/
|
|
548
|
+
EmbedEvent["CopyLink"] = "embedDocument";
|
|
465
549
|
})(exports.EmbedEvent || (exports.EmbedEvent = {}));
|
|
466
550
|
(function (HostEvent) {
|
|
467
551
|
/**
|
|
@@ -510,6 +594,112 @@
|
|
|
510
594
|
* @version SDK: 1.12.0 | ThoughtSpot: 8.4.0.cl
|
|
511
595
|
*/
|
|
512
596
|
HostEvent["Navigate"] = "Navigate";
|
|
597
|
+
/**
|
|
598
|
+
* Gets the current pinboard content.
|
|
599
|
+
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl
|
|
600
|
+
*/
|
|
601
|
+
HostEvent["getExportRequestForCurrentPinboard"] = "getExportRequestForCurrentPinboard";
|
|
602
|
+
/**
|
|
603
|
+
* Triggers the Pin action on an embedded object
|
|
604
|
+
* @param - incase of Liveboard embed, takes in an object with vizId as a key
|
|
605
|
+
* can be left empty for search and visualization embeds
|
|
606
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
607
|
+
*/
|
|
608
|
+
HostEvent["Pin"] = "pin";
|
|
609
|
+
/**
|
|
610
|
+
* Triggers the Show Liveboard details action on a Liveboard
|
|
611
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
612
|
+
*/
|
|
613
|
+
HostEvent["LiveboardInfo"] = "pinboardInfo";
|
|
614
|
+
/**
|
|
615
|
+
* Triggers the Schedule action on a Liveboard
|
|
616
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
617
|
+
*/
|
|
618
|
+
HostEvent["Schedule"] = "subscription";
|
|
619
|
+
/**
|
|
620
|
+
* Triggers the Manage schedule action on a Liveboard
|
|
621
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
622
|
+
*/
|
|
623
|
+
HostEvent["SchedulesList"] = "schedule-list";
|
|
624
|
+
/**
|
|
625
|
+
* Triggers the Export TML action on a Liveboard
|
|
626
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
627
|
+
*/
|
|
628
|
+
HostEvent["ExportTML"] = "exportTSL";
|
|
629
|
+
/**
|
|
630
|
+
* Triggers the Edit TML action on a Liveboard
|
|
631
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
632
|
+
*/
|
|
633
|
+
HostEvent["EditTML"] = "editTSL";
|
|
634
|
+
/**
|
|
635
|
+
* Triggers the Update TML action on a Liveboard
|
|
636
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
637
|
+
*/
|
|
638
|
+
HostEvent["UpdateTML"] = "updateTSL";
|
|
639
|
+
/**
|
|
640
|
+
* Triggers the Download PDF action on a Liveboard
|
|
641
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
642
|
+
*/
|
|
643
|
+
HostEvent["DownloadAsPdf"] = "downloadAsPdf";
|
|
644
|
+
/**
|
|
645
|
+
* Triggers the Make a copy action on a Liveboard
|
|
646
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
647
|
+
*/
|
|
648
|
+
HostEvent["MakeACopy"] = "makeACopy";
|
|
649
|
+
/**
|
|
650
|
+
* Triggers the Delete action on a Liveboard
|
|
651
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
652
|
+
*/
|
|
653
|
+
HostEvent["Remove"] = "delete";
|
|
654
|
+
/**
|
|
655
|
+
* Triggers the Explore action on a visualization
|
|
656
|
+
* @param - an object with vizId as a key
|
|
657
|
+
* eg: {vizId: '730496d6-6903-4601-937e-2c691821af3c'}
|
|
658
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
659
|
+
*/
|
|
660
|
+
HostEvent["Explore"] = "explore";
|
|
661
|
+
/**
|
|
662
|
+
* Triggers the Create alert action on a visualization
|
|
663
|
+
* @param - an object with vizId as a key
|
|
664
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
665
|
+
*/
|
|
666
|
+
HostEvent["CreateMonitor"] = "createMonitor";
|
|
667
|
+
/**
|
|
668
|
+
* Triggers the Manage alert action on a visualization
|
|
669
|
+
* @param - an object with vizId as a key
|
|
670
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
671
|
+
*/
|
|
672
|
+
HostEvent["ManageMonitor"] = "manageMonitor";
|
|
673
|
+
/**
|
|
674
|
+
* Triggers the Edit action on a Liveboard or visualization
|
|
675
|
+
* @param - object - to trigger the action for a specfic visualization in Liveboard embed, pass in vizId as a key
|
|
676
|
+
* @example
|
|
677
|
+
* liveboardEmbed.trigger(HostEvent.Edit)
|
|
678
|
+
* liveboardEmbed.trigger(HostEvent.Edit, {vizId: '730496d6-6903-4601-937e-2c691821af3c'})
|
|
679
|
+
* vizEmbed.trigger((HostEvent.Edit)
|
|
680
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
681
|
+
*/
|
|
682
|
+
HostEvent["Edit"] = "edit";
|
|
683
|
+
/**
|
|
684
|
+
* Triggers the Copy link action on a Liveboard or visualization
|
|
685
|
+
* @param - object - to trigger the action for a specfic visualization in Liveboard embed, pass in vizId as a key
|
|
686
|
+
* @example
|
|
687
|
+
* liveboardEmbed.trigger(HostEvent.CopyLink)
|
|
688
|
+
* liveboardEmbed.trigger(HostEvent.CopyLink, {vizId: '730496d6-6903-4601-937e-2c691821af3c'})
|
|
689
|
+
* vizEmbed.trigger((HostEvent.CopyLink)
|
|
690
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
691
|
+
*/
|
|
692
|
+
HostEvent["CopyLink"] = "embedDocument";
|
|
693
|
+
/**
|
|
694
|
+
* Triggers the Present action on a Liveboard or visualization
|
|
695
|
+
* @param - object - to trigger the action for a specfic visualization in Liveboard embed, pass in vizId as a key
|
|
696
|
+
* @example
|
|
697
|
+
* liveboardEmbed.trigger(HostEvent.Present)
|
|
698
|
+
* liveboardEmbed.trigger(HostEvent.Present, {vizId: '730496d6-6903-4601-937e-2c691821af3c'})
|
|
699
|
+
* vizEmbed.trigger((HostEvent.Present)
|
|
700
|
+
* @version SDK: 1.15.0 | ThoughtSpot: 8.7.0.cl
|
|
701
|
+
*/
|
|
702
|
+
HostEvent["Present"] = "present";
|
|
513
703
|
})(exports.HostEvent || (exports.HostEvent = {}));
|
|
514
704
|
(function (DataSourceVisualMode) {
|
|
515
705
|
/**
|
|
@@ -552,6 +742,7 @@
|
|
|
552
742
|
Param["fullHeight"] = "isFullHeightPinboard";
|
|
553
743
|
Param["livedBoardEmbed"] = "isLiveboardEmbed";
|
|
554
744
|
Param["searchEmbed"] = "isSearchEmbed";
|
|
745
|
+
Param["vizEmbed"] = "isVizEmbed";
|
|
555
746
|
Param["Version"] = "sdkVersion";
|
|
556
747
|
Param["ViewPortHeight"] = "viewPortHeight";
|
|
557
748
|
Param["ViewPortWidth"] = "viewPortWidth";
|
|
@@ -562,6 +753,7 @@
|
|
|
562
753
|
Param["LiveboardV2Enabled"] = "isPinboardV2Enabled";
|
|
563
754
|
Param["ShowAlerts"] = "showAlerts";
|
|
564
755
|
Param["Locale"] = "locale";
|
|
756
|
+
Param["CustomStyle"] = "customStyle";
|
|
565
757
|
})(Param || (Param = {}));
|
|
566
758
|
(function (Action) {
|
|
567
759
|
Action["Save"] = "save";
|
|
@@ -698,6 +890,10 @@
|
|
|
698
890
|
* @version SDK: 1.11.0 | ThoughtSpot: 8.3.0.cl
|
|
699
891
|
*/
|
|
700
892
|
Action["CreateMonitor"] = "createMonitor";
|
|
893
|
+
/**
|
|
894
|
+
* @version SDK: 1.11.1 | ThoughtSpot: 8.3.0.cl
|
|
895
|
+
*/
|
|
896
|
+
Action["ReportError"] = "reportError";
|
|
701
897
|
})(exports.Action || (exports.Action = {}));
|
|
702
898
|
// eslint-disable-next-line no-shadow
|
|
703
899
|
var OperationType;
|
|
@@ -709,6 +905,8 @@
|
|
|
709
905
|
const ERROR_MESSAGE = {
|
|
710
906
|
INVALID_THOUGHTSPOT_HOST: 'Error parsing ThoughtSpot host. Please provide a valid URL.',
|
|
711
907
|
LIVEBOARD_VIZ_ID_VALIDATION: 'Please provide either liveboardId or pinboardId',
|
|
908
|
+
TRIGGER_TIMED_OUT: 'Trigger timedout in getting response',
|
|
909
|
+
SEARCHEMBED_BETA_WRANING_MESSAGE: 'Search Embed is in Beta in this release.',
|
|
712
910
|
};
|
|
713
911
|
|
|
714
912
|
/**
|
|
@@ -7196,8 +7394,8 @@
|
|
|
7196
7394
|
let samlAuthWindow = null;
|
|
7197
7395
|
// eslint-disable-next-line import/no-mutable-exports
|
|
7198
7396
|
let samlCompletionPromise = null;
|
|
7199
|
-
// eslint-disable-next-line import/no-mutable-exports
|
|
7200
7397
|
let sessionInfo = null;
|
|
7398
|
+
let releaseVersion = '';
|
|
7201
7399
|
const SSO_REDIRECTION_MARKER_GUID = '5e16222e-ef02-43e9-9fbd-24226bf3ce5b';
|
|
7202
7400
|
const EndPoints = {
|
|
7203
7401
|
AUTH_VERIFICATION: '/callosum/v1/session/info',
|
|
@@ -7240,12 +7438,20 @@
|
|
|
7240
7438
|
let response = null;
|
|
7241
7439
|
try {
|
|
7242
7440
|
response = await fetchSessionInfoService(authVerificationUrl);
|
|
7441
|
+
const sessionInfoResp = await response.json();
|
|
7442
|
+
releaseVersion = sessionInfoResp.releaseVersion;
|
|
7243
7443
|
}
|
|
7244
7444
|
catch (e) {
|
|
7245
7445
|
return false;
|
|
7246
7446
|
}
|
|
7247
7447
|
return response.status === 200;
|
|
7248
7448
|
}
|
|
7449
|
+
/**
|
|
7450
|
+
* Return releaseVersion if available
|
|
7451
|
+
*/
|
|
7452
|
+
function getReleaseVersion() {
|
|
7453
|
+
return releaseVersion;
|
|
7454
|
+
}
|
|
7249
7455
|
function initSession(sessionDetails) {
|
|
7250
7456
|
sessionInfo = sessionDetails;
|
|
7251
7457
|
initMixpanel(sessionInfo);
|
|
@@ -7422,6 +7628,7 @@
|
|
|
7422
7628
|
const { authType } = embedConfig;
|
|
7423
7629
|
switch (authType) {
|
|
7424
7630
|
case exports.AuthType.SSO:
|
|
7631
|
+
case exports.AuthType.SAML:
|
|
7425
7632
|
return doSamlAuth(embedConfig);
|
|
7426
7633
|
case exports.AuthType.OIDC:
|
|
7427
7634
|
return doOIDCAuth(embedConfig);
|
|
@@ -7716,19 +7923,38 @@
|
|
|
7716
7923
|
/**
|
|
7717
7924
|
* Post Iframe message.
|
|
7718
7925
|
*/
|
|
7719
|
-
function postIframeMessage(iFrame, message, thoughtSpotHost) {
|
|
7720
|
-
return iFrame.contentWindow.postMessage(message, thoughtSpotHost
|
|
7926
|
+
function postIframeMessage(iFrame, message, thoughtSpotHost, channel) {
|
|
7927
|
+
return iFrame.contentWindow.postMessage(message, thoughtSpotHost, [
|
|
7928
|
+
channel === null || channel === void 0 ? void 0 : channel.port2,
|
|
7929
|
+
]);
|
|
7721
7930
|
}
|
|
7931
|
+
const TRIGGER_TIMEOUT = 30000;
|
|
7722
7932
|
function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
|
|
7723
|
-
|
|
7724
|
-
|
|
7725
|
-
|
|
7726
|
-
|
|
7727
|
-
|
|
7728
|
-
|
|
7933
|
+
return new Promise((res, rej) => {
|
|
7934
|
+
if (messageType === exports.HostEvent.Reload) {
|
|
7935
|
+
reload(iFrame);
|
|
7936
|
+
return res(null);
|
|
7937
|
+
}
|
|
7938
|
+
const channel = new MessageChannel();
|
|
7939
|
+
channel.port1.onmessage = ({ data: responseData }) => {
|
|
7940
|
+
channel.port1.close();
|
|
7941
|
+
if (responseData.error) {
|
|
7942
|
+
rej(responseData.error);
|
|
7943
|
+
}
|
|
7944
|
+
else {
|
|
7945
|
+
res(responseData);
|
|
7946
|
+
}
|
|
7947
|
+
};
|
|
7948
|
+
// Close the messageChannel and resolve the promise if timeout.
|
|
7949
|
+
setTimeout(() => {
|
|
7950
|
+
channel.port1.close();
|
|
7951
|
+
res(new Error(ERROR_MESSAGE.TRIGGER_TIMED_OUT));
|
|
7952
|
+
}, TRIGGER_TIMEOUT);
|
|
7953
|
+
return postIframeMessage(iFrame, { type: messageType, data }, thoughtSpotHost, channel);
|
|
7954
|
+
});
|
|
7729
7955
|
}
|
|
7730
7956
|
|
|
7731
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.13.0
|
|
7957
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.13.0";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports$1={".":"./lib/src/index.js","./react":"./lib/src/react/index.js"};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs && npx istanbul-merge --out ./coverage/coverage.json ./coverage/docs/coverage-final.json ./coverage/sdk/coverage-final.json && npx istanbul report --include ./coverage/coverage.json --dir ./coverage lcov",posttest:"cat ./coverage/sdk/lcov.info | coveralls",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1",eventemitter3:"^4.0.7","html-react-parser":"^1.4.12","mixpanel-browser":"^2.45.0","use-deep-compare-effect":"^1.8.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","dts-bundle":"0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.1.0","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"4.1.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^4.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-neo-theme":"^1.1.0","typedoc-plugin-toc-group":"0.0.5",typescript:"^4.1.0","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports$1,scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
|
|
7732
7958
|
|
|
7733
7959
|
/**
|
|
7734
7960
|
* Copyright (c) 2022
|
|
@@ -7766,6 +7992,22 @@
|
|
|
7766
7992
|
* @default false
|
|
7767
7993
|
*/
|
|
7768
7994
|
this.shouldEncodeUrlQueryParams = false;
|
|
7995
|
+
this.defaultHiddenActions = [exports.Action.ReportError];
|
|
7996
|
+
/**
|
|
7997
|
+
* Send Custom style as part of payload of APP_INIT
|
|
7998
|
+
*/
|
|
7999
|
+
this.appInitCb = (_, responder) => {
|
|
8000
|
+
responder({
|
|
8001
|
+
type: exports.EmbedEvent.APP_INIT,
|
|
8002
|
+
data: { customisations: getCustomisations(this.embedConfig) },
|
|
8003
|
+
});
|
|
8004
|
+
};
|
|
8005
|
+
/**
|
|
8006
|
+
* Register APP_INIT event and sendback init payload
|
|
8007
|
+
*/
|
|
8008
|
+
this.registerAppInit = () => {
|
|
8009
|
+
this.on(exports.EmbedEvent.APP_INIT, this.appInitCb);
|
|
8010
|
+
};
|
|
7769
8011
|
this.el = this.getDOMNode(domSelector);
|
|
7770
8012
|
// TODO: handle error
|
|
7771
8013
|
this.embedConfig = getEmbedConfig();
|
|
@@ -7775,6 +8017,7 @@
|
|
|
7775
8017
|
this.isError = false;
|
|
7776
8018
|
this.viewConfig = viewConfig;
|
|
7777
8019
|
this.shouldEncodeUrlQueryParams = this.embedConfig.shouldEncodeUrlQueryParams;
|
|
8020
|
+
this.registerAppInit();
|
|
7778
8021
|
}
|
|
7779
8022
|
/**
|
|
7780
8023
|
* Gets a reference to the root DOM node where
|
|
@@ -7802,7 +8045,7 @@
|
|
|
7802
8045
|
error,
|
|
7803
8046
|
});
|
|
7804
8047
|
// Log error
|
|
7805
|
-
console.
|
|
8048
|
+
console.error(error);
|
|
7806
8049
|
}
|
|
7807
8050
|
/**
|
|
7808
8051
|
* Extracts the type field from the event payload
|
|
@@ -7894,6 +8137,7 @@
|
|
|
7894
8137
|
this.embedConfig.autoLogin === true) {
|
|
7895
8138
|
queryParams[Param.DisableLoginRedirect] = true;
|
|
7896
8139
|
}
|
|
8140
|
+
// TODO remove this
|
|
7897
8141
|
if (this.embedConfig.customCssUrl) {
|
|
7898
8142
|
queryParams[Param.CustomCSSUrl] = this.embedConfig.customCssUrl;
|
|
7899
8143
|
}
|
|
@@ -7908,9 +8152,10 @@
|
|
|
7908
8152
|
if (disabledActionReason) {
|
|
7909
8153
|
queryParams[Param.DisableActionReason] = disabledActionReason;
|
|
7910
8154
|
}
|
|
7911
|
-
|
|
7912
|
-
|
|
7913
|
-
|
|
8155
|
+
queryParams[Param.HideActions] = [
|
|
8156
|
+
...this.defaultHiddenActions,
|
|
8157
|
+
...(hiddenActions !== null && hiddenActions !== void 0 ? hiddenActions : []),
|
|
8158
|
+
];
|
|
7914
8159
|
if (Array.isArray(visibleActions)) {
|
|
7915
8160
|
queryParams[Param.VisibleActions] = visibleActions;
|
|
7916
8161
|
}
|
|
@@ -7932,11 +8177,12 @@
|
|
|
7932
8177
|
* @param isAppEmbed A Boolean parameter to specify if you are embedding
|
|
7933
8178
|
* the full application.
|
|
7934
8179
|
*/
|
|
7935
|
-
getV1EmbedBasePath(queryString, showPrimaryNavbar = false, disableProfileAndHelp = false, isAppEmbed = false) {
|
|
8180
|
+
getV1EmbedBasePath(queryString, showPrimaryNavbar = false, disableProfileAndHelp = false, isAppEmbed = false, enableSearchAssist = false) {
|
|
7936
8181
|
const queryStringFrag = queryString ? `&${queryString}` : '';
|
|
7937
8182
|
const primaryNavParam = `&primaryNavHidden=${!showPrimaryNavbar}`;
|
|
7938
8183
|
const disableProfileAndHelpParam = `&profileAndHelpInNavBarHidden=${disableProfileAndHelp}`;
|
|
7939
|
-
|
|
8184
|
+
const enableSearchAssistParam = `&${Param.EnableSearchAssist}=${enableSearchAssist}`;
|
|
8185
|
+
let queryParams = `?embedApp=true${isAppEmbed ? primaryNavParam : ''}${isAppEmbed ? disableProfileAndHelpParam : ''}${enableSearchAssist ? enableSearchAssistParam : ''}${queryStringFrag}`;
|
|
7940
8186
|
if (this.shouldEncodeUrlQueryParams) {
|
|
7941
8187
|
queryParams = `?base64UrlEncodedFlags=${getEncodedQueryParamsString(queryParams.substr(1))}`;
|
|
7942
8188
|
}
|
|
@@ -8155,9 +8401,8 @@
|
|
|
8155
8401
|
* @param data The payload to send with the message
|
|
8156
8402
|
*/
|
|
8157
8403
|
trigger(messageType, data) {
|
|
8158
|
-
processTrigger(this.iFrame, messageType, this.thoughtSpotHost, data);
|
|
8159
8404
|
uploadMixpanelEvent(`${MIXPANEL_EVENT.VISUAL_SDK_TRIGGER}-${messageType}`);
|
|
8160
|
-
return this;
|
|
8405
|
+
return processTrigger(this.iFrame, messageType, this.thoughtSpotHost, data);
|
|
8161
8406
|
}
|
|
8162
8407
|
/**
|
|
8163
8408
|
* Marks the ThoughtSpot object to have been rendered
|
|
@@ -8294,7 +8539,7 @@
|
|
|
8294
8539
|
const queryString = [filterQuery, queryParams]
|
|
8295
8540
|
.filter(Boolean)
|
|
8296
8541
|
.join('&');
|
|
8297
|
-
let url = `${this.getV1EmbedBasePath(queryString, this.viewConfig.showPrimaryNavbar, this.viewConfig.disableProfileAndHelp, true)}/${pageId}`;
|
|
8542
|
+
let url = `${this.getV1EmbedBasePath(queryString, this.viewConfig.showPrimaryNavbar, this.viewConfig.disableProfileAndHelp, true, this.viewConfig.enableSearchAssist)}/${pageId}`;
|
|
8298
8543
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
8299
8544
|
url = `${url}${tsPostHashParams}`;
|
|
8300
8545
|
return url;
|
|
@@ -8422,7 +8667,7 @@
|
|
|
8422
8667
|
*/
|
|
8423
8668
|
getEmbedParams() {
|
|
8424
8669
|
const params = this.getBaseQueryParams();
|
|
8425
|
-
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2 = false, } = this.viewConfig;
|
|
8670
|
+
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2 = false, vizId, activeTabId, } = this.viewConfig;
|
|
8426
8671
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval ||
|
|
8427
8672
|
this.viewConfig.preventPinboardFilterRemoval;
|
|
8428
8673
|
if (fullHeight === true) {
|
|
@@ -8441,6 +8686,9 @@
|
|
|
8441
8686
|
params[Param.visibleVizs] = visibleVizs;
|
|
8442
8687
|
}
|
|
8443
8688
|
params[Param.livedBoardEmbed] = true;
|
|
8689
|
+
if (vizId) {
|
|
8690
|
+
params[Param.vizEmbed] = true;
|
|
8691
|
+
}
|
|
8444
8692
|
params[Param.LiveboardV2Enabled] = liveboardV2;
|
|
8445
8693
|
const queryParams = getQueryParamString(params, true);
|
|
8446
8694
|
return queryParams;
|
|
@@ -8453,13 +8701,16 @@
|
|
|
8453
8701
|
* @param runtimeFilters A list of runtime filters to be applied to
|
|
8454
8702
|
* the Liveboard or visualization on load.
|
|
8455
8703
|
*/
|
|
8456
|
-
getIFrameSrc(liveboardId, vizId, runtimeFilters) {
|
|
8704
|
+
getIFrameSrc(liveboardId, vizId, runtimeFilters, activeTabId) {
|
|
8457
8705
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
8458
8706
|
const queryParams = this.getEmbedParams();
|
|
8459
8707
|
const queryString = [filterQuery, queryParams]
|
|
8460
8708
|
.filter(Boolean)
|
|
8461
8709
|
.join('&');
|
|
8462
8710
|
let url = `${this.getV1EmbedBasePath(queryString, true, false, false)}/viz/${liveboardId}`;
|
|
8711
|
+
if (activeTabId) {
|
|
8712
|
+
url = `${url}/tab/${activeTabId}`;
|
|
8713
|
+
}
|
|
8463
8714
|
if (vizId) {
|
|
8464
8715
|
url = `${url}/${vizId}`;
|
|
8465
8716
|
}
|
|
@@ -8467,6 +8718,18 @@
|
|
|
8467
8718
|
url = `${url}${tsPostHashParams}`;
|
|
8468
8719
|
return url;
|
|
8469
8720
|
}
|
|
8721
|
+
/**
|
|
8722
|
+
* Triggers an event to the embedded app
|
|
8723
|
+
* @param messageType The event type
|
|
8724
|
+
* @param data The payload to send with the message
|
|
8725
|
+
*/
|
|
8726
|
+
trigger(messageType, data = {}) {
|
|
8727
|
+
const dataWithVizId = data;
|
|
8728
|
+
if (this.viewConfig.vizId) {
|
|
8729
|
+
dataWithVizId.vizId = this.viewConfig.vizId;
|
|
8730
|
+
}
|
|
8731
|
+
return super.trigger(messageType, dataWithVizId);
|
|
8732
|
+
}
|
|
8470
8733
|
/**
|
|
8471
8734
|
* Render an embedded ThoughtSpot Liveboard or visualization
|
|
8472
8735
|
* @param renderOptions An object specifying the Liveboard ID,
|
|
@@ -8474,7 +8737,7 @@
|
|
|
8474
8737
|
*/
|
|
8475
8738
|
render() {
|
|
8476
8739
|
var _a;
|
|
8477
|
-
const { vizId, runtimeFilters } = this.viewConfig;
|
|
8740
|
+
const { vizId, activeTabId, runtimeFilters } = this.viewConfig;
|
|
8478
8741
|
const liveboardId = (_a = this.viewConfig.liveboardId) !== null && _a !== void 0 ? _a : this.viewConfig.pinboardId;
|
|
8479
8742
|
if (!liveboardId) {
|
|
8480
8743
|
this.handleError(ERROR_MESSAGE.LIVEBOARD_VIZ_ID_VALIDATION);
|
|
@@ -8485,7 +8748,7 @@
|
|
|
8485
8748
|
this.on(exports.EmbedEvent.EmbedIframeCenter, this.embedIframeCenter);
|
|
8486
8749
|
}
|
|
8487
8750
|
super.render();
|
|
8488
|
-
const src = this.getIFrameSrc(liveboardId, vizId, runtimeFilters);
|
|
8751
|
+
const src = this.getIFrameSrc(liveboardId, vizId, runtimeFilters, activeTabId);
|
|
8489
8752
|
this.renderV1Embed(src);
|
|
8490
8753
|
return this;
|
|
8491
8754
|
}
|
|
@@ -8543,7 +8806,7 @@
|
|
|
8543
8806
|
*/
|
|
8544
8807
|
getIFrameSrc(answerId, dataSources) {
|
|
8545
8808
|
var _a;
|
|
8546
|
-
const { hideResults, enableSearchAssist, forceTable, searchOptions, } = this.viewConfig;
|
|
8809
|
+
const { hideResults, expandAllDataSource, enableSearchAssist, forceTable, searchOptions, } = this.viewConfig;
|
|
8547
8810
|
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
8548
8811
|
const queryParams = this.getBaseQueryParams();
|
|
8549
8812
|
queryParams[Param.HideActions] = [
|
|
@@ -8587,6 +8850,11 @@
|
|
|
8587
8850
|
const { answerId, dataSources } = this.viewConfig;
|
|
8588
8851
|
const src = this.getIFrameSrc(answerId, dataSources);
|
|
8589
8852
|
this.renderIFrame(src, this.viewConfig.frameParams);
|
|
8853
|
+
getAuthPromise().then(() => {
|
|
8854
|
+
if (checkReleaseVersionInBeta(getReleaseVersion(), getEmbedConfig().suppressSearchEmbedBetaWarning)) {
|
|
8855
|
+
alert(ERROR_MESSAGE.SEARCHEMBED_BETA_WRANING_MESSAGE);
|
|
8856
|
+
}
|
|
8857
|
+
});
|
|
8590
8858
|
return this;
|
|
8591
8859
|
}
|
|
8592
8860
|
}
|
package/lib/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.13.0
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -45,7 +45,9 @@
|
|
|
45
45
|
"algoliasearch": "^4.10.5",
|
|
46
46
|
"classnames": "^2.3.1",
|
|
47
47
|
"eventemitter3": "^4.0.7",
|
|
48
|
-
"
|
|
48
|
+
"html-react-parser": "^1.4.12",
|
|
49
|
+
"mixpanel-browser": "^2.45.0",
|
|
50
|
+
"use-deep-compare-effect": "^1.8.1"
|
|
49
51
|
},
|
|
50
52
|
"devDependencies": {
|
|
51
53
|
"@mdx-js/mdx": "^1.6.22",
|
package/lib/src/auth.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { EmbedConfig } from './types';
|
|
|
2
2
|
export declare let loggedInStatus: boolean;
|
|
3
3
|
export declare let samlAuthWindow: Window;
|
|
4
4
|
export declare let samlCompletionPromise: Promise<void>;
|
|
5
|
-
export declare let sessionInfo: any;
|
|
6
5
|
export declare const SSO_REDIRECTION_MARKER_GUID = "5e16222e-ef02-43e9-9fbd-24226bf3ce5b";
|
|
7
6
|
export declare const EndPoints: {
|
|
8
7
|
AUTH_VERIFICATION: string;
|
|
@@ -36,6 +35,10 @@ export declare enum AuthStatus {
|
|
|
36
35
|
*/
|
|
37
36
|
LOGOUT = "LOGOUT"
|
|
38
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Return releaseVersion if available
|
|
40
|
+
*/
|
|
41
|
+
export declare function getReleaseVersion(): string;
|
|
39
42
|
/**
|
|
40
43
|
* Return sessionInfo if available else make a loggedIn check to fetch the sessionInfo
|
|
41
44
|
*/
|
package/lib/src/auth.js
CHANGED
|
@@ -9,8 +9,8 @@ export let loggedInStatus = false;
|
|
|
9
9
|
export let samlAuthWindow = null;
|
|
10
10
|
// eslint-disable-next-line import/no-mutable-exports
|
|
11
11
|
export let samlCompletionPromise = null;
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let sessionInfo = null;
|
|
13
|
+
let releaseVersion = '';
|
|
14
14
|
export const SSO_REDIRECTION_MARKER_GUID = '5e16222e-ef02-43e9-9fbd-24226bf3ce5b';
|
|
15
15
|
export const EndPoints = {
|
|
16
16
|
AUTH_VERIFICATION: '/callosum/v1/session/info',
|
|
@@ -55,12 +55,20 @@ async function isLoggedIn(thoughtSpotHost) {
|
|
|
55
55
|
let response = null;
|
|
56
56
|
try {
|
|
57
57
|
response = await fetchSessionInfoService(authVerificationUrl);
|
|
58
|
+
const sessionInfoResp = await response.json();
|
|
59
|
+
releaseVersion = sessionInfoResp.releaseVersion;
|
|
58
60
|
}
|
|
59
61
|
catch (e) {
|
|
60
62
|
return false;
|
|
61
63
|
}
|
|
62
64
|
return response.status === 200;
|
|
63
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Return releaseVersion if available
|
|
68
|
+
*/
|
|
69
|
+
export function getReleaseVersion() {
|
|
70
|
+
return releaseVersion;
|
|
71
|
+
}
|
|
64
72
|
/**
|
|
65
73
|
* Return sessionInfo if available else make a loggedIn check to fetch the sessionInfo
|
|
66
74
|
*/
|
|
@@ -243,6 +251,7 @@ export const authenticate = async (embedConfig) => {
|
|
|
243
251
|
const { authType } = embedConfig;
|
|
244
252
|
switch (authType) {
|
|
245
253
|
case AuthType.SSO:
|
|
254
|
+
case AuthType.SAML:
|
|
246
255
|
return doSamlAuth(embedConfig);
|
|
247
256
|
case AuthType.OIDC:
|
|
248
257
|
return doOIDCAuth(embedConfig);
|
package/lib/src/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAe,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,2CAA2C;AAC3C,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,qDAAqD;AACrD,MAAM,CAAC,IAAI,cAAc,GAAG,KAAK,CAAC;AAClC,qDAAqD;AACrD,MAAM,CAAC,IAAI,cAAc,GAAW,IAAI,CAAC;AACzC,qDAAqD;AACrD,MAAM,CAAC,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AACvD,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth.ts"],"names":[],"mappings":"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"}
|