@thoughtspot/visual-embed-sdk 1.32.4 → 1.32.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/package.json +1 -1
- package/cjs/src/embed/app.d.ts +42 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +4 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +30 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +1 -1
- package/cjs/src/embed/base.js +1 -1
- package/cjs/src/embed/liveboard.d.ts +42 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +4 -1
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +33 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +0 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +1 -2
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/types.d.ts +62 -7
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +55 -6
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +14 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +21 -0
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/processData.js +2 -2
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +14 -0
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/dist/src/embed/app.d.ts +42 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +1 -1
- package/dist/src/embed/liveboard.d.ts +42 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +0 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/types.d.ts +62 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +14 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +88 -13
- package/dist/tsembed-react.js +88 -13
- package/dist/tsembed.es.js +89 -14
- package/dist/tsembed.js +89 -14
- package/dist/visual-embed-sdk-react-full.d.ts +161 -9
- package/dist/visual-embed-sdk-react.d.ts +161 -9
- package/dist/visual-embed-sdk.d.ts +161 -9
- package/lib/package.json +1 -1
- package/lib/src/embed/app.d.ts +42 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +4 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +30 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +1 -1
- package/lib/src/embed/base.js +1 -1
- package/lib/src/embed/liveboard.d.ts +42 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +4 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +33 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +0 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +1 -2
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/types.d.ts +62 -7
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +55 -6
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +14 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +21 -0
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/processData.js +2 -2
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js +14 -0
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +161 -9
- package/package.json +1 -1
- package/src/embed/app.spec.ts +45 -0
- package/src/embed/app.ts +48 -0
- package/src/embed/base.ts +1 -1
- package/src/embed/liveboard.spec.ts +48 -0
- package/src/embed/liveboard.ts +48 -0
- package/src/embed/ts-embed.ts +1 -2
- package/src/types.ts +62 -6
- package/src/utils/graphql/answerService/answerService.ts +27 -0
- package/src/utils/processData.spec.ts +16 -0
- package/src/utils/processData.ts +2 -2
package/dist/tsembed-react.es.js
CHANGED
|
@@ -1614,20 +1614,57 @@ var EmbedEvent;
|
|
|
1614
1614
|
*/
|
|
1615
1615
|
EmbedEvent["Rename"] = "rename";
|
|
1616
1616
|
/**
|
|
1617
|
-
* Emitted
|
|
1617
|
+
* Emitted if the user wants to intercept the search execution
|
|
1618
|
+
* and implement logic to decide whether to run the search or not
|
|
1618
1619
|
*
|
|
1619
|
-
* Set
|
|
1620
|
-
* this embed event
|
|
1620
|
+
* Prerequisite: Set isOnBeforeGetVizDataInterceptEnabled : true
|
|
1621
|
+
* for this embed event to get emitted.
|
|
1622
|
+
*
|
|
1623
|
+
* Parameter: payload
|
|
1624
|
+
* Parameter: responder
|
|
1625
|
+
* Contains elements that lets developers define whether ThoughtSpot
|
|
1626
|
+
* will run the search or not, and if not, which error message to provide.
|
|
1627
|
+
* execute: When execute returns true, the search will be run.
|
|
1628
|
+
* When execute returns false, the search will not be executed.
|
|
1629
|
+
* error: Developers can customize the user facing message when execute is
|
|
1630
|
+
* set to false using the error parameter in responder
|
|
1621
1631
|
*
|
|
1622
1632
|
*```js
|
|
1623
|
-
*
|
|
1633
|
+
* .on(EmbedEvent.OnBeforeGetVizDataIntercept,
|
|
1624
1634
|
* (payload, responder) => {
|
|
1625
1635
|
* responder({
|
|
1626
1636
|
* data: {
|
|
1627
|
-
* execute:
|
|
1628
|
-
*
|
|
1637
|
+
* execute:false,
|
|
1638
|
+
* error: {
|
|
1639
|
+
* //Provide a custom error message to explain to your end user
|
|
1640
|
+
* //why their search did not run
|
|
1641
|
+
* errorText: "This search query cannot be run.
|
|
1642
|
+
* Please contact your administrator for more details."
|
|
1643
|
+
* }
|
|
1644
|
+
* }})
|
|
1645
|
+
* })
|
|
1646
|
+
* ```
|
|
1647
|
+
*
|
|
1648
|
+
*```js
|
|
1649
|
+
* .on(EmbedEvent.OnBeforeGetVizDataIntercept,
|
|
1650
|
+
* (payload, responder) => {
|
|
1651
|
+
* const query = payload.data.data.answer.search_query
|
|
1652
|
+
* responder({
|
|
1653
|
+
* data: {
|
|
1654
|
+
* // returns true as long as the query does not include
|
|
1655
|
+
* // both the 'sales' AND the 'county' column
|
|
1656
|
+
* execute: !(query.includes("sales")&&query.includes("county")),
|
|
1657
|
+
* error: {
|
|
1658
|
+
* //Provide a custom error message to explain to your end user
|
|
1659
|
+
* // why their search did not run, and which searches are accepted by your custom logic.
|
|
1660
|
+
* errorText: "You can't use this query :" + query + ".
|
|
1661
|
+
* The 'sales' measures can never be used at the 'county' level.
|
|
1662
|
+
* Please try another measure, or remove 'county' from your search."
|
|
1663
|
+
* }
|
|
1664
|
+
* }})
|
|
1629
1665
|
* })
|
|
1630
1666
|
*```
|
|
1667
|
+
*
|
|
1631
1668
|
* @version SDK : 1.29.0 | Thoughtspot : 10.2.0.cl
|
|
1632
1669
|
*/
|
|
1633
1670
|
EmbedEvent["OnBeforeGetVizDataIntercept"] = "onBeforeGetVizDataIntercept";
|
|
@@ -1748,6 +1785,15 @@ var HostEvent;
|
|
|
1748
1785
|
* @hidden
|
|
1749
1786
|
*/
|
|
1750
1787
|
HostEvent["Reload"] = "reload";
|
|
1788
|
+
/**
|
|
1789
|
+
* Get current iframe src
|
|
1790
|
+
* @example
|
|
1791
|
+
* ```js
|
|
1792
|
+
* const frameUrl = AppEmbed.trigger(HostEvent.GetIframeUrl)
|
|
1793
|
+
* ```
|
|
1794
|
+
* @version SDK: 1.35.0 | Thoughtspot: 10.4.0.cl
|
|
1795
|
+
*/
|
|
1796
|
+
HostEvent["GetIframeUrl"] = "GetIframeUrl";
|
|
1751
1797
|
/**
|
|
1752
1798
|
* Display specific visualizations on a Liveboard.
|
|
1753
1799
|
* @param - An array of GUIDs of the visualization to show. The visualization IDs not passed
|
|
@@ -2618,6 +2664,9 @@ var Param;
|
|
|
2618
2664
|
Param["FocusSearchBarOnRender"] = "focusSearchBarOnRender";
|
|
2619
2665
|
Param["DisableRedirectionLinksInNewTab"] = "disableRedirectionLinksInNewTab";
|
|
2620
2666
|
Param["HomePageSearchBarMode"] = "homePageSearchBarMode";
|
|
2667
|
+
Param["ShowLiveboardVerifiedBadge"] = "showLiveboardVerifiedBadge";
|
|
2668
|
+
Param["ShowLiveboardReverifyBanner"] = "showLiveboardReverifyBanner";
|
|
2669
|
+
Param["LiveboardHeaderV2"] = "isLiveboardHeaderV2Enabled";
|
|
2621
2670
|
})(Param || (Param = {}));
|
|
2622
2671
|
/**
|
|
2623
2672
|
* ThoughtSpot application pages include actions and menu commands
|
|
@@ -6687,6 +6736,20 @@ class AnswerService {
|
|
|
6687
6736
|
credentials: 'include',
|
|
6688
6737
|
});
|
|
6689
6738
|
}
|
|
6739
|
+
/**
|
|
6740
|
+
* Fetch the data for the answer as a PNG blob. This might be
|
|
6741
|
+
* quicker for larger data.
|
|
6742
|
+
* @param userLocale
|
|
6743
|
+
* @param omitBackground Omit the background in the PNG
|
|
6744
|
+
* @param deviceScaleFactor The scale factor for the PNG
|
|
6745
|
+
* @return Response
|
|
6746
|
+
*/
|
|
6747
|
+
async fetchPNGBlob(userLocale = 'en-us', includeInfo = false, omitBackground = false, deviceScaleFactor = 2) {
|
|
6748
|
+
const fetchUrl = this.getFetchPNGBlobUrl(userLocale, omitBackground, deviceScaleFactor);
|
|
6749
|
+
return tokenizedFetch(fetchUrl, {
|
|
6750
|
+
credentials: 'include',
|
|
6751
|
+
});
|
|
6752
|
+
}
|
|
6690
6753
|
/**
|
|
6691
6754
|
* Just get the internal URL for this answer's data
|
|
6692
6755
|
* as a CSV blob.
|
|
@@ -6697,6 +6760,13 @@ class AnswerService {
|
|
|
6697
6760
|
getFetchCSVBlobUrl(userLocale = 'en-us', includeInfo = false) {
|
|
6698
6761
|
return `${this.thoughtSpotHost}/prism/download/answer/csv?sessionId=${this.session.sessionId}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data&hideCsvHeader=${!includeInfo}`;
|
|
6699
6762
|
}
|
|
6763
|
+
/**
|
|
6764
|
+
* Just get the internal URL for this answer's data
|
|
6765
|
+
* as a PNG blob.
|
|
6766
|
+
*/
|
|
6767
|
+
getFetchPNGBlobUrl(userLocale = 'en-us', omitBackground = false, deviceScaleFactor = 2) {
|
|
6768
|
+
return `${this.thoughtSpotHost}/prism/download/answer/png?sessionId=${this.session.sessionId}&deviceScaleFactor=${deviceScaleFactor}&omitBackground=${omitBackground}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data`;
|
|
6769
|
+
}
|
|
6700
6770
|
/**
|
|
6701
6771
|
* Get underlying data given a point and the output column names.
|
|
6702
6772
|
* In case of a context menu action, the selectedPoints are
|
|
@@ -13873,8 +13943,8 @@ function processNoCookieAccess(e, containerEl) {
|
|
|
13873
13943
|
* @param containerEl
|
|
13874
13944
|
*/
|
|
13875
13945
|
function processAuthFailure(e, containerEl) {
|
|
13876
|
-
const { loginFailedMessage, authType } = getEmbedConfig();
|
|
13877
|
-
if (authType !== AuthType.None) {
|
|
13946
|
+
const { loginFailedMessage, authType, disableLoginFailurePage } = getEmbedConfig();
|
|
13947
|
+
if (authType !== AuthType.None && !disableLoginFailurePage) {
|
|
13878
13948
|
// eslint-disable-next-line no-param-reassign
|
|
13879
13949
|
containerEl.innerHTML = loginFailedMessage;
|
|
13880
13950
|
notifyAuthFailure(AuthFailureType.OTHER);
|
|
@@ -13975,7 +14045,7 @@ function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
|
|
|
13975
14045
|
});
|
|
13976
14046
|
}
|
|
13977
14047
|
|
|
13978
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.32.
|
|
14048
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.32.6";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={".":{"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","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",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && 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",dev:"vite -c vite.local.config.ts"};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":"^46.9.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/lodash":"^4.17.0","@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","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",vite:"^5.3.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","embedded","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,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.js",limit:"48 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};
|
|
13979
14049
|
|
|
13980
14050
|
/**
|
|
13981
14051
|
* Copyright (c) 2022
|
|
@@ -14935,7 +15005,7 @@ class TsEmbed {
|
|
|
14935
15005
|
* @version SDK: 1.25.0 / ThoughtSpot 9.10.0
|
|
14936
15006
|
*/
|
|
14937
15007
|
async getAnswerService(vizId) {
|
|
14938
|
-
const { session } = await this.trigger(HostEvent.GetAnswerSession, vizId);
|
|
15008
|
+
const { session } = await this.trigger(HostEvent.GetAnswerSession, vizId ? { vizId } : {});
|
|
14939
15009
|
return new AnswerService(session, null, this.embedConfig.thoughtSpotHost);
|
|
14940
15010
|
}
|
|
14941
15011
|
}
|
|
@@ -14950,7 +15020,6 @@ class V1Embed extends TsEmbed {
|
|
|
14950
15020
|
super(domSelector, viewConfig);
|
|
14951
15021
|
/**
|
|
14952
15022
|
* Only for testing purposes.
|
|
14953
|
-
*
|
|
14954
15023
|
* @hidden
|
|
14955
15024
|
*/
|
|
14956
15025
|
// eslint-disable-next-line camelcase
|
|
@@ -15416,7 +15485,7 @@ class AppEmbed extends V1Embed {
|
|
|
15416
15485
|
getEmbedParams() {
|
|
15417
15486
|
const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
|
|
15418
15487
|
/* eslint-disable-next-line max-len */
|
|
15419
|
-
dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, homePageSearchBarMode, } = this.viewConfig;
|
|
15488
|
+
dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, homePageSearchBarMode, } = this.viewConfig;
|
|
15420
15489
|
let params = {};
|
|
15421
15490
|
params[Param.EmbedApp] = true;
|
|
15422
15491
|
params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
|
|
@@ -15428,6 +15497,9 @@ class AppEmbed extends V1Embed {
|
|
|
15428
15497
|
params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
|
|
15429
15498
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
15430
15499
|
params[Param.IsFullAppEmbed] = true;
|
|
15500
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
15501
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
15502
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
15431
15503
|
params = this.getBaseQueryParams(params);
|
|
15432
15504
|
if (fullHeight === true) {
|
|
15433
15505
|
params[Param.fullHeight] = true;
|
|
@@ -15700,7 +15772,7 @@ class LiveboardEmbed extends V1Embed {
|
|
|
15700
15772
|
let params = {};
|
|
15701
15773
|
params[Param.EmbedApp] = true;
|
|
15702
15774
|
params = this.getBaseQueryParams(params);
|
|
15703
|
-
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, } = this.viewConfig;
|
|
15775
|
+
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, } = this.viewConfig;
|
|
15704
15776
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
15705
15777
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
15706
15778
|
if (fullHeight === true) {
|
|
@@ -15744,6 +15816,9 @@ class LiveboardEmbed extends V1Embed {
|
|
|
15744
15816
|
params[Param.enableAskSage] = enableAskSage;
|
|
15745
15817
|
}
|
|
15746
15818
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
15819
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
15820
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
15821
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
15747
15822
|
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
15748
15823
|
const queryParams = getQueryParamString(params, true);
|
|
15749
15824
|
return queryParams;
|
package/dist/tsembed-react.js
CHANGED
|
@@ -1578,20 +1578,57 @@
|
|
|
1578
1578
|
*/
|
|
1579
1579
|
EmbedEvent["Rename"] = "rename";
|
|
1580
1580
|
/**
|
|
1581
|
-
* Emitted
|
|
1581
|
+
* Emitted if the user wants to intercept the search execution
|
|
1582
|
+
* and implement logic to decide whether to run the search or not
|
|
1582
1583
|
*
|
|
1583
|
-
* Set
|
|
1584
|
-
* this embed event
|
|
1584
|
+
* Prerequisite: Set isOnBeforeGetVizDataInterceptEnabled : true
|
|
1585
|
+
* for this embed event to get emitted.
|
|
1586
|
+
*
|
|
1587
|
+
* Parameter: payload
|
|
1588
|
+
* Parameter: responder
|
|
1589
|
+
* Contains elements that lets developers define whether ThoughtSpot
|
|
1590
|
+
* will run the search or not, and if not, which error message to provide.
|
|
1591
|
+
* execute: When execute returns true, the search will be run.
|
|
1592
|
+
* When execute returns false, the search will not be executed.
|
|
1593
|
+
* error: Developers can customize the user facing message when execute is
|
|
1594
|
+
* set to false using the error parameter in responder
|
|
1585
1595
|
*
|
|
1586
1596
|
*```js
|
|
1587
|
-
*
|
|
1597
|
+
* .on(EmbedEvent.OnBeforeGetVizDataIntercept,
|
|
1588
1598
|
* (payload, responder) => {
|
|
1589
1599
|
* responder({
|
|
1590
1600
|
* data: {
|
|
1591
|
-
* execute:
|
|
1592
|
-
*
|
|
1601
|
+
* execute:false,
|
|
1602
|
+
* error: {
|
|
1603
|
+
* //Provide a custom error message to explain to your end user
|
|
1604
|
+
* //why their search did not run
|
|
1605
|
+
* errorText: "This search query cannot be run.
|
|
1606
|
+
* Please contact your administrator for more details."
|
|
1607
|
+
* }
|
|
1608
|
+
* }})
|
|
1609
|
+
* })
|
|
1610
|
+
* ```
|
|
1611
|
+
*
|
|
1612
|
+
*```js
|
|
1613
|
+
* .on(EmbedEvent.OnBeforeGetVizDataIntercept,
|
|
1614
|
+
* (payload, responder) => {
|
|
1615
|
+
* const query = payload.data.data.answer.search_query
|
|
1616
|
+
* responder({
|
|
1617
|
+
* data: {
|
|
1618
|
+
* // returns true as long as the query does not include
|
|
1619
|
+
* // both the 'sales' AND the 'county' column
|
|
1620
|
+
* execute: !(query.includes("sales")&&query.includes("county")),
|
|
1621
|
+
* error: {
|
|
1622
|
+
* //Provide a custom error message to explain to your end user
|
|
1623
|
+
* // why their search did not run, and which searches are accepted by your custom logic.
|
|
1624
|
+
* errorText: "You can't use this query :" + query + ".
|
|
1625
|
+
* The 'sales' measures can never be used at the 'county' level.
|
|
1626
|
+
* Please try another measure, or remove 'county' from your search."
|
|
1627
|
+
* }
|
|
1628
|
+
* }})
|
|
1593
1629
|
* })
|
|
1594
1630
|
*```
|
|
1631
|
+
*
|
|
1595
1632
|
* @version SDK : 1.29.0 | Thoughtspot : 10.2.0.cl
|
|
1596
1633
|
*/
|
|
1597
1634
|
EmbedEvent["OnBeforeGetVizDataIntercept"] = "onBeforeGetVizDataIntercept";
|
|
@@ -1689,6 +1726,15 @@
|
|
|
1689
1726
|
* @hidden
|
|
1690
1727
|
*/
|
|
1691
1728
|
HostEvent["Reload"] = "reload";
|
|
1729
|
+
/**
|
|
1730
|
+
* Get current iframe src
|
|
1731
|
+
* @example
|
|
1732
|
+
* ```js
|
|
1733
|
+
* const frameUrl = AppEmbed.trigger(HostEvent.GetIframeUrl)
|
|
1734
|
+
* ```
|
|
1735
|
+
* @version SDK: 1.35.0 | Thoughtspot: 10.4.0.cl
|
|
1736
|
+
*/
|
|
1737
|
+
HostEvent["GetIframeUrl"] = "GetIframeUrl";
|
|
1692
1738
|
/**
|
|
1693
1739
|
* Display specific visualizations on a Liveboard.
|
|
1694
1740
|
* @param - An array of GUIDs of the visualization to show. The visualization IDs not passed
|
|
@@ -2559,6 +2605,9 @@
|
|
|
2559
2605
|
Param["FocusSearchBarOnRender"] = "focusSearchBarOnRender";
|
|
2560
2606
|
Param["DisableRedirectionLinksInNewTab"] = "disableRedirectionLinksInNewTab";
|
|
2561
2607
|
Param["HomePageSearchBarMode"] = "homePageSearchBarMode";
|
|
2608
|
+
Param["ShowLiveboardVerifiedBadge"] = "showLiveboardVerifiedBadge";
|
|
2609
|
+
Param["ShowLiveboardReverifyBanner"] = "showLiveboardReverifyBanner";
|
|
2610
|
+
Param["LiveboardHeaderV2"] = "isLiveboardHeaderV2Enabled";
|
|
2562
2611
|
})(Param || (Param = {}));
|
|
2563
2612
|
(function (Action) {
|
|
2564
2613
|
/**
|
|
@@ -6599,6 +6648,20 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
6599
6648
|
credentials: 'include',
|
|
6600
6649
|
});
|
|
6601
6650
|
}
|
|
6651
|
+
/**
|
|
6652
|
+
* Fetch the data for the answer as a PNG blob. This might be
|
|
6653
|
+
* quicker for larger data.
|
|
6654
|
+
* @param userLocale
|
|
6655
|
+
* @param omitBackground Omit the background in the PNG
|
|
6656
|
+
* @param deviceScaleFactor The scale factor for the PNG
|
|
6657
|
+
* @return Response
|
|
6658
|
+
*/
|
|
6659
|
+
async fetchPNGBlob(userLocale = 'en-us', includeInfo = false, omitBackground = false, deviceScaleFactor = 2) {
|
|
6660
|
+
const fetchUrl = this.getFetchPNGBlobUrl(userLocale, omitBackground, deviceScaleFactor);
|
|
6661
|
+
return tokenizedFetch(fetchUrl, {
|
|
6662
|
+
credentials: 'include',
|
|
6663
|
+
});
|
|
6664
|
+
}
|
|
6602
6665
|
/**
|
|
6603
6666
|
* Just get the internal URL for this answer's data
|
|
6604
6667
|
* as a CSV blob.
|
|
@@ -6609,6 +6672,13 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
6609
6672
|
getFetchCSVBlobUrl(userLocale = 'en-us', includeInfo = false) {
|
|
6610
6673
|
return `${this.thoughtSpotHost}/prism/download/answer/csv?sessionId=${this.session.sessionId}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data&hideCsvHeader=${!includeInfo}`;
|
|
6611
6674
|
}
|
|
6675
|
+
/**
|
|
6676
|
+
* Just get the internal URL for this answer's data
|
|
6677
|
+
* as a PNG blob.
|
|
6678
|
+
*/
|
|
6679
|
+
getFetchPNGBlobUrl(userLocale = 'en-us', omitBackground = false, deviceScaleFactor = 2) {
|
|
6680
|
+
return `${this.thoughtSpotHost}/prism/download/answer/png?sessionId=${this.session.sessionId}&deviceScaleFactor=${deviceScaleFactor}&omitBackground=${omitBackground}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data`;
|
|
6681
|
+
}
|
|
6612
6682
|
/**
|
|
6613
6683
|
* Get underlying data given a point and the output column names.
|
|
6614
6684
|
* In case of a context menu action, the selectedPoints are
|
|
@@ -13785,8 +13855,8 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
13785
13855
|
* @param containerEl
|
|
13786
13856
|
*/
|
|
13787
13857
|
function processAuthFailure(e, containerEl) {
|
|
13788
|
-
const { loginFailedMessage, authType } = getEmbedConfig();
|
|
13789
|
-
if (authType !== AuthType.None) {
|
|
13858
|
+
const { loginFailedMessage, authType, disableLoginFailurePage } = getEmbedConfig();
|
|
13859
|
+
if (authType !== AuthType.None && !disableLoginFailurePage) {
|
|
13790
13860
|
// eslint-disable-next-line no-param-reassign
|
|
13791
13861
|
containerEl.innerHTML = loginFailedMessage;
|
|
13792
13862
|
notifyAuthFailure(AuthFailureType.OTHER);
|
|
@@ -13887,7 +13957,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
13887
13957
|
});
|
|
13888
13958
|
}
|
|
13889
13959
|
|
|
13890
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.32.
|
|
13960
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.32.6";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","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",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme --json static/typedoc/typedoc.json --disableOutputCheck","test-sdk":"jest -c jest.config.sdk.js --runInBand",test:"npm run test-sdk",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run is-publish-allowed && npm run test && 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",dev:"vite -c vite.local.config.ts"};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":"^46.9.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/lodash":"^4.17.0","@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","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",vite:"^5.3.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","embedded","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:"48 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};
|
|
13891
13961
|
|
|
13892
13962
|
/**
|
|
13893
13963
|
* Copyright (c) 2022
|
|
@@ -14847,7 +14917,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
14847
14917
|
* @version SDK: 1.25.0 / ThoughtSpot 9.10.0
|
|
14848
14918
|
*/
|
|
14849
14919
|
async getAnswerService(vizId) {
|
|
14850
|
-
const { session } = await this.trigger(exports.HostEvent.GetAnswerSession, vizId);
|
|
14920
|
+
const { session } = await this.trigger(exports.HostEvent.GetAnswerSession, vizId ? { vizId } : {});
|
|
14851
14921
|
return new AnswerService(session, null, this.embedConfig.thoughtSpotHost);
|
|
14852
14922
|
}
|
|
14853
14923
|
}
|
|
@@ -14862,7 +14932,6 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
14862
14932
|
super(domSelector, viewConfig);
|
|
14863
14933
|
/**
|
|
14864
14934
|
* Only for testing purposes.
|
|
14865
|
-
*
|
|
14866
14935
|
* @hidden
|
|
14867
14936
|
*/
|
|
14868
14937
|
// eslint-disable-next-line camelcase
|
|
@@ -15323,7 +15392,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
15323
15392
|
getEmbedParams() {
|
|
15324
15393
|
const { tag, hideObjects, liveboardV2, showPrimaryNavbar, disableProfileAndHelp, hideApplicationSwitcher, hideOrgSwitcher, enableSearchAssist, fullHeight, dataPanelV2 = true, hideLiveboardHeader = false, showLiveboardTitle = true, showLiveboardDescription = true, hideHomepageLeftNav = false, modularHomeExperience = false, isLiveboardHeaderSticky = true, enableAskSage, collapseSearchBarInitially = false, enable2ColumnLayout, enableCustomColumnGroups = false, isOnBeforeGetVizDataInterceptEnabled = false,
|
|
15325
15394
|
/* eslint-disable-next-line max-len */
|
|
15326
|
-
dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, homePageSearchBarMode, } = this.viewConfig;
|
|
15395
|
+
dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState$1.EXPAND_ALL, collapseSearchBar = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, homePageSearchBarMode, } = this.viewConfig;
|
|
15327
15396
|
let params = {};
|
|
15328
15397
|
params[Param.EmbedApp] = true;
|
|
15329
15398
|
params[Param.PrimaryNavHidden] = !showPrimaryNavbar;
|
|
@@ -15335,6 +15404,9 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
15335
15404
|
params[Param.ShowLiveboardDescription] = !!showLiveboardDescription;
|
|
15336
15405
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
15337
15406
|
params[Param.IsFullAppEmbed] = true;
|
|
15407
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
15408
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
15409
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
15338
15410
|
params = this.getBaseQueryParams(params);
|
|
15339
15411
|
if (fullHeight === true) {
|
|
15340
15412
|
params[Param.fullHeight] = true;
|
|
@@ -15607,7 +15679,7 @@ query GetEurekaVizSnapshots(
|
|
|
15607
15679
|
let params = {};
|
|
15608
15680
|
params[Param.EmbedApp] = true;
|
|
15609
15681
|
params = this.getBaseQueryParams(params);
|
|
15610
|
-
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, } = this.viewConfig;
|
|
15682
|
+
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, hideLiveboardHeader, showLiveboardDescription, showLiveboardTitle, isLiveboardHeaderSticky = true, isLiveboardCompactHeaderEnabled = false, showLiveboardVerifiedBadge = true, showLiveboardReverifyBanner = true, enableAskSage, enable2ColumnLayout, dataPanelV2 = true, } = this.viewConfig;
|
|
15611
15683
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
15612
15684
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
15613
15685
|
if (fullHeight === true) {
|
|
@@ -15651,6 +15723,9 @@ query GetEurekaVizSnapshots(
|
|
|
15651
15723
|
params[Param.enableAskSage] = enableAskSage;
|
|
15652
15724
|
}
|
|
15653
15725
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
15726
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
15727
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
15728
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
15654
15729
|
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
15655
15730
|
const queryParams = getQueryParamString(params, true);
|
|
15656
15731
|
return queryParams;
|