@thoughtspot/visual-embed-sdk 1.24.0-dev → 1.24.0-preRender.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 +2 -3
- package/cjs/src/embed/TsEmbed.d.ts +302 -0
- package/cjs/src/embed/TsEmbed.d.ts.map +1 -0
- package/cjs/src/embed/TsEmbed.js +851 -0
- package/cjs/src/embed/TsEmbed.js.map +1 -0
- package/cjs/src/embed/app.d.ts +4 -1
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +9 -2
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/base.d.ts +2 -0
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +2 -0
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +3 -2
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +6 -5
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +4 -1
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +9 -2
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +1 -0
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js +1 -0
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +5 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +10 -2
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +14 -7
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +94 -63
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +47 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +3 -2
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +2 -0
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/mixpanel-service.spec.js +1 -0
- package/cjs/src/mixpanel-service.spec.js.map +1 -1
- package/cjs/src/react/index.d.ts +5 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +8 -8
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +60 -19
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +7 -13
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +5 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.js +80 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +61 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -0
- package/cjs/src/utils/graphql/answerService/answerService.js +182 -0
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.js +201 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.d.ts +15 -0
- package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.js +40 -0
- package/cjs/src/utils/graphql/graphql-request.js.map +1 -0
- package/cjs/src/utils/graphql/sourceService.d.ts +8 -0
- package/cjs/src/utils/graphql/sourceService.d.ts.map +1 -0
- package/cjs/src/utils/graphql/sourceService.js +69 -0
- package/cjs/src/utils/graphql/sourceService.js.map +1 -0
- package/cjs/src/utils/graphql/sourceService.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/sourceService.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/sourceService.spec.js +12 -0
- package/cjs/src/utils/graphql/sourceService.spec.js.map +1 -0
- package/cjs/src/utils/processData.d.ts.map +1 -1
- package/cjs/src/utils/processData.js +7 -11
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +13 -17
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/cjs/src/utils.d.ts +6 -0
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +26 -1
- package/cjs/src/utils.js.map +1 -1
- package/dist/src/embed/app.d.ts +4 -1
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +2 -0
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +3 -2
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +4 -1
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +1 -0
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +5 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +14 -7
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +5 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +60 -19
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts +5 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts +61 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -0
- package/dist/src/utils/graphql/answerService/answerService.spec.d.ts +2 -0
- package/dist/src/utils/graphql/answerService/answerService.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/graphql-request.d.ts +15 -0
- package/dist/src/utils/graphql/graphql-request.d.ts.map +1 -0
- package/dist/src/utils/graphql/sourceService.d.ts +8 -0
- package/dist/src/utils/graphql/sourceService.d.ts.map +1 -0
- package/dist/src/utils/graphql/sourceService.spec.d.ts +2 -0
- package/dist/src/utils/graphql/sourceService.spec.d.ts.map +1 -0
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +513 -150
- package/dist/tsembed-react.js +516 -149
- package/dist/tsembed.es.js +556 -146
- package/dist/tsembed.js +556 -145
- package/dist/visual-embed-sdk-react-full.d.ts +152 -33
- package/dist/visual-embed-sdk-react.d.ts +152 -33
- package/dist/visual-embed-sdk.d.ts +147 -32
- package/lib/package.json +2 -3
- package/lib/src/embed/TsEmbed.d.ts +302 -0
- package/lib/src/embed/TsEmbed.d.ts.map +1 -0
- package/lib/src/embed/TsEmbed.js +847 -0
- package/lib/src/embed/TsEmbed.js.map +1 -0
- package/lib/src/embed/app.d.ts +4 -1
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +9 -2
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/base.d.ts +2 -0
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +2 -0
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +3 -2
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +6 -5
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/sage.d.ts +4 -1
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +9 -2
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +1 -0
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +1 -0
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +5 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +10 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +14 -7
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +94 -63
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +47 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +3 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +2 -0
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/mixpanel-service.spec.js +1 -0
- package/lib/src/mixpanel-service.spec.js.map +1 -1
- package/lib/src/react/index.d.ts +5 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +7 -7
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +60 -19
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +6 -12
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts +5 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/answerService/answer-queries.js +77 -0
- package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts +61 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -0
- package/lib/src/utils/graphql/answerService/answerService.js +177 -0
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -0
- package/lib/src/utils/graphql/answerService/answerService.spec.d.ts +2 -0
- package/lib/src/utils/graphql/answerService/answerService.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/answerService/answerService.spec.js +199 -0
- package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -0
- package/lib/src/utils/graphql/graphql-request.d.ts +15 -0
- package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -0
- package/lib/src/utils/graphql/graphql-request.js +36 -0
- package/lib/src/utils/graphql/graphql-request.js.map +1 -0
- package/lib/src/utils/graphql/sourceService.d.ts +8 -0
- package/lib/src/utils/graphql/sourceService.d.ts.map +1 -0
- package/lib/src/utils/graphql/sourceService.js +65 -0
- package/lib/src/utils/graphql/sourceService.js.map +1 -0
- package/lib/src/utils/graphql/sourceService.spec.d.ts +2 -0
- package/lib/src/utils/graphql/sourceService.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/sourceService.spec.js +10 -0
- package/lib/src/utils/graphql/sourceService.spec.js.map +1 -0
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +8 -12
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js +14 -18
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils.d.ts +6 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +23 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +153 -33
- package/package.json +2 -3
- package/src/embed/app.ts +13 -6
- package/src/embed/base.ts +2 -0
- package/src/embed/liveboard.ts +7 -5
- package/src/embed/sage.ts +13 -2
- package/src/embed/search-bar.tsx +2 -0
- package/src/embed/search.ts +14 -2
- package/src/embed/ts-embed.spec.ts +49 -0
- package/src/embed/ts-embed.ts +116 -64
- package/src/index.ts +5 -0
- package/src/mixpanel-service.spec.ts +1 -0
- package/src/mixpanel-service.ts +1 -0
- package/src/react/index.tsx +50 -45
- package/src/types.ts +64 -21
- package/src/utils/graphql/answerService/answer-queries.ts +80 -0
- package/src/utils/graphql/answerService/answerService.spec.ts +231 -0
- package/src/utils/graphql/answerService/answerService.ts +234 -0
- package/src/utils/graphql/graphql-request.ts +45 -0
- package/src/utils/graphql/sourceService.spec.ts +10 -0
- package/src/utils/graphql/sourceService.ts +71 -0
- package/src/utils/processData.spec.ts +15 -25
- package/src/utils/processData.ts +13 -15
- package/src/utils.ts +24 -0
- package/src/utils/answerService.spec.ts +0 -41
- package/src/utils/answerService.ts +0 -63
package/dist/tsembed-react.js
CHANGED
|
@@ -361,6 +361,29 @@
|
|
|
361
361
|
return typeof domSelector === 'string' ? document.querySelector(domSelector) : domSelector;
|
|
362
362
|
}
|
|
363
363
|
const deepMerge = (target, source) => merge(target, source);
|
|
364
|
+
const getOperationNameFromQuery = (query) => {
|
|
365
|
+
const regex = /(?:query|mutation)\s+(\w+)/;
|
|
366
|
+
const matches = query.match(regex);
|
|
367
|
+
return matches === null || matches === void 0 ? void 0 : matches[1];
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
*
|
|
371
|
+
* @param obj
|
|
372
|
+
*/
|
|
373
|
+
function removeTypename(obj) {
|
|
374
|
+
if (!obj || typeof obj !== 'object')
|
|
375
|
+
return obj;
|
|
376
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
377
|
+
for (const key in obj) {
|
|
378
|
+
if (key === '__typename') {
|
|
379
|
+
delete obj[key];
|
|
380
|
+
}
|
|
381
|
+
else if (typeof obj[key] === 'object') {
|
|
382
|
+
removeTypename(obj[key]);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return obj;
|
|
386
|
+
}
|
|
364
387
|
const setStyleProperties = (element, styleProperties) => {
|
|
365
388
|
if (!element || !styleProperties)
|
|
366
389
|
return;
|
|
@@ -626,27 +649,27 @@
|
|
|
626
649
|
/**
|
|
627
650
|
* Search bar
|
|
628
651
|
*/
|
|
629
|
-
HomepageModule["Search"] = "
|
|
652
|
+
HomepageModule["Search"] = "SEARCH";
|
|
630
653
|
/**
|
|
631
654
|
* kPI watchlist module
|
|
632
655
|
*/
|
|
633
|
-
HomepageModule["Watchlist"] = "
|
|
656
|
+
HomepageModule["Watchlist"] = "WATCHLIST";
|
|
634
657
|
/**
|
|
635
658
|
* favorite objects
|
|
636
659
|
*/
|
|
637
|
-
HomepageModule["Favorite"] = "
|
|
660
|
+
HomepageModule["Favorite"] = "FAVORITE";
|
|
638
661
|
/**
|
|
639
662
|
* List of answers and liveboards
|
|
640
663
|
*/
|
|
641
|
-
HomepageModule["MyLibrary"] = "
|
|
664
|
+
HomepageModule["MyLibrary"] = "MY_LIBRARY";
|
|
642
665
|
/**
|
|
643
666
|
* Trending list
|
|
644
667
|
*/
|
|
645
|
-
HomepageModule["Trending"] = "
|
|
668
|
+
HomepageModule["Trending"] = "TRENDING";
|
|
646
669
|
/**
|
|
647
670
|
* Learning videos
|
|
648
671
|
*/
|
|
649
|
-
HomepageModule["Learning"] = "
|
|
672
|
+
HomepageModule["Learning"] = "LEARNING";
|
|
650
673
|
})(exports.HomepageModule || (exports.HomepageModule = {}));
|
|
651
674
|
(function (EmbedEvent) {
|
|
652
675
|
/**
|
|
@@ -2719,12 +2742,6 @@
|
|
|
2719
2742
|
*/
|
|
2720
2743
|
Action["PersonalisedViewsDropdown"] = "personalisedViewsDropdown";
|
|
2721
2744
|
})(exports.Action || (exports.Action = {}));
|
|
2722
|
-
// eslint-disable-next-line no-shadow
|
|
2723
|
-
var OperationType;
|
|
2724
|
-
(function (OperationType) {
|
|
2725
|
-
OperationType["GetChartWithData"] = "GetChartWithData";
|
|
2726
|
-
OperationType["GetTableWithHeadlineData"] = "GetTableWithHeadlineData";
|
|
2727
|
-
})(OperationType || (OperationType = {}));
|
|
2728
2745
|
var PrefetchFeatures;
|
|
2729
2746
|
(function (PrefetchFeatures) {
|
|
2730
2747
|
PrefetchFeatures["FullApp"] = "FullApp";
|
|
@@ -8840,6 +8857,7 @@
|
|
|
8840
8857
|
* @param sessionInfo
|
|
8841
8858
|
*/
|
|
8842
8859
|
function initMixpanel(sessionInfo) {
|
|
8860
|
+
var _a;
|
|
8843
8861
|
if (!sessionInfo || !sessionInfo.mixpanelToken) {
|
|
8844
8862
|
return;
|
|
8845
8863
|
}
|
|
@@ -8857,6 +8875,7 @@
|
|
|
8857
8875
|
clusterId: sessionInfo.clusterId,
|
|
8858
8876
|
clusterName: sessionInfo.clusterName,
|
|
8859
8877
|
releaseVersion: sessionInfo.releaseVersion,
|
|
8878
|
+
hostAppUrl: ((_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.host) || '',
|
|
8860
8879
|
});
|
|
8861
8880
|
isMixpanelInitialized = true;
|
|
8862
8881
|
emptyQueue();
|
|
@@ -10118,58 +10137,351 @@
|
|
|
10118
10137
|
|
|
10119
10138
|
/**
|
|
10120
10139
|
*
|
|
10121
|
-
* @param
|
|
10122
|
-
* @param query
|
|
10123
|
-
* @param
|
|
10140
|
+
* @param root0
|
|
10141
|
+
* @param root0.query
|
|
10142
|
+
* @param root0.variables
|
|
10143
|
+
* @param root0.thoughtSpotHost
|
|
10144
|
+
* @param root0.isCompositeQuery
|
|
10145
|
+
*/
|
|
10146
|
+
async function graphqlQuery({ query, variables, thoughtSpotHost, isCompositeQuery = false, }) {
|
|
10147
|
+
const operationName = getOperationNameFromQuery(query);
|
|
10148
|
+
try {
|
|
10149
|
+
const response = await fetch(`${thoughtSpotHost}/prism/?op=${operationName}`, {
|
|
10150
|
+
method: 'POST',
|
|
10151
|
+
headers: {
|
|
10152
|
+
'content-type': 'application/json;charset=UTF-8',
|
|
10153
|
+
'x-requested-by': 'ThoughtSpot',
|
|
10154
|
+
accept: '*/*',
|
|
10155
|
+
'accept-language': 'en-us',
|
|
10156
|
+
},
|
|
10157
|
+
body: JSON.stringify({
|
|
10158
|
+
operationName,
|
|
10159
|
+
query,
|
|
10160
|
+
variables,
|
|
10161
|
+
}),
|
|
10162
|
+
credentials: 'include',
|
|
10163
|
+
});
|
|
10164
|
+
const result = await response.json();
|
|
10165
|
+
const dataValues = Object.values(result.data);
|
|
10166
|
+
return (isCompositeQuery) ? result.data : dataValues[0];
|
|
10167
|
+
}
|
|
10168
|
+
catch (error) {
|
|
10169
|
+
return error;
|
|
10170
|
+
}
|
|
10171
|
+
}
|
|
10172
|
+
|
|
10173
|
+
const getSourceDetailQuery = `
|
|
10174
|
+
query GetSourceDetail($ids: [GUID!]!) {
|
|
10175
|
+
getSourceDetailById(ids: $ids, type: LOGICAL_TABLE) {
|
|
10176
|
+
id
|
|
10177
|
+
name
|
|
10178
|
+
description
|
|
10179
|
+
authorName
|
|
10180
|
+
authorDisplayName
|
|
10181
|
+
isExternal
|
|
10182
|
+
type
|
|
10183
|
+
created
|
|
10184
|
+
modified
|
|
10185
|
+
columns {
|
|
10186
|
+
id
|
|
10187
|
+
name
|
|
10188
|
+
author
|
|
10189
|
+
authorDisplayName
|
|
10190
|
+
description
|
|
10191
|
+
dataType
|
|
10192
|
+
type
|
|
10193
|
+
modified
|
|
10194
|
+
ownerName
|
|
10195
|
+
owner
|
|
10196
|
+
dataRecency
|
|
10197
|
+
sources {
|
|
10198
|
+
tableId
|
|
10199
|
+
tableName
|
|
10200
|
+
columnId
|
|
10201
|
+
columnName
|
|
10202
|
+
__typename
|
|
10203
|
+
}
|
|
10204
|
+
synonyms
|
|
10205
|
+
cohortAnswerId
|
|
10206
|
+
__typename
|
|
10207
|
+
}
|
|
10208
|
+
relationships
|
|
10209
|
+
destinationRelationships
|
|
10210
|
+
dataSourceId
|
|
10211
|
+
__typename
|
|
10212
|
+
}
|
|
10213
|
+
}
|
|
10214
|
+
`;
|
|
10215
|
+
const sourceDetailCache = new Map();
|
|
10216
|
+
/**
|
|
10217
|
+
*
|
|
10124
10218
|
* @param thoughtSpotHost
|
|
10219
|
+
* @param sourceId
|
|
10125
10220
|
*/
|
|
10126
|
-
function
|
|
10127
|
-
|
|
10128
|
-
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
|
|
10132
|
-
|
|
10133
|
-
|
|
10134
|
-
|
|
10135
|
-
|
|
10136
|
-
|
|
10137
|
-
|
|
10138
|
-
|
|
10139
|
-
|
|
10140
|
-
|
|
10141
|
-
|
|
10142
|
-
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
|
|
10221
|
+
async function getSourceDetail(thoughtSpotHost, sourceId) {
|
|
10222
|
+
if (sourceDetailCache.has(sourceId)) {
|
|
10223
|
+
return sourceDetailCache.get(sourceId);
|
|
10224
|
+
}
|
|
10225
|
+
const details = await graphqlQuery({
|
|
10226
|
+
query: getSourceDetailQuery,
|
|
10227
|
+
variables: {
|
|
10228
|
+
ids: [sourceId],
|
|
10229
|
+
},
|
|
10230
|
+
thoughtSpotHost,
|
|
10231
|
+
});
|
|
10232
|
+
const souceDetails = details[0];
|
|
10233
|
+
sourceDetailCache.set(sourceId, souceDetails);
|
|
10234
|
+
return souceDetails;
|
|
10235
|
+
}
|
|
10236
|
+
|
|
10237
|
+
const bachSessionId = `
|
|
10238
|
+
id {
|
|
10239
|
+
sessionId
|
|
10240
|
+
genNo
|
|
10241
|
+
acSession {
|
|
10242
|
+
sessionId
|
|
10243
|
+
genNo
|
|
10244
|
+
}
|
|
10245
|
+
}
|
|
10246
|
+
`;
|
|
10247
|
+
const getUnaggregatedAnswerSession = `
|
|
10248
|
+
mutation GetUnAggregatedAnswerSession($session: BachSessionIdInput!, $columns: [UserPointSelectionInput!]!) {
|
|
10249
|
+
Answer__getUnaggregatedAnswer(session: $session, columns: $columns) {
|
|
10250
|
+
${bachSessionId}
|
|
10251
|
+
answer {
|
|
10252
|
+
visualizations {
|
|
10253
|
+
... on TableViz {
|
|
10254
|
+
columns {
|
|
10255
|
+
column {
|
|
10256
|
+
id
|
|
10257
|
+
name
|
|
10258
|
+
referencedColumns {
|
|
10259
|
+
guid
|
|
10260
|
+
displayName
|
|
10261
|
+
}
|
|
10262
|
+
}
|
|
10263
|
+
}
|
|
10264
|
+
}
|
|
10265
|
+
}
|
|
10266
|
+
}
|
|
10267
|
+
}
|
|
10268
|
+
}
|
|
10269
|
+
`;
|
|
10270
|
+
const removeColumns = `
|
|
10271
|
+
mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!], $columnIds: [GUID!]) {
|
|
10272
|
+
Answer__removeColumns(
|
|
10273
|
+
session: $session
|
|
10274
|
+
logicalColumnIds: $logicalColumnIds
|
|
10275
|
+
columnIds: $columnIds
|
|
10276
|
+
) {
|
|
10277
|
+
${bachSessionId}
|
|
10278
|
+
}
|
|
10279
|
+
}
|
|
10280
|
+
`;
|
|
10281
|
+
const addColumns = `
|
|
10282
|
+
mutation AddColumns($session: BachSessionIdInput!, $columns: [AnswerColumnInfo!]!) {
|
|
10283
|
+
Answer__addColumn(session: $session, columns: $columns) {
|
|
10284
|
+
${bachSessionId}
|
|
10285
|
+
}
|
|
10286
|
+
}
|
|
10287
|
+
`;
|
|
10288
|
+
const getAnswerData = `
|
|
10289
|
+
query GetTableWithHeadlineData($session: BachSessionIdInput!, $deadline: Int!, $dataPaginationParams: DataPaginationParamsInput!) {
|
|
10290
|
+
getAnswer(session: $session) {
|
|
10291
|
+
${bachSessionId}
|
|
10292
|
+
answer {
|
|
10293
|
+
id
|
|
10294
|
+
visualizations {
|
|
10295
|
+
id
|
|
10296
|
+
... on TableViz {
|
|
10297
|
+
columns {
|
|
10298
|
+
column {
|
|
10299
|
+
id
|
|
10300
|
+
name
|
|
10301
|
+
type
|
|
10302
|
+
aggregationType
|
|
10303
|
+
dataType
|
|
10304
|
+
}
|
|
10305
|
+
}
|
|
10306
|
+
data(deadline: $deadline, pagination: $dataPaginationParams)
|
|
10307
|
+
}
|
|
10308
|
+
}
|
|
10309
|
+
}
|
|
10310
|
+
}
|
|
10311
|
+
}
|
|
10312
|
+
`;
|
|
10313
|
+
|
|
10314
|
+
// eslint-disable-next-line no-shadow
|
|
10315
|
+
var OperationType;
|
|
10316
|
+
(function (OperationType) {
|
|
10317
|
+
OperationType["GetChartWithData"] = "GetChartWithData";
|
|
10318
|
+
OperationType["GetTableWithHeadlineData"] = "GetTableWithHeadlineData";
|
|
10319
|
+
})(OperationType || (OperationType = {}));
|
|
10320
|
+
/**
|
|
10321
|
+
* Class representing the answer service provided with the
|
|
10322
|
+
* custom action payload. This service could be used to run
|
|
10323
|
+
* graphql queries in the context of the answer on which the
|
|
10324
|
+
* custom action was triggered.
|
|
10325
|
+
*
|
|
10326
|
+
* @example
|
|
10327
|
+
* ```js
|
|
10328
|
+
* embed.on(EmbedEvent.CustomAction, e => {
|
|
10329
|
+
* const underlying = await e.answerService.getUnderlyingDataForPoint([
|
|
10330
|
+
* 'col name 1'
|
|
10331
|
+
* ]);
|
|
10332
|
+
* const data = await underlying.fetchData(0, 100);
|
|
10333
|
+
* })
|
|
10334
|
+
* ```
|
|
10335
|
+
* @version
|
|
10336
|
+
* ThoughtSpot: 9.9.0.cl / SDK: 1.25.0
|
|
10337
|
+
*/
|
|
10338
|
+
class AnswerService {
|
|
10339
|
+
constructor(session, answer, thoughtSpotHost, selectedPoints) {
|
|
10340
|
+
this.session = session;
|
|
10341
|
+
this.answer = answer;
|
|
10342
|
+
this.thoughtSpotHost = thoughtSpotHost;
|
|
10343
|
+
this.selectedPoints = selectedPoints;
|
|
10344
|
+
this.session = removeTypename(session);
|
|
10345
|
+
}
|
|
10346
|
+
async getSourceDetail() {
|
|
10347
|
+
const sourceId = this.answer.sources[0].header.guid;
|
|
10348
|
+
return getSourceDetail(this.thoughtSpotHost, sourceId);
|
|
10349
|
+
}
|
|
10350
|
+
async removeColumns(columnIds) {
|
|
10351
|
+
return this.executeQuery(removeColumns, {
|
|
10352
|
+
logicalColumnIds: columnIds,
|
|
10353
|
+
});
|
|
10354
|
+
}
|
|
10355
|
+
async addColumns(columnIds) {
|
|
10356
|
+
return this.executeQuery(addColumns, {
|
|
10357
|
+
columns: columnIds.map((colId) => ({ logicalColumnId: colId })),
|
|
10358
|
+
});
|
|
10359
|
+
}
|
|
10360
|
+
async fetchData(offset = 0, size = 1000) {
|
|
10361
|
+
const { answer } = await this.executeQuery(getAnswerData, {
|
|
10362
|
+
deadline: 0,
|
|
10363
|
+
dataPaginationParams: {
|
|
10364
|
+
isClientPaginated: true,
|
|
10365
|
+
offset,
|
|
10366
|
+
size,
|
|
10367
|
+
},
|
|
10368
|
+
});
|
|
10369
|
+
const { columns, data } = answer.visualizations[0];
|
|
10370
|
+
return {
|
|
10371
|
+
columns,
|
|
10372
|
+
data,
|
|
10373
|
+
};
|
|
10374
|
+
}
|
|
10375
|
+
/**
|
|
10376
|
+
*
|
|
10377
|
+
* @param userLocale
|
|
10378
|
+
* @param omitInfo Omit the download Info on top of the CSV
|
|
10379
|
+
* @returns Response
|
|
10380
|
+
*/
|
|
10381
|
+
async fetchCSVBlob(userLocale = 'en-us', omitInfo = false) {
|
|
10382
|
+
if (omitInfo) {
|
|
10383
|
+
console.warn('omitInfo not supported yet.');
|
|
10147
10384
|
}
|
|
10148
|
-
|
|
10149
|
-
|
|
10385
|
+
const fetchUrl = `${this.thoughtSpotHost}/prism/download/answer/csv?sessionId=${this.session.sessionId}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data&omitInfo=${omitInfo}`;
|
|
10386
|
+
return fetch(fetchUrl, {
|
|
10387
|
+
credentials: 'include',
|
|
10388
|
+
});
|
|
10389
|
+
}
|
|
10390
|
+
async getUnderlyingDataForPoint(outputColumnNames, selectedPoints) {
|
|
10391
|
+
if (!selectedPoints && !this.selectedPoints) {
|
|
10392
|
+
throw new Error('Needs to be triggered in context of a point');
|
|
10150
10393
|
}
|
|
10151
|
-
|
|
10152
|
-
|
|
10153
|
-
|
|
10154
|
-
|
|
10394
|
+
if (!selectedPoints) {
|
|
10395
|
+
selectedPoints = getSelectedPointsForUnderlyingDataQuery(this.selectedPoints);
|
|
10396
|
+
}
|
|
10397
|
+
const sourceDetail = await this.getSourceDetail();
|
|
10398
|
+
const ouputColumnGuids = getGuidsFromColumnNames(sourceDetail, outputColumnNames);
|
|
10399
|
+
const unAggAnswer = await graphqlQuery({
|
|
10400
|
+
query: getUnaggregatedAnswerSession,
|
|
10401
|
+
variables: {
|
|
10402
|
+
session: this.session,
|
|
10403
|
+
columns: selectedPoints,
|
|
10404
|
+
},
|
|
10405
|
+
thoughtSpotHost: this.thoughtSpotHost,
|
|
10406
|
+
});
|
|
10407
|
+
const unaggAnswerSession = new AnswerService(unAggAnswer.id, unAggAnswer.answer, this.thoughtSpotHost);
|
|
10408
|
+
const currentColumns = new Set(unAggAnswer.answer.visualizations[0].columns
|
|
10409
|
+
.map((c) => c.column.referencedColumns[0].guid));
|
|
10410
|
+
const columnsToAdd = [...ouputColumnGuids].filter((col) => !currentColumns.has(col));
|
|
10411
|
+
if (columnsToAdd.length) {
|
|
10412
|
+
await unaggAnswerSession.addColumns(columnsToAdd);
|
|
10413
|
+
}
|
|
10414
|
+
const columnsToRemove = [...currentColumns].filter((col) => !ouputColumnGuids.has(col));
|
|
10415
|
+
if (columnsToRemove.length) {
|
|
10416
|
+
await unaggAnswerSession.removeColumns(columnsToRemove);
|
|
10417
|
+
}
|
|
10418
|
+
return unaggAnswerSession;
|
|
10419
|
+
}
|
|
10420
|
+
async executeQuery(query, variables) {
|
|
10421
|
+
const data = await graphqlQuery({
|
|
10422
|
+
query,
|
|
10423
|
+
variables: {
|
|
10424
|
+
session: this.session,
|
|
10425
|
+
...variables,
|
|
10426
|
+
},
|
|
10427
|
+
thoughtSpotHost: this.thoughtSpotHost,
|
|
10428
|
+
isCompositeQuery: false,
|
|
10429
|
+
});
|
|
10430
|
+
this.session = deepMerge(this.session, (data === null || data === void 0 ? void 0 : data.id) || {});
|
|
10431
|
+
return data;
|
|
10432
|
+
}
|
|
10433
|
+
getSession() {
|
|
10434
|
+
return this.session;
|
|
10435
|
+
}
|
|
10436
|
+
}
|
|
10437
|
+
/**
|
|
10438
|
+
*
|
|
10439
|
+
* @param sourceDetail
|
|
10440
|
+
* @param colNames
|
|
10441
|
+
*/
|
|
10442
|
+
function getGuidsFromColumnNames(sourceDetail, colNames) {
|
|
10443
|
+
const cols = sourceDetail.columns.reduce((colSet, col) => {
|
|
10444
|
+
colSet[col.name] = col;
|
|
10445
|
+
return colSet;
|
|
10446
|
+
}, {});
|
|
10447
|
+
return new Set(colNames.map((colName) => {
|
|
10448
|
+
const col = cols[colName];
|
|
10449
|
+
return col.id;
|
|
10450
|
+
}));
|
|
10451
|
+
}
|
|
10452
|
+
/**
|
|
10453
|
+
*
|
|
10454
|
+
* @param selectedPoints
|
|
10455
|
+
*/
|
|
10456
|
+
function getSelectedPointsForUnderlyingDataQuery(selectedPoints) {
|
|
10457
|
+
const underlyingDataPoint = [];
|
|
10458
|
+
/**
|
|
10459
|
+
*
|
|
10460
|
+
* @param colVal
|
|
10461
|
+
*/
|
|
10462
|
+
function addPointFromColVal(colVal) {
|
|
10463
|
+
const dataType = colVal.column.dataType;
|
|
10464
|
+
const id = colVal.column.id;
|
|
10465
|
+
let dataValue;
|
|
10466
|
+
if (dataType === 'DATE') {
|
|
10467
|
+
dataValue = [{
|
|
10468
|
+
epochRange: {
|
|
10469
|
+
startEpoch: colVal.value,
|
|
10470
|
+
},
|
|
10471
|
+
}];
|
|
10155
10472
|
}
|
|
10156
10473
|
else {
|
|
10157
|
-
|
|
10158
|
-
dataPaginationParams: {
|
|
10159
|
-
isClientPaginated: true,
|
|
10160
|
-
offset: offset * batchSize,
|
|
10161
|
-
size: batchSize,
|
|
10162
|
-
},
|
|
10163
|
-
};
|
|
10474
|
+
dataValue = [{ value: colVal.value }];
|
|
10164
10475
|
}
|
|
10165
|
-
|
|
10166
|
-
|
|
10167
|
-
|
|
10476
|
+
underlyingDataPoint.push({
|
|
10477
|
+
columnId: colVal.column.id,
|
|
10478
|
+
dataValue,
|
|
10168
10479
|
});
|
|
10169
|
-
}
|
|
10170
|
-
|
|
10171
|
-
|
|
10172
|
-
};
|
|
10480
|
+
}
|
|
10481
|
+
selectedPoints.forEach((p) => {
|
|
10482
|
+
p.selectedAttributes.forEach(addPointFromColVal);
|
|
10483
|
+
});
|
|
10484
|
+
return underlyingDataPoint;
|
|
10173
10485
|
}
|
|
10174
10486
|
|
|
10175
10487
|
/**
|
|
@@ -10178,16 +10490,12 @@
|
|
|
10178
10490
|
* @param thoughtSpotHost
|
|
10179
10491
|
*/
|
|
10180
10492
|
function processCustomAction(e, thoughtSpotHost) {
|
|
10181
|
-
|
|
10182
|
-
|
|
10183
|
-
|
|
10184
|
-
|
|
10185
|
-
|
|
10186
|
-
|
|
10187
|
-
answerService,
|
|
10188
|
-
};
|
|
10189
|
-
}
|
|
10190
|
-
return e;
|
|
10493
|
+
const { session, embedAnswerData, contextMenuPoints } = e.data;
|
|
10494
|
+
const answerService = new AnswerService(session, embedAnswerData, thoughtSpotHost, contextMenuPoints === null || contextMenuPoints === void 0 ? void 0 : contextMenuPoints.selectedPoints);
|
|
10495
|
+
return {
|
|
10496
|
+
...e,
|
|
10497
|
+
answerService,
|
|
10498
|
+
};
|
|
10191
10499
|
}
|
|
10192
10500
|
/**
|
|
10193
10501
|
*
|
|
@@ -10332,7 +10640,7 @@
|
|
|
10332
10640
|
});
|
|
10333
10641
|
}
|
|
10334
10642
|
|
|
10335
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-
|
|
10643
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-preRender.1";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/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs",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-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",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 --runInBand","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","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",dompurify:"^2.3.4","eslint-plugin-comment-length":"^0.9.2","eslint-plugin-jsdoc":"^40.1.0",eventemitter3:"^4.0.7","gatsby-plugin-vercel":"^1.0.3","html-react-parser":"^1.4.12",lodash:"^4.17.21","mixpanel-browser":"^2.45.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","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","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@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","current-git-branch":"^1.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.13.1","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":"6.7.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-fetch-mock":"^3.0.3",jsdom:"^17.0.0","node-sass":"^8.0.0",prettier:"2.1.2",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-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","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,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.js",limit:"40 kB"}],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};
|
|
10336
10644
|
|
|
10337
10645
|
/**
|
|
10338
10646
|
* Copyright (c) 2022
|
|
@@ -10364,6 +10672,7 @@
|
|
|
10364
10672
|
class TsEmbed {
|
|
10365
10673
|
constructor(domSelector, viewConfig) {
|
|
10366
10674
|
this.isAppInitialized = false;
|
|
10675
|
+
this.embedComponentType = 'TsEmbed';
|
|
10367
10676
|
/**
|
|
10368
10677
|
* Should we encode URL Query Params using base64 encoding which thoughtspot
|
|
10369
10678
|
* will generate for embedding. This provides additional security to
|
|
@@ -10373,6 +10682,7 @@
|
|
|
10373
10682
|
*/
|
|
10374
10683
|
this.shouldEncodeUrlQueryParams = false;
|
|
10375
10684
|
this.defaultHiddenActions = [exports.Action.ReportError];
|
|
10685
|
+
this.subscribedListeners = {};
|
|
10376
10686
|
/**
|
|
10377
10687
|
* Send Custom style as part of payload of APP_INIT
|
|
10378
10688
|
*
|
|
@@ -10395,6 +10705,7 @@
|
|
|
10395
10705
|
? getRuntimeFilters(this.viewConfig.runtimeFilters)
|
|
10396
10706
|
: null,
|
|
10397
10707
|
hiddenHomepageModules: this.viewConfig.hiddenHomepageModules || [],
|
|
10708
|
+
reorderedHomepageModules: this.viewConfig.reorderedHomepageModules || [],
|
|
10398
10709
|
hostConfig: this.embedConfig.hostConfig,
|
|
10399
10710
|
hiddenHomeLeftNavItems: ((_a = this.viewConfig) === null || _a === void 0 ? void 0 : _a.hiddenHomeLeftNavItems)
|
|
10400
10711
|
? (_b = this.viewConfig) === null || _b === void 0 ? void 0 : _b.hiddenHomeLeftNavItems
|
|
@@ -10444,6 +10755,7 @@
|
|
|
10444
10755
|
this.registerAppInit();
|
|
10445
10756
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_EMBED_CREATE, {
|
|
10446
10757
|
...viewConfig,
|
|
10758
|
+
embedComponentType: this.embedComponentType,
|
|
10447
10759
|
});
|
|
10448
10760
|
}
|
|
10449
10761
|
/**
|
|
@@ -10512,23 +10824,37 @@
|
|
|
10512
10824
|
* and executes the registered callbacks accordingly.
|
|
10513
10825
|
*/
|
|
10514
10826
|
subscribeToEvents() {
|
|
10515
|
-
|
|
10827
|
+
this.unsubscribeToEvents();
|
|
10828
|
+
const messageEventListener = (event) => {
|
|
10516
10829
|
const eventType = this.getEventType(event);
|
|
10517
10830
|
const eventPort = this.getEventPort(event);
|
|
10518
10831
|
const eventData = this.formatEventData(event, eventType);
|
|
10519
10832
|
if (event.source === this.iFrame.contentWindow) {
|
|
10520
10833
|
this.executeCallbacks(eventType, processEventData(eventType, eventData, this.thoughtSpotHost, this.el), eventPort);
|
|
10521
10834
|
}
|
|
10522
|
-
}
|
|
10523
|
-
window.addEventListener('
|
|
10835
|
+
};
|
|
10836
|
+
window.addEventListener('message', messageEventListener);
|
|
10837
|
+
const onlineEventListener = (e) => {
|
|
10524
10838
|
this.trigger(exports.HostEvent.Reload);
|
|
10525
|
-
}
|
|
10526
|
-
window.addEventListener('
|
|
10839
|
+
};
|
|
10840
|
+
window.addEventListener('online', onlineEventListener);
|
|
10841
|
+
const offlineEventListener = (e) => {
|
|
10527
10842
|
const offlineWarning = 'Network not Detected. Embed is offline. Please reconnect and refresh';
|
|
10528
10843
|
this.executeCallbacks(exports.EmbedEvent.Error, {
|
|
10529
10844
|
offlineWarning,
|
|
10530
10845
|
});
|
|
10531
10846
|
console.warn(offlineWarning);
|
|
10847
|
+
};
|
|
10848
|
+
window.addEventListener('offline', offlineEventListener);
|
|
10849
|
+
this.subscribedListeners = {
|
|
10850
|
+
message: messageEventListener,
|
|
10851
|
+
online: onlineEventListener,
|
|
10852
|
+
offline: offlineEventListener,
|
|
10853
|
+
};
|
|
10854
|
+
}
|
|
10855
|
+
unsubscribeToEvents() {
|
|
10856
|
+
Object.keys(this.subscribedListeners).forEach((key) => {
|
|
10857
|
+
window.removeEventListener(key, this.subscribedListeners[key]);
|
|
10532
10858
|
});
|
|
10533
10859
|
}
|
|
10534
10860
|
/**
|
|
@@ -10700,14 +11026,22 @@
|
|
|
10700
11026
|
iFrame.name = 'ThoughtSpot Embedded Analytics';
|
|
10701
11027
|
return iFrame;
|
|
10702
11028
|
}
|
|
11029
|
+
handleInsertionIntoDOM(child, showPreRenderByDefault = false) {
|
|
11030
|
+
if (this.isPreRendered) {
|
|
11031
|
+
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
|
|
11032
|
+
}
|
|
11033
|
+
else {
|
|
11034
|
+
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11035
|
+
}
|
|
11036
|
+
}
|
|
10703
11037
|
/**
|
|
10704
11038
|
* Renders the embedded ThoughtSpot app in an iframe and sets up
|
|
10705
11039
|
* event listeners.
|
|
10706
11040
|
*
|
|
10707
|
-
* @param url
|
|
10708
|
-
* @param
|
|
11041
|
+
* @param url - The URL of the embedded ThoughtSpot app.
|
|
11042
|
+
* @param showPreRenderByDefault - The flag to show the preRender by default.
|
|
10709
11043
|
*/
|
|
10710
|
-
async renderIFrame(url) {
|
|
11044
|
+
async renderIFrame(url, showPreRenderByDefault = false) {
|
|
10711
11045
|
if (this.isError) {
|
|
10712
11046
|
return null;
|
|
10713
11047
|
}
|
|
@@ -10727,12 +11061,7 @@
|
|
|
10727
11061
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
|
|
10728
11062
|
return (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
|
|
10729
11063
|
if (!isLoggedIn) {
|
|
10730
|
-
|
|
10731
|
-
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
10732
|
-
}
|
|
10733
|
-
else {
|
|
10734
|
-
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
10735
|
-
}
|
|
11064
|
+
this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
|
|
10736
11065
|
return;
|
|
10737
11066
|
}
|
|
10738
11067
|
this.iFrame = this.iFrame || this.createIframeEl(url);
|
|
@@ -10754,12 +11083,7 @@
|
|
|
10754
11083
|
this.iFrame.addEventListener('error', () => {
|
|
10755
11084
|
nextInQueue();
|
|
10756
11085
|
});
|
|
10757
|
-
|
|
10758
|
-
this.insertIntoDOMForPreRender(this.iFrame);
|
|
10759
|
-
}
|
|
10760
|
-
else {
|
|
10761
|
-
this.insertIntoDOM(this.iFrame);
|
|
10762
|
-
}
|
|
11086
|
+
this.handleInsertionIntoDOM(this.iFrame, showPreRenderByDefault);
|
|
10763
11087
|
const prefetchIframe = document.querySelectorAll('.prefetchIframe');
|
|
10764
11088
|
if (prefetchIframe.length) {
|
|
10765
11089
|
prefetchIframe.forEach((el) => {
|
|
@@ -10772,12 +11096,7 @@
|
|
|
10772
11096
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED, {
|
|
10773
11097
|
error: JSON.stringify(error),
|
|
10774
11098
|
});
|
|
10775
|
-
|
|
10776
|
-
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
10777
|
-
}
|
|
10778
|
-
else {
|
|
10779
|
-
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
10780
|
-
}
|
|
11099
|
+
this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage);
|
|
10781
11100
|
this.handleError(error);
|
|
10782
11101
|
});
|
|
10783
11102
|
});
|
|
@@ -10791,40 +11110,46 @@
|
|
|
10791
11110
|
}
|
|
10792
11111
|
createPreRenderWrapper(child) {
|
|
10793
11112
|
if (!this.viewConfig.preRenderId) {
|
|
10794
|
-
throw new Error('
|
|
11113
|
+
throw new Error('PreRender id is required');
|
|
10795
11114
|
}
|
|
10796
11115
|
const preRenderIds = this.getPreRenderIds();
|
|
10797
|
-
|
|
10798
|
-
|
|
10799
|
-
|
|
10800
|
-
|
|
10801
|
-
}
|
|
11116
|
+
[preRenderIds.wrapper, preRenderIds.shield, preRenderIds.child]
|
|
11117
|
+
.map((id) => document.getElementById(id))
|
|
11118
|
+
.filter((element) => element)
|
|
11119
|
+
.forEach((existingElement) => existingElement.remove());
|
|
10802
11120
|
const preRenderWrapper = document.createElement('div');
|
|
10803
11121
|
preRenderWrapper.id = preRenderIds.wrapper;
|
|
10804
11122
|
setStyleProperties(preRenderWrapper, { position: 'absolute', width: '100vw', height: '100vh' });
|
|
10805
|
-
const preRenderShield = document.createElement('div');
|
|
10806
|
-
preRenderShield.id = preRenderIds.shield;
|
|
10807
|
-
setStyleProperties(preRenderShield, { position: 'absolute',
|
|
11123
|
+
// const preRenderShield = document.createElement('div');
|
|
11124
|
+
// preRenderShield.id = preRenderIds.shield;
|
|
11125
|
+
// setStyleProperties(preRenderShield, { position: 'absolute',
|
|
11126
|
+
// width: '100%', height: '100%' });
|
|
10808
11127
|
child.id = preRenderIds.child;
|
|
10809
11128
|
preRenderWrapper.appendChild(child);
|
|
10810
|
-
preRenderWrapper.appendChild(preRenderShield);
|
|
11129
|
+
// preRenderWrapper.appendChild(preRenderShield);
|
|
10811
11130
|
this.preRenderWrapper = preRenderWrapper;
|
|
10812
|
-
this.preRenderShield = preRenderShield;
|
|
11131
|
+
// this.preRenderShield = preRenderShield;
|
|
10813
11132
|
this.preRenderChild = child;
|
|
10814
11133
|
return preRenderWrapper;
|
|
10815
11134
|
}
|
|
10816
|
-
|
|
11135
|
+
connectPreRendered() {
|
|
10817
11136
|
const preRenderIds = this.getPreRenderIds();
|
|
10818
11137
|
this.preRenderWrapper = this.preRenderWrapper
|
|
10819
11138
|
|| document.getElementById(preRenderIds.wrapper);
|
|
10820
|
-
this.preRenderShield = this.preRenderShield
|
|
10821
|
-
|
|
11139
|
+
// this.preRenderShield = this.preRenderShield
|
|
11140
|
+
// || document.getElementById(preRenderIds.shield);
|
|
10822
11141
|
this.preRenderChild = this.preRenderChild
|
|
10823
11142
|
|| document.getElementById(preRenderIds.child);
|
|
10824
|
-
|
|
10825
|
-
|
|
11143
|
+
if (this.preRenderWrapper && this.preRenderChild) {
|
|
11144
|
+
this.isPreRendered = true;
|
|
11145
|
+
this.iFrame = this.preRenderChild;
|
|
11146
|
+
}
|
|
11147
|
+
return this.isPreRenderAvailable();
|
|
11148
|
+
}
|
|
11149
|
+
isPreRenderAvailable() {
|
|
11150
|
+
return this.isPreRendered;
|
|
10826
11151
|
}
|
|
10827
|
-
insertIntoDOMForPreRender(child) {
|
|
11152
|
+
insertIntoDOMForPreRender(child, showPreRenderByDefault = false) {
|
|
10828
11153
|
let childNode;
|
|
10829
11154
|
if (typeof child === 'string') {
|
|
10830
11155
|
const divChildNode = document.createElement('div');
|
|
@@ -10835,8 +11160,13 @@
|
|
|
10835
11160
|
childNode = child;
|
|
10836
11161
|
}
|
|
10837
11162
|
const preRenderWrapper = this.createPreRenderWrapper(childNode);
|
|
11163
|
+
if (showPreRenderByDefault) {
|
|
11164
|
+
this.showPreRender();
|
|
11165
|
+
}
|
|
11166
|
+
else {
|
|
11167
|
+
this.hidePreRender();
|
|
11168
|
+
}
|
|
10838
11169
|
document.body.appendChild(preRenderWrapper);
|
|
10839
|
-
this.hidePreRender();
|
|
10840
11170
|
}
|
|
10841
11171
|
hidePreRender() {
|
|
10842
11172
|
if (!this.isPreRenderAvailable()) {
|
|
@@ -10853,28 +11183,33 @@
|
|
|
10853
11183
|
left: '0',
|
|
10854
11184
|
});
|
|
10855
11185
|
const childBoundingRect = this.preRenderChild.getBoundingClientRect();
|
|
10856
|
-
setStyleProperties(this.preRenderShield, {
|
|
10857
|
-
|
|
10858
|
-
|
|
10859
|
-
|
|
10860
|
-
|
|
10861
|
-
|
|
10862
|
-
|
|
10863
|
-
|
|
10864
|
-
|
|
10865
|
-
});
|
|
11186
|
+
// setStyleProperties(this.preRenderShield, {
|
|
11187
|
+
// opacity: '0',
|
|
11188
|
+
// pointerEvents: 'none',
|
|
11189
|
+
// zIndex: '1',
|
|
11190
|
+
// width: `${childBoundingRect.width}px`,
|
|
11191
|
+
// height: `${childBoundingRect.height}px`,
|
|
11192
|
+
// position: 'absolute',
|
|
11193
|
+
// top: '0',
|
|
11194
|
+
// left: '0',
|
|
11195
|
+
// });
|
|
11196
|
+
this.unsubscribeToEvents();
|
|
10866
11197
|
}
|
|
10867
11198
|
showPreRender() {
|
|
10868
11199
|
if (!this.isPreRenderAvailable()) {
|
|
10869
|
-
|
|
10870
|
-
|
|
10871
|
-
|
|
10872
|
-
|
|
10873
|
-
|
|
11200
|
+
const isAvailable = this.connectPreRendered();
|
|
11201
|
+
if (!isAvailable) {
|
|
11202
|
+
// if the Embed component is nor preRendered , Render it now and
|
|
11203
|
+
// show it (hide is defalt behaviour)
|
|
11204
|
+
console.log('No preRender found, creating new ');
|
|
11205
|
+
this.preRender(true);
|
|
11206
|
+
return;
|
|
11207
|
+
}
|
|
10874
11208
|
}
|
|
10875
11209
|
this.syncPreRenderStyle();
|
|
10876
11210
|
removeStyleProperties(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
|
|
10877
|
-
setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
11211
|
+
// setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
11212
|
+
this.subscribeToEvents();
|
|
10878
11213
|
}
|
|
10879
11214
|
syncPreRenderStyle() {
|
|
10880
11215
|
if (!this.el) {
|
|
@@ -11101,8 +11436,10 @@
|
|
|
11101
11436
|
}
|
|
11102
11437
|
/**
|
|
11103
11438
|
* Creates the preRender shell
|
|
11439
|
+
*
|
|
11440
|
+
* @param showPreRenderByDefault
|
|
11104
11441
|
*/
|
|
11105
|
-
preRender() {
|
|
11442
|
+
preRender(showPreRenderByDefault = false) {
|
|
11106
11443
|
this.isPreRendered = true;
|
|
11107
11444
|
return this;
|
|
11108
11445
|
}
|
|
@@ -11141,6 +11478,7 @@
|
|
|
11141
11478
|
var _a;
|
|
11142
11479
|
try {
|
|
11143
11480
|
(_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode.removeChild(this.insertedDomEl);
|
|
11481
|
+
this.unsubscribeToEvents();
|
|
11144
11482
|
}
|
|
11145
11483
|
catch (e) {
|
|
11146
11484
|
console.log('Error destroying TS Embed', e);
|
|
@@ -11178,9 +11516,10 @@
|
|
|
11178
11516
|
* Render the app in an iframe and set up event handlers
|
|
11179
11517
|
*
|
|
11180
11518
|
* @param iframeSrc
|
|
11519
|
+
* @param showPreRenderByDefault - if true the preRender will be shown by default
|
|
11181
11520
|
*/
|
|
11182
|
-
renderV1Embed(iframeSrc) {
|
|
11183
|
-
return this.renderIFrame(iframeSrc);
|
|
11521
|
+
renderV1Embed(iframeSrc, showPreRenderByDefault = false) {
|
|
11522
|
+
return this.renderIFrame(iframeSrc, showPreRenderByDefault);
|
|
11184
11523
|
}
|
|
11185
11524
|
getRootIframeSrc() {
|
|
11186
11525
|
const queryParams = this.getEmbedParams();
|
|
@@ -11226,6 +11565,7 @@
|
|
|
11226
11565
|
class SearchBarEmbed extends TsEmbed {
|
|
11227
11566
|
constructor(domSelector, viewConfig) {
|
|
11228
11567
|
super(domSelector);
|
|
11568
|
+
this.embedComponentType = 'SearchBarEmbed';
|
|
11229
11569
|
this.viewConfig = viewConfig;
|
|
11230
11570
|
}
|
|
11231
11571
|
/**
|
|
@@ -11304,6 +11644,7 @@
|
|
|
11304
11644
|
// eslint-disable-next-line no-useless-constructor
|
|
11305
11645
|
constructor(domSelector, viewConfig) {
|
|
11306
11646
|
super(domSelector, viewConfig);
|
|
11647
|
+
this.embedComponentType = 'SageEmbed';
|
|
11307
11648
|
}
|
|
11308
11649
|
/**
|
|
11309
11650
|
* Constructs a map of parameters to be passed on to the
|
|
@@ -11355,12 +11696,18 @@
|
|
|
11355
11696
|
/**
|
|
11356
11697
|
* Render the embedded ThoughtSpot Sage
|
|
11357
11698
|
*
|
|
11699
|
+
* @param showPreRenderByDefault
|
|
11358
11700
|
* @returns {SageEmbed} Eureka/Sage embed
|
|
11359
11701
|
*/
|
|
11360
|
-
render() {
|
|
11702
|
+
render(showPreRenderByDefault = false) {
|
|
11361
11703
|
super.render();
|
|
11362
11704
|
const src = this.getIFrameSrc();
|
|
11363
|
-
this.renderV1Embed(src);
|
|
11705
|
+
this.renderV1Embed(src, showPreRenderByDefault);
|
|
11706
|
+
return this;
|
|
11707
|
+
}
|
|
11708
|
+
preRender(showPreRenderByDefault = false) {
|
|
11709
|
+
super.preRender(showPreRenderByDefault);
|
|
11710
|
+
this.render(showPreRenderByDefault);
|
|
11364
11711
|
return this;
|
|
11365
11712
|
}
|
|
11366
11713
|
}
|
|
@@ -11388,6 +11735,7 @@
|
|
|
11388
11735
|
class SearchEmbed extends TsEmbed {
|
|
11389
11736
|
constructor(domSelector, viewConfig) {
|
|
11390
11737
|
super(domSelector);
|
|
11738
|
+
this.embedComponentType = 'SearchEmbed';
|
|
11391
11739
|
this.viewConfig = viewConfig;
|
|
11392
11740
|
}
|
|
11393
11741
|
/**
|
|
@@ -11468,12 +11816,14 @@
|
|
|
11468
11816
|
}
|
|
11469
11817
|
/**
|
|
11470
11818
|
* Render the embedded ThoughtSpot search
|
|
11819
|
+
*
|
|
11820
|
+
* @param showPreRenderByDefault
|
|
11471
11821
|
*/
|
|
11472
|
-
render() {
|
|
11822
|
+
render(showPreRenderByDefault = false) {
|
|
11473
11823
|
super.render();
|
|
11474
11824
|
const { answerId } = this.viewConfig;
|
|
11475
11825
|
const src = this.getIFrameSrc(answerId);
|
|
11476
|
-
this.renderIFrame(src);
|
|
11826
|
+
this.renderIFrame(src, showPreRenderByDefault);
|
|
11477
11827
|
getAuthPromise().then(() => {
|
|
11478
11828
|
if (checkReleaseVersionInBeta(getReleaseVersion(), getEmbedConfig().suppressSearchEmbedBetaWarning)) {
|
|
11479
11829
|
alert(ERROR_MESSAGE.SEARCHEMBED_BETA_WRANING_MESSAGE);
|
|
@@ -11481,6 +11831,11 @@
|
|
|
11481
11831
|
});
|
|
11482
11832
|
return this;
|
|
11483
11833
|
}
|
|
11834
|
+
preRender(showPreRenderByDefault = false) {
|
|
11835
|
+
super.preRender(showPreRenderByDefault);
|
|
11836
|
+
this.render(showPreRenderByDefault);
|
|
11837
|
+
return this;
|
|
11838
|
+
}
|
|
11484
11839
|
}
|
|
11485
11840
|
|
|
11486
11841
|
/**
|
|
@@ -11533,6 +11888,7 @@
|
|
|
11533
11888
|
constructor(domSelector, viewConfig) {
|
|
11534
11889
|
super(domSelector, viewConfig);
|
|
11535
11890
|
this.defaultHeight = '100%';
|
|
11891
|
+
this.embedComponentType = 'AppEmbed';
|
|
11536
11892
|
/**
|
|
11537
11893
|
* Set the iframe height as per the computed height received
|
|
11538
11894
|
* from the ThoughtSpot app.
|
|
@@ -11683,11 +12039,17 @@
|
|
|
11683
12039
|
*
|
|
11684
12040
|
* @param renderOptions An object containing the page ID
|
|
11685
12041
|
* to be embedded.
|
|
12042
|
+
* @param showPreRenderByDefault
|
|
11686
12043
|
*/
|
|
11687
|
-
render() {
|
|
12044
|
+
render(showPreRenderByDefault = false) {
|
|
11688
12045
|
super.render();
|
|
11689
12046
|
const src = this.getIFrameSrc();
|
|
11690
|
-
this.renderV1Embed(src);
|
|
12047
|
+
this.renderV1Embed(src, showPreRenderByDefault);
|
|
12048
|
+
return this;
|
|
12049
|
+
}
|
|
12050
|
+
preRender(showPreRenderByDefault = false) {
|
|
12051
|
+
super.preRender(showPreRenderByDefault);
|
|
12052
|
+
this.render(showPreRenderByDefault);
|
|
11691
12053
|
return this;
|
|
11692
12054
|
}
|
|
11693
12055
|
}
|
|
@@ -11722,6 +12084,7 @@
|
|
|
11722
12084
|
constructor(domSelector, viewConfig) {
|
|
11723
12085
|
super(domSelector, viewConfig);
|
|
11724
12086
|
this.defaultHeight = 500;
|
|
12087
|
+
this.embedComponentType = 'LiveboardEmbed';
|
|
11725
12088
|
/**
|
|
11726
12089
|
* Set the iframe height as per the computed height received
|
|
11727
12090
|
* from the ThoughtSpot app.
|
|
@@ -11843,15 +12206,15 @@
|
|
|
11843
12206
|
* @param renderOptions An object specifying the Liveboard ID,
|
|
11844
12207
|
* visualization ID and the runtime filters.
|
|
11845
12208
|
*/
|
|
11846
|
-
render() {
|
|
12209
|
+
render(showPreRenderByDefault = false) {
|
|
11847
12210
|
super.render();
|
|
11848
12211
|
const src = this.getIFrameSrc();
|
|
11849
|
-
this.renderV1Embed(src);
|
|
12212
|
+
this.renderV1Embed(src, showPreRenderByDefault);
|
|
11850
12213
|
return this;
|
|
11851
12214
|
}
|
|
11852
|
-
preRender() {
|
|
11853
|
-
super.preRender();
|
|
11854
|
-
this.render();
|
|
12215
|
+
preRender(showPreRenderByDefault = false) {
|
|
12216
|
+
super.preRender(showPreRenderByDefault);
|
|
12217
|
+
this.render(showPreRenderByDefault);
|
|
11855
12218
|
return this;
|
|
11856
12219
|
}
|
|
11857
12220
|
navigateToLiveboard(liveboardId, vizId, activeTabId) {
|
|
@@ -11896,9 +12259,7 @@
|
|
|
11896
12259
|
const tsEmbed = new EmbedConstructor(ref.current, deepMerge({
|
|
11897
12260
|
insertAsSibling: viewConfig.insertAsSibling,
|
|
11898
12261
|
frameParams: {
|
|
11899
|
-
class: viewConfig.insertAsSibling
|
|
11900
|
-
? className || ''
|
|
11901
|
-
: '',
|
|
12262
|
+
class: viewConfig.insertAsSibling ? className || '' : '',
|
|
11902
12263
|
},
|
|
11903
12264
|
}, viewConfig));
|
|
11904
12265
|
Object.keys(listeners).forEach((eventName) => {
|
|
@@ -11926,9 +12287,7 @@
|
|
|
11926
12287
|
}
|
|
11927
12288
|
};
|
|
11928
12289
|
}, [viewConfig, listeners]);
|
|
11929
|
-
return
|
|
11930
|
-
? React__default['default'].createElement("span", { "data-testid": "tsEmbed", ref: ref, style: { position: 'absolute' } })
|
|
11931
|
-
: React__default['default'].createElement("div", { "data-testid": "tsEmbed", ref: ref, className: className }));
|
|
12290
|
+
return viewConfig.insertAsSibling ? (React__default['default'].createElement("span", { "data-testid": "tsEmbed", ref: ref, style: { position: 'absolute' } })) : (React__default['default'].createElement("div", { "data-testid": "tsEmbed", ref: ref, className: className }));
|
|
11932
12291
|
});
|
|
11933
12292
|
/**
|
|
11934
12293
|
* React component for Search Embed.
|
|
@@ -11959,6 +12318,7 @@
|
|
|
11959
12318
|
* ```
|
|
11960
12319
|
*/
|
|
11961
12320
|
const AppEmbed$1 = componentFactory(AppEmbed);
|
|
12321
|
+
const PreRenderedAppEmbed = componentFactory(AppEmbed, true);
|
|
11962
12322
|
/**
|
|
11963
12323
|
* React component for Liveboard embed.
|
|
11964
12324
|
*
|
|
@@ -11976,6 +12336,8 @@
|
|
|
11976
12336
|
*/
|
|
11977
12337
|
const LiveboardEmbed$1 = componentFactory(LiveboardEmbed);
|
|
11978
12338
|
const PinboardEmbed = LiveboardEmbed$1;
|
|
12339
|
+
const PreRenderedLiveboardEmbed = componentFactory(LiveboardEmbed, true);
|
|
12340
|
+
const PreRenderedPinboardEmbed = PreRenderedLiveboardEmbed;
|
|
11979
12341
|
/**
|
|
11980
12342
|
* React component for Search bar embed.
|
|
11981
12343
|
*
|
|
@@ -11990,6 +12352,7 @@
|
|
|
11990
12352
|
* ```
|
|
11991
12353
|
*/
|
|
11992
12354
|
const SearchBarEmbed$1 = componentFactory(SearchBarEmbed);
|
|
12355
|
+
const PreRenderedSearchBarEmbed = componentFactory(SearchBarEmbed, true);
|
|
11993
12356
|
/**
|
|
11994
12357
|
* React component for LLM based search Sage embed.
|
|
11995
12358
|
*
|
|
@@ -12004,6 +12367,7 @@
|
|
|
12004
12367
|
* ```
|
|
12005
12368
|
*/
|
|
12006
12369
|
const SageEmbed$1 = componentFactory(SageEmbed);
|
|
12370
|
+
const PreRenderedSageEmbed = componentFactory(SageEmbed, true);
|
|
12007
12371
|
/**
|
|
12008
12372
|
* Get a reference to the embed component to trigger events on the component.
|
|
12009
12373
|
*
|
|
@@ -12023,13 +12387,16 @@
|
|
|
12023
12387
|
*/
|
|
12024
12388
|
function useEmbedRef() {
|
|
12025
12389
|
return React__default['default'].useRef(null);
|
|
12026
|
-
}
|
|
12027
|
-
const PreRenderedLiveboardEmbed = componentFactory(LiveboardEmbed, true);
|
|
12390
|
+
}
|
|
12028
12391
|
|
|
12029
12392
|
exports.AppEmbed = AppEmbed$1;
|
|
12030
12393
|
exports.LiveboardEmbed = LiveboardEmbed$1;
|
|
12031
12394
|
exports.PinboardEmbed = PinboardEmbed;
|
|
12395
|
+
exports.PreRenderedAppEmbed = PreRenderedAppEmbed;
|
|
12032
12396
|
exports.PreRenderedLiveboardEmbed = PreRenderedLiveboardEmbed;
|
|
12397
|
+
exports.PreRenderedPinboardEmbed = PreRenderedPinboardEmbed;
|
|
12398
|
+
exports.PreRenderedSageEmbed = PreRenderedSageEmbed;
|
|
12399
|
+
exports.PreRenderedSearchBarEmbed = PreRenderedSearchBarEmbed;
|
|
12033
12400
|
exports.SageEmbed = SageEmbed$1;
|
|
12034
12401
|
exports.SearchBarEmbed = SearchBarEmbed$1;
|
|
12035
12402
|
exports.SearchEmbed = SearchEmbed$1;
|