@thoughtspot/visual-embed-sdk 1.24.0-alpha.6 → 1.24.0-dev
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 -2
- package/cjs/src/embed/app.d.ts +1 -0
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +1 -0
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +6 -1
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +10 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +23 -7
- package/cjs/src/embed/liveboard.spec.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 +4 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +15 -0
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +19 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +136 -6
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +38 -1
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +1 -0
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +18 -4
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +87 -7
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +60 -5
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +9 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +36 -1
- package/cjs/src/utils.js.map +1 -1
- package/cjs/src/utils.spec.js +24 -0
- package/cjs/src/utils.spec.js.map +1 -1
- package/dist/src/embed/app.d.ts +1 -0
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +6 -1
- package/dist/src/embed/liveboard.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 +19 -0
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +87 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +9 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +264 -21
- package/dist/tsembed-react.js +264 -20
- package/dist/tsembed.es.js +245 -16
- package/dist/tsembed.js +245 -16
- package/dist/visual-embed-sdk-react-full.d.ts +115 -7
- package/dist/visual-embed-sdk-react.d.ts +115 -7
- package/dist/visual-embed-sdk.d.ts +114 -7
- package/lib/package.json +2 -2
- package/lib/src/embed/app.d.ts +1 -0
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +1 -0
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +6 -1
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +11 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +23 -7
- package/lib/src/embed/liveboard.spec.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 +5 -2
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +15 -0
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +19 -0
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +137 -7
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +38 -1
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +1 -0
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +17 -3
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +87 -7
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +60 -5
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +9 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +32 -0
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js +25 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +116 -9
- package/package.json +5 -5
- package/src/embed/app.ts +1 -0
- package/src/embed/liveboard.spec.ts +29 -10
- package/src/embed/liveboard.ts +19 -2
- package/src/embed/search.spec.ts +18 -0
- package/src/embed/search.ts +16 -1
- package/src/embed/ts-embed.spec.ts +40 -1
- package/src/embed/ts-embed.ts +174 -14
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.tsx +25 -8
- package/src/types.ts +97 -16
- package/src/utils.spec.ts +31 -0
- package/src/utils.ts +43 -0
package/dist/tsembed-react.js
CHANGED
|
@@ -194,6 +194,24 @@
|
|
|
194
194
|
}
|
|
195
195
|
return null;
|
|
196
196
|
};
|
|
197
|
+
/**
|
|
198
|
+
* Construct a runtime parameter override query string from the given option.
|
|
199
|
+
*
|
|
200
|
+
* @param runtimeParameters
|
|
201
|
+
*/
|
|
202
|
+
const getRuntimeParameters = (runtimeParameters) => {
|
|
203
|
+
if (runtimeParameters && runtimeParameters.length) {
|
|
204
|
+
const params = runtimeParameters.map((param, valueIndex) => {
|
|
205
|
+
const index = valueIndex + 1;
|
|
206
|
+
const filterExpr = [];
|
|
207
|
+
filterExpr.push(`param${index}=${encodeURIComponent(param.name)}`);
|
|
208
|
+
filterExpr.push(`paramVal${index}=${encodeURIComponent(param.value)}`);
|
|
209
|
+
return filterExpr.join('&');
|
|
210
|
+
});
|
|
211
|
+
return `${params.join('&')}`;
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
};
|
|
197
215
|
/**
|
|
198
216
|
* Convert a value to a string representation to be sent as a query
|
|
199
217
|
* parameter to the ThoughtSpot app.
|
|
@@ -342,7 +360,21 @@
|
|
|
342
360
|
function getDOMNode(domSelector) {
|
|
343
361
|
return typeof domSelector === 'string' ? document.querySelector(domSelector) : domSelector;
|
|
344
362
|
}
|
|
345
|
-
const deepMerge = (target, source) => merge(target, source);
|
|
363
|
+
const deepMerge = (target, source) => merge(target, source);
|
|
364
|
+
const setStyleProperties = (element, styleProperties) => {
|
|
365
|
+
if (!element || !styleProperties)
|
|
366
|
+
return;
|
|
367
|
+
Object.keys(styleProperties).forEach((styleProperty) => {
|
|
368
|
+
element.style[styleProperty] = styleProperties[styleProperty].toString();
|
|
369
|
+
});
|
|
370
|
+
};
|
|
371
|
+
const removeStyleProperties = (element, styleProperties) => {
|
|
372
|
+
if (!element || !styleProperties)
|
|
373
|
+
return;
|
|
374
|
+
styleProperties.forEach((styleProperty) => {
|
|
375
|
+
element.style.removeProperty(styleProperty);
|
|
376
|
+
});
|
|
377
|
+
};
|
|
346
378
|
|
|
347
379
|
/**
|
|
348
380
|
* Copyright (c) 2023
|
|
@@ -1020,21 +1052,21 @@
|
|
|
1020
1052
|
*/
|
|
1021
1053
|
EmbedEvent["InsertIntoSlide"] = "insertInToSlide";
|
|
1022
1054
|
/**
|
|
1055
|
+
* @hidden
|
|
1023
1056
|
* Emitted when a user changes any filter on a Liveboard.
|
|
1024
|
-
*
|
|
1025
1057
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
1026
1058
|
*/
|
|
1027
1059
|
EmbedEvent["FilterChanged"] = "filterChanged";
|
|
1028
1060
|
/**
|
|
1029
1061
|
* Emitted when a user click on Go button in Sage Embed
|
|
1030
1062
|
*
|
|
1031
|
-
* @version SDK : 1.
|
|
1063
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1032
1064
|
*/
|
|
1033
1065
|
EmbedEvent["SageEmbedQuery"] = "sageEmbedQuery";
|
|
1034
1066
|
/**
|
|
1035
1067
|
* Emitten when a user select data source in Sage Embed
|
|
1036
1068
|
*
|
|
1037
|
-
* @version SDK : 1.
|
|
1069
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1038
1070
|
*/
|
|
1039
1071
|
EmbedEvent["SageWorksheetUpdated"] = "sageWorksheetUpdated";
|
|
1040
1072
|
/**
|
|
@@ -1043,6 +1075,51 @@
|
|
|
1043
1075
|
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
1044
1076
|
*/
|
|
1045
1077
|
EmbedEvent["UpdateConnection"] = "updateConnection";
|
|
1078
|
+
/**
|
|
1079
|
+
* Emitted when name, status (private or public) or filter values of a
|
|
1080
|
+
* PersonalisedView is updated.
|
|
1081
|
+
*
|
|
1082
|
+
* @returns viewName: string
|
|
1083
|
+
* @returns viewId: string
|
|
1084
|
+
* @returns liveboardId: string
|
|
1085
|
+
* @returns isPublic: boolean
|
|
1086
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1087
|
+
*/
|
|
1088
|
+
EmbedEvent["UpdatePersonalisedView"] = "updatePersonalisedView";
|
|
1089
|
+
/**
|
|
1090
|
+
* Emitted when a PersonalisedView is saved.
|
|
1091
|
+
*
|
|
1092
|
+
* @returns viewName: string
|
|
1093
|
+
* @returns viewId: string
|
|
1094
|
+
* @returns liveboardId: string
|
|
1095
|
+
* @returns isPublic: boolean
|
|
1096
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1097
|
+
*/
|
|
1098
|
+
EmbedEvent["SavePersonalisedView"] = "savePersonalisedView";
|
|
1099
|
+
/**
|
|
1100
|
+
* Emitted when a Liveboard is reset.
|
|
1101
|
+
*
|
|
1102
|
+
* @returns viewName: string
|
|
1103
|
+
* @returns viewId: string
|
|
1104
|
+
* @returns liveboardId: string
|
|
1105
|
+
* @returns isPublic: boolean
|
|
1106
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1107
|
+
*/
|
|
1108
|
+
EmbedEvent["ResetLiveboard"] = "resetLiveboard";
|
|
1109
|
+
/**
|
|
1110
|
+
* Emitted when a PersonalisedView is deleted.
|
|
1111
|
+
*
|
|
1112
|
+
* @returns views: string[]
|
|
1113
|
+
* @returns liveboardId: string
|
|
1114
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
1115
|
+
*/
|
|
1116
|
+
EmbedEvent["DeletePersonalisedView"] = "deletePersonalisedView";
|
|
1117
|
+
/**
|
|
1118
|
+
* Emitten when a user creates a new worksheet
|
|
1119
|
+
*
|
|
1120
|
+
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
1121
|
+
*/
|
|
1122
|
+
EmbedEvent["CreateWorksheet"] = "createWorksheet";
|
|
1046
1123
|
})(exports.EmbedEvent || (exports.EmbedEvent = {}));
|
|
1047
1124
|
(function (HostEvent) {
|
|
1048
1125
|
/**
|
|
@@ -1663,16 +1740,16 @@
|
|
|
1663
1740
|
*/
|
|
1664
1741
|
HostEvent["ResetSearch"] = "resetSearch";
|
|
1665
1742
|
/**
|
|
1743
|
+
* @hidden
|
|
1666
1744
|
* Gets the currents visible and runtime filters applied on a Liveboard
|
|
1667
|
-
*
|
|
1668
1745
|
* @example
|
|
1669
1746
|
* liveboardEmbed.trigger(HostEvent.GetFilters)
|
|
1670
1747
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
1671
1748
|
*/
|
|
1672
1749
|
HostEvent["GetFilters"] = "getFilters";
|
|
1673
1750
|
/**
|
|
1751
|
+
* @hidden
|
|
1674
1752
|
* Updates the visible filters on the Liveboard.
|
|
1675
|
-
*
|
|
1676
1753
|
* @param - filter: filter object containing column name and filter operation and values
|
|
1677
1754
|
* @example
|
|
1678
1755
|
*
|
|
@@ -2631,6 +2708,16 @@
|
|
|
2631
2708
|
* ```
|
|
2632
2709
|
*/
|
|
2633
2710
|
Action["ManageMonitor"] = "ManageMonitor";
|
|
2711
|
+
/**
|
|
2712
|
+
* Action ID for Liveboard Personalised Views dropdown
|
|
2713
|
+
*
|
|
2714
|
+
* @example
|
|
2715
|
+
* ```js
|
|
2716
|
+
* disabledActions: [Action.PersonalisedViewsDropdown]
|
|
2717
|
+
* ```
|
|
2718
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2719
|
+
*/
|
|
2720
|
+
Action["PersonalisedViewsDropdown"] = "personalisedViewsDropdown";
|
|
2634
2721
|
})(exports.Action || (exports.Action = {}));
|
|
2635
2722
|
// eslint-disable-next-line no-shadow
|
|
2636
2723
|
var OperationType;
|
|
@@ -10245,7 +10332,7 @@
|
|
|
10245
10332
|
});
|
|
10246
10333
|
}
|
|
10247
10334
|
|
|
10248
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-
|
|
10335
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-dev";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-puppeteer":"^4.4.0",jsdom:"^17.0.0","node-sass":"^8.0.0",prettier:"2.1.2",puppeteer:"^7.0.1",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-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};
|
|
10249
10336
|
|
|
10250
10337
|
/**
|
|
10251
10338
|
* Copyright (c) 2022
|
|
@@ -10304,11 +10391,14 @@
|
|
|
10304
10391
|
data: {
|
|
10305
10392
|
customisations: getCustomisations(this.embedConfig, this.viewConfig),
|
|
10306
10393
|
authToken,
|
|
10307
|
-
runtimeFilterParams:
|
|
10394
|
+
runtimeFilterParams: this.viewConfig.excludeRuntimeFiltersfromURL
|
|
10395
|
+
? getRuntimeFilters(this.viewConfig.runtimeFilters)
|
|
10396
|
+
: null,
|
|
10308
10397
|
hiddenHomepageModules: this.viewConfig.hiddenHomepageModules || [],
|
|
10309
10398
|
hostConfig: this.embedConfig.hostConfig,
|
|
10310
10399
|
hiddenHomeLeftNavItems: ((_a = this.viewConfig) === null || _a === void 0 ? void 0 : _a.hiddenHomeLeftNavItems)
|
|
10311
|
-
? (_b = this.viewConfig) === null || _b === void 0 ? void 0 : _b.hiddenHomeLeftNavItems
|
|
10400
|
+
? (_b = this.viewConfig) === null || _b === void 0 ? void 0 : _b.hiddenHomeLeftNavItems
|
|
10401
|
+
: [],
|
|
10312
10402
|
},
|
|
10313
10403
|
});
|
|
10314
10404
|
};
|
|
@@ -10637,7 +10727,12 @@
|
|
|
10637
10727
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
|
|
10638
10728
|
return (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
|
|
10639
10729
|
if (!isLoggedIn) {
|
|
10640
|
-
|
|
10730
|
+
if (this.isPreRendered) {
|
|
10731
|
+
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
10732
|
+
}
|
|
10733
|
+
else {
|
|
10734
|
+
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
10735
|
+
}
|
|
10641
10736
|
return;
|
|
10642
10737
|
}
|
|
10643
10738
|
this.iFrame = this.iFrame || this.createIframeEl(url);
|
|
@@ -10659,7 +10754,12 @@
|
|
|
10659
10754
|
this.iFrame.addEventListener('error', () => {
|
|
10660
10755
|
nextInQueue();
|
|
10661
10756
|
});
|
|
10662
|
-
|
|
10757
|
+
if (this.isPreRendered) {
|
|
10758
|
+
this.insertIntoDOMForPreRender(this.iFrame);
|
|
10759
|
+
}
|
|
10760
|
+
else {
|
|
10761
|
+
this.insertIntoDOM(this.iFrame);
|
|
10762
|
+
}
|
|
10663
10763
|
const prefetchIframe = document.querySelectorAll('.prefetchIframe');
|
|
10664
10764
|
if (prefetchIframe.length) {
|
|
10665
10765
|
prefetchIframe.forEach((el) => {
|
|
@@ -10672,11 +10772,119 @@
|
|
|
10672
10772
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED, {
|
|
10673
10773
|
error: JSON.stringify(error),
|
|
10674
10774
|
});
|
|
10675
|
-
|
|
10775
|
+
if (this.isPreRendered) {
|
|
10776
|
+
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
10777
|
+
}
|
|
10778
|
+
else {
|
|
10779
|
+
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
10780
|
+
}
|
|
10676
10781
|
this.handleError(error);
|
|
10677
10782
|
});
|
|
10678
10783
|
});
|
|
10679
10784
|
}
|
|
10785
|
+
getPreRenderIds() {
|
|
10786
|
+
return {
|
|
10787
|
+
wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
|
|
10788
|
+
shield: `tsEmbed-pre-render-shield-${this.viewConfig.preRenderId}`,
|
|
10789
|
+
child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
|
|
10790
|
+
};
|
|
10791
|
+
}
|
|
10792
|
+
createPreRenderWrapper(child) {
|
|
10793
|
+
if (!this.viewConfig.preRenderId) {
|
|
10794
|
+
throw new Error('Pre render id is required');
|
|
10795
|
+
}
|
|
10796
|
+
const preRenderIds = this.getPreRenderIds();
|
|
10797
|
+
const stalePreRenderWrapper = document.getElementById(preRenderIds.wrapper);
|
|
10798
|
+
if (stalePreRenderWrapper) {
|
|
10799
|
+
console.log('Found stale wrapper , removing');
|
|
10800
|
+
stalePreRenderWrapper.remove();
|
|
10801
|
+
}
|
|
10802
|
+
const preRenderWrapper = document.createElement('div');
|
|
10803
|
+
preRenderWrapper.id = preRenderIds.wrapper;
|
|
10804
|
+
setStyleProperties(preRenderWrapper, { position: 'absolute', width: '100vw', height: '100vh' });
|
|
10805
|
+
const preRenderShield = document.createElement('div');
|
|
10806
|
+
preRenderShield.id = preRenderIds.shield;
|
|
10807
|
+
setStyleProperties(preRenderShield, { position: 'absolute', width: '100%', height: '100%' });
|
|
10808
|
+
child.id = preRenderIds.child;
|
|
10809
|
+
preRenderWrapper.appendChild(child);
|
|
10810
|
+
preRenderWrapper.appendChild(preRenderShield);
|
|
10811
|
+
this.preRenderWrapper = preRenderWrapper;
|
|
10812
|
+
this.preRenderShield = preRenderShield;
|
|
10813
|
+
this.preRenderChild = child;
|
|
10814
|
+
return preRenderWrapper;
|
|
10815
|
+
}
|
|
10816
|
+
isPreRenderAvailable() {
|
|
10817
|
+
const preRenderIds = this.getPreRenderIds();
|
|
10818
|
+
this.preRenderWrapper = this.preRenderWrapper
|
|
10819
|
+
|| document.getElementById(preRenderIds.wrapper);
|
|
10820
|
+
this.preRenderShield = this.preRenderShield
|
|
10821
|
+
|| document.getElementById(preRenderIds.shield);
|
|
10822
|
+
this.preRenderChild = this.preRenderChild
|
|
10823
|
+
|| document.getElementById(preRenderIds.child);
|
|
10824
|
+
return !!this.preRenderWrapper && !!this.preRenderShield
|
|
10825
|
+
&& !!this.preRenderChild;
|
|
10826
|
+
}
|
|
10827
|
+
insertIntoDOMForPreRender(child) {
|
|
10828
|
+
let childNode;
|
|
10829
|
+
if (typeof child === 'string') {
|
|
10830
|
+
const divChildNode = document.createElement('div');
|
|
10831
|
+
divChildNode.innerHTML = child;
|
|
10832
|
+
childNode = divChildNode;
|
|
10833
|
+
}
|
|
10834
|
+
else {
|
|
10835
|
+
childNode = child;
|
|
10836
|
+
}
|
|
10837
|
+
const preRenderWrapper = this.createPreRenderWrapper(childNode);
|
|
10838
|
+
document.body.appendChild(preRenderWrapper);
|
|
10839
|
+
this.hidePreRender();
|
|
10840
|
+
}
|
|
10841
|
+
hidePreRender() {
|
|
10842
|
+
if (!this.isPreRenderAvailable()) {
|
|
10843
|
+
// if the embed component is not preRendered , nothing to hide
|
|
10844
|
+
console.log('No preRender found, not hiding ');
|
|
10845
|
+
return;
|
|
10846
|
+
}
|
|
10847
|
+
setStyleProperties(this.preRenderWrapper, {
|
|
10848
|
+
opacity: '0',
|
|
10849
|
+
pointerEvents: 'none',
|
|
10850
|
+
zIndex: '-1000',
|
|
10851
|
+
position: 'absolute ',
|
|
10852
|
+
top: '0',
|
|
10853
|
+
left: '0',
|
|
10854
|
+
});
|
|
10855
|
+
const childBoundingRect = this.preRenderChild.getBoundingClientRect();
|
|
10856
|
+
setStyleProperties(this.preRenderShield, {
|
|
10857
|
+
opacity: '0',
|
|
10858
|
+
pointerEvents: 'none',
|
|
10859
|
+
zIndex: '1',
|
|
10860
|
+
width: `${childBoundingRect.width}px`,
|
|
10861
|
+
height: `${childBoundingRect.height}px`,
|
|
10862
|
+
position: 'absolute',
|
|
10863
|
+
top: '0',
|
|
10864
|
+
left: '0',
|
|
10865
|
+
});
|
|
10866
|
+
}
|
|
10867
|
+
showPreRender() {
|
|
10868
|
+
if (!this.isPreRenderAvailable()) {
|
|
10869
|
+
// if the Embed component is nor preRendered , Render it now and
|
|
10870
|
+
// show it (hide is defalt behaviour)
|
|
10871
|
+
console.log('No preRender found, creating new ');
|
|
10872
|
+
this.render();
|
|
10873
|
+
return;
|
|
10874
|
+
}
|
|
10875
|
+
this.syncPreRenderStyle();
|
|
10876
|
+
removeStyleProperties(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
|
|
10877
|
+
setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
10878
|
+
}
|
|
10879
|
+
syncPreRenderStyle() {
|
|
10880
|
+
if (!this.el) {
|
|
10881
|
+
throw new Error('Embed element is not defined');
|
|
10882
|
+
}
|
|
10883
|
+
const elBoundingClient = this.el.getBoundingClientRect();
|
|
10884
|
+
setStyleProperties(this.preRenderWrapper, {
|
|
10885
|
+
top: `${elBoundingClient.y}px`, left: `${elBoundingClient.x}px`, width: `${elBoundingClient.width}px`, height: `${elBoundingClient.height}px`,
|
|
10886
|
+
});
|
|
10887
|
+
}
|
|
10680
10888
|
insertIntoDOM(child) {
|
|
10681
10889
|
var _a;
|
|
10682
10890
|
if (this.viewConfig.insertAsSibling) {
|
|
@@ -10891,6 +11099,13 @@
|
|
|
10891
11099
|
this.isRendered = true;
|
|
10892
11100
|
return this;
|
|
10893
11101
|
}
|
|
11102
|
+
/**
|
|
11103
|
+
* Creates the preRender shell
|
|
11104
|
+
*/
|
|
11105
|
+
preRender() {
|
|
11106
|
+
this.isPreRendered = true;
|
|
11107
|
+
return this;
|
|
11108
|
+
}
|
|
10894
11109
|
/**
|
|
10895
11110
|
* Get the Post Url Params for THOUGHTSPOT from the current
|
|
10896
11111
|
* host app URL.
|
|
@@ -10972,8 +11187,10 @@
|
|
|
10972
11187
|
let queryString = queryParams;
|
|
10973
11188
|
if (!this.viewConfig.excludeRuntimeFiltersfromURL) {
|
|
10974
11189
|
const runtimeFilters = this.viewConfig.runtimeFilters;
|
|
11190
|
+
const runtimeParameters = this.viewConfig.runtimeParameters;
|
|
11191
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
10975
11192
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
10976
|
-
queryString = [filterQuery, queryParams].filter(Boolean).join('&');
|
|
11193
|
+
queryString = [parameterQuery, filterQuery, queryParams].filter(Boolean).join('&');
|
|
10977
11194
|
}
|
|
10978
11195
|
return this.getV1EmbedBasePath(queryString);
|
|
10979
11196
|
}
|
|
@@ -11189,7 +11406,7 @@
|
|
|
11189
11406
|
}
|
|
11190
11407
|
getEmbedParams() {
|
|
11191
11408
|
var _a;
|
|
11192
|
-
const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, dataPanelV2 = false, useLastSelectedSources = false, } = this.viewConfig;
|
|
11409
|
+
const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, dataPanelV2 = false, useLastSelectedSources = false, runtimeParameters, } = this.viewConfig;
|
|
11193
11410
|
const queryParams = this.getBaseQueryParams();
|
|
11194
11411
|
queryParams[Param.HideActions] = [
|
|
11195
11412
|
...((_a = queryParams[Param.HideActions]) !== null && _a !== void 0 ? _a : []),
|
|
@@ -11228,6 +11445,9 @@
|
|
|
11228
11445
|
if (queryParamsString) {
|
|
11229
11446
|
query = `?${queryParamsString}`;
|
|
11230
11447
|
}
|
|
11448
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
11449
|
+
if (parameterQuery)
|
|
11450
|
+
query += `&${parameterQuery}`;
|
|
11231
11451
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
11232
11452
|
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
11233
11453
|
query += `&${filterQuery}`;
|
|
@@ -11390,6 +11610,7 @@
|
|
|
11390
11610
|
* Gets the ThoughtSpot route of the page for a particular page ID.
|
|
11391
11611
|
*
|
|
11392
11612
|
* @param pageId The identifier for a page in the ThoughtSpot app.
|
|
11613
|
+
* @param modularHomeExperience
|
|
11393
11614
|
*/
|
|
11394
11615
|
getPageRoute(pageId, modularHomeExperience = false) {
|
|
11395
11616
|
switch (pageId) {
|
|
@@ -11533,7 +11754,7 @@
|
|
|
11533
11754
|
let params = {};
|
|
11534
11755
|
params[Param.EmbedApp] = true;
|
|
11535
11756
|
params = this.getBaseQueryParams(params);
|
|
11536
|
-
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, } = this.viewConfig;
|
|
11757
|
+
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, runtimeParameters, } = this.viewConfig;
|
|
11537
11758
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
11538
11759
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
11539
11760
|
if (fullHeight === true) {
|
|
@@ -11561,7 +11782,10 @@
|
|
|
11561
11782
|
if (hideTabPanel) {
|
|
11562
11783
|
params[Param.HideTabPanel] = hideTabPanel;
|
|
11563
11784
|
}
|
|
11564
|
-
|
|
11785
|
+
let queryParams = getQueryParamString(params, true);
|
|
11786
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
11787
|
+
if (parameterQuery)
|
|
11788
|
+
queryParams += `&${parameterQuery}`;
|
|
11565
11789
|
return queryParams;
|
|
11566
11790
|
}
|
|
11567
11791
|
getIframeSuffixSrc(liveboardId, vizId, activeTabId) {
|
|
@@ -11625,6 +11849,11 @@
|
|
|
11625
11849
|
this.renderV1Embed(src);
|
|
11626
11850
|
return this;
|
|
11627
11851
|
}
|
|
11852
|
+
preRender() {
|
|
11853
|
+
super.preRender();
|
|
11854
|
+
this.render();
|
|
11855
|
+
return this;
|
|
11856
|
+
}
|
|
11628
11857
|
navigateToLiveboard(liveboardId, vizId, activeTabId) {
|
|
11629
11858
|
const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
|
|
11630
11859
|
this.viewConfig.liveboardId = liveboardId;
|
|
@@ -11659,7 +11888,7 @@
|
|
|
11659
11888
|
});
|
|
11660
11889
|
}
|
|
11661
11890
|
|
|
11662
|
-
const componentFactory = (EmbedConstructor) => React__default['default'].forwardRef((props, forwardedRef) => {
|
|
11891
|
+
const componentFactory = (EmbedConstructor, isPreRenderedComponent = false) => React__default['default'].forwardRef((props, forwardedRef) => {
|
|
11663
11892
|
const ref = React__default['default'].useRef(null);
|
|
11664
11893
|
const { className, ...embedProps } = props;
|
|
11665
11894
|
const { viewConfig, listeners } = getViewPropsAndListeners(embedProps);
|
|
@@ -11675,13 +11904,26 @@
|
|
|
11675
11904
|
Object.keys(listeners).forEach((eventName) => {
|
|
11676
11905
|
tsEmbed.on(eventName, listeners[eventName]);
|
|
11677
11906
|
});
|
|
11678
|
-
|
|
11907
|
+
if (isPreRenderedComponent) {
|
|
11908
|
+
tsEmbed.preRender();
|
|
11909
|
+
}
|
|
11910
|
+
else if (props.preRenderId) {
|
|
11911
|
+
tsEmbed.showPreRender();
|
|
11912
|
+
}
|
|
11913
|
+
else {
|
|
11914
|
+
tsEmbed.render();
|
|
11915
|
+
}
|
|
11679
11916
|
if (forwardedRef) {
|
|
11680
11917
|
// eslint-disable-next-line no-param-reassign
|
|
11681
11918
|
forwardedRef.current = tsEmbed;
|
|
11682
11919
|
}
|
|
11683
11920
|
return () => {
|
|
11684
|
-
|
|
11921
|
+
if (!isPreRenderedComponent) {
|
|
11922
|
+
if (props.preRenderId)
|
|
11923
|
+
tsEmbed.hidePreRender();
|
|
11924
|
+
else
|
|
11925
|
+
tsEmbed.destroy();
|
|
11926
|
+
}
|
|
11685
11927
|
};
|
|
11686
11928
|
}, [viewConfig, listeners]);
|
|
11687
11929
|
return ((viewConfig.insertAsSibling)
|
|
@@ -11781,11 +12023,13 @@
|
|
|
11781
12023
|
*/
|
|
11782
12024
|
function useEmbedRef() {
|
|
11783
12025
|
return React__default['default'].useRef(null);
|
|
11784
|
-
}
|
|
12026
|
+
}
|
|
12027
|
+
const PreRenderedLiveboardEmbed = componentFactory(LiveboardEmbed, true);
|
|
11785
12028
|
|
|
11786
12029
|
exports.AppEmbed = AppEmbed$1;
|
|
11787
12030
|
exports.LiveboardEmbed = LiveboardEmbed$1;
|
|
11788
12031
|
exports.PinboardEmbed = PinboardEmbed;
|
|
12032
|
+
exports.PreRenderedLiveboardEmbed = PreRenderedLiveboardEmbed;
|
|
11789
12033
|
exports.SageEmbed = SageEmbed$1;
|
|
11790
12034
|
exports.SearchBarEmbed = SearchBarEmbed$1;
|
|
11791
12035
|
exports.SearchEmbed = SearchEmbed$1;
|