@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.js
CHANGED
|
@@ -34,6 +34,24 @@
|
|
|
34
34
|
}
|
|
35
35
|
return null;
|
|
36
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Construct a runtime parameter override query string from the given option.
|
|
39
|
+
*
|
|
40
|
+
* @param runtimeParameters
|
|
41
|
+
*/
|
|
42
|
+
const getRuntimeParameters = (runtimeParameters) => {
|
|
43
|
+
if (runtimeParameters && runtimeParameters.length) {
|
|
44
|
+
const params = runtimeParameters.map((param, valueIndex) => {
|
|
45
|
+
const index = valueIndex + 1;
|
|
46
|
+
const filterExpr = [];
|
|
47
|
+
filterExpr.push(`param${index}=${encodeURIComponent(param.name)}`);
|
|
48
|
+
filterExpr.push(`paramVal${index}=${encodeURIComponent(param.value)}`);
|
|
49
|
+
return filterExpr.join('&');
|
|
50
|
+
});
|
|
51
|
+
return `${params.join('&')}`;
|
|
52
|
+
}
|
|
53
|
+
return null;
|
|
54
|
+
};
|
|
37
55
|
/**
|
|
38
56
|
* Convert a value to a string representation to be sent as a query
|
|
39
57
|
* parameter to the ThoughtSpot app.
|
|
@@ -181,7 +199,21 @@
|
|
|
181
199
|
*/
|
|
182
200
|
function getDOMNode(domSelector) {
|
|
183
201
|
return typeof domSelector === 'string' ? document.querySelector(domSelector) : domSelector;
|
|
184
|
-
}
|
|
202
|
+
}
|
|
203
|
+
const setStyleProperties = (element, styleProperties) => {
|
|
204
|
+
if (!element || !styleProperties)
|
|
205
|
+
return;
|
|
206
|
+
Object.keys(styleProperties).forEach((styleProperty) => {
|
|
207
|
+
element.style[styleProperty] = styleProperties[styleProperty].toString();
|
|
208
|
+
});
|
|
209
|
+
};
|
|
210
|
+
const removeStyleProperties = (element, styleProperties) => {
|
|
211
|
+
if (!element || !styleProperties)
|
|
212
|
+
return;
|
|
213
|
+
styleProperties.forEach((styleProperty) => {
|
|
214
|
+
element.style.removeProperty(styleProperty);
|
|
215
|
+
});
|
|
216
|
+
};
|
|
185
217
|
|
|
186
218
|
/**
|
|
187
219
|
* Copyright (c) 2023
|
|
@@ -851,21 +883,21 @@
|
|
|
851
883
|
*/
|
|
852
884
|
EmbedEvent["InsertIntoSlide"] = "insertInToSlide";
|
|
853
885
|
/**
|
|
886
|
+
* @hidden
|
|
854
887
|
* Emitted when a user changes any filter on a Liveboard.
|
|
855
|
-
*
|
|
856
888
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
857
889
|
*/
|
|
858
890
|
EmbedEvent["FilterChanged"] = "filterChanged";
|
|
859
891
|
/**
|
|
860
892
|
* Emitted when a user click on Go button in Sage Embed
|
|
861
893
|
*
|
|
862
|
-
* @version SDK : 1.
|
|
894
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
863
895
|
*/
|
|
864
896
|
EmbedEvent["SageEmbedQuery"] = "sageEmbedQuery";
|
|
865
897
|
/**
|
|
866
898
|
* Emitten when a user select data source in Sage Embed
|
|
867
899
|
*
|
|
868
|
-
* @version SDK : 1.
|
|
900
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
869
901
|
*/
|
|
870
902
|
EmbedEvent["SageWorksheetUpdated"] = "sageWorksheetUpdated";
|
|
871
903
|
/**
|
|
@@ -874,6 +906,51 @@
|
|
|
874
906
|
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
875
907
|
*/
|
|
876
908
|
EmbedEvent["UpdateConnection"] = "updateConnection";
|
|
909
|
+
/**
|
|
910
|
+
* Emitted when name, status (private or public) or filter values of a
|
|
911
|
+
* PersonalisedView is updated.
|
|
912
|
+
*
|
|
913
|
+
* @returns viewName: string
|
|
914
|
+
* @returns viewId: string
|
|
915
|
+
* @returns liveboardId: string
|
|
916
|
+
* @returns isPublic: boolean
|
|
917
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
918
|
+
*/
|
|
919
|
+
EmbedEvent["UpdatePersonalisedView"] = "updatePersonalisedView";
|
|
920
|
+
/**
|
|
921
|
+
* Emitted when a PersonalisedView is saved.
|
|
922
|
+
*
|
|
923
|
+
* @returns viewName: string
|
|
924
|
+
* @returns viewId: string
|
|
925
|
+
* @returns liveboardId: string
|
|
926
|
+
* @returns isPublic: boolean
|
|
927
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
928
|
+
*/
|
|
929
|
+
EmbedEvent["SavePersonalisedView"] = "savePersonalisedView";
|
|
930
|
+
/**
|
|
931
|
+
* Emitted when a Liveboard is reset.
|
|
932
|
+
*
|
|
933
|
+
* @returns viewName: string
|
|
934
|
+
* @returns viewId: string
|
|
935
|
+
* @returns liveboardId: string
|
|
936
|
+
* @returns isPublic: boolean
|
|
937
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
938
|
+
*/
|
|
939
|
+
EmbedEvent["ResetLiveboard"] = "resetLiveboard";
|
|
940
|
+
/**
|
|
941
|
+
* Emitted when a PersonalisedView is deleted.
|
|
942
|
+
*
|
|
943
|
+
* @returns views: string[]
|
|
944
|
+
* @returns liveboardId: string
|
|
945
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
946
|
+
*/
|
|
947
|
+
EmbedEvent["DeletePersonalisedView"] = "deletePersonalisedView";
|
|
948
|
+
/**
|
|
949
|
+
* Emitten when a user creates a new worksheet
|
|
950
|
+
*
|
|
951
|
+
* @version SDK : 1.27.0 | Thoughtspot: 9.8.0.cl
|
|
952
|
+
*/
|
|
953
|
+
EmbedEvent["CreateWorksheet"] = "createWorksheet";
|
|
877
954
|
})(exports.EmbedEvent || (exports.EmbedEvent = {}));
|
|
878
955
|
(function (HostEvent) {
|
|
879
956
|
/**
|
|
@@ -1494,16 +1571,16 @@
|
|
|
1494
1571
|
*/
|
|
1495
1572
|
HostEvent["ResetSearch"] = "resetSearch";
|
|
1496
1573
|
/**
|
|
1574
|
+
* @hidden
|
|
1497
1575
|
* Gets the currents visible and runtime filters applied on a Liveboard
|
|
1498
|
-
*
|
|
1499
1576
|
* @example
|
|
1500
1577
|
* liveboardEmbed.trigger(HostEvent.GetFilters)
|
|
1501
1578
|
* @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl
|
|
1502
1579
|
*/
|
|
1503
1580
|
HostEvent["GetFilters"] = "getFilters";
|
|
1504
1581
|
/**
|
|
1582
|
+
* @hidden
|
|
1505
1583
|
* Updates the visible filters on the Liveboard.
|
|
1506
|
-
*
|
|
1507
1584
|
* @param - filter: filter object containing column name and filter operation and values
|
|
1508
1585
|
* @example
|
|
1509
1586
|
*
|
|
@@ -2456,6 +2533,16 @@
|
|
|
2456
2533
|
* ```
|
|
2457
2534
|
*/
|
|
2458
2535
|
Action["ManageMonitor"] = "ManageMonitor";
|
|
2536
|
+
/**
|
|
2537
|
+
* Action ID for Liveboard Personalised Views dropdown
|
|
2538
|
+
*
|
|
2539
|
+
* @example
|
|
2540
|
+
* ```js
|
|
2541
|
+
* disabledActions: [Action.PersonalisedViewsDropdown]
|
|
2542
|
+
* ```
|
|
2543
|
+
* @version SDK : 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
2544
|
+
*/
|
|
2545
|
+
Action["PersonalisedViewsDropdown"] = "personalisedViewsDropdown";
|
|
2459
2546
|
})(exports.Action || (exports.Action = {}));
|
|
2460
2547
|
// eslint-disable-next-line no-shadow
|
|
2461
2548
|
var OperationType;
|
|
@@ -11065,7 +11152,7 @@
|
|
|
11065
11152
|
});
|
|
11066
11153
|
}
|
|
11067
11154
|
|
|
11068
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-
|
|
11155
|
+
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};
|
|
11069
11156
|
|
|
11070
11157
|
/**
|
|
11071
11158
|
* Copyright (c) 2022
|
|
@@ -11124,11 +11211,14 @@
|
|
|
11124
11211
|
data: {
|
|
11125
11212
|
customisations: getCustomisations(this.embedConfig, this.viewConfig),
|
|
11126
11213
|
authToken,
|
|
11127
|
-
runtimeFilterParams:
|
|
11214
|
+
runtimeFilterParams: this.viewConfig.excludeRuntimeFiltersfromURL
|
|
11215
|
+
? getRuntimeFilters(this.viewConfig.runtimeFilters)
|
|
11216
|
+
: null,
|
|
11128
11217
|
hiddenHomepageModules: this.viewConfig.hiddenHomepageModules || [],
|
|
11129
11218
|
hostConfig: this.embedConfig.hostConfig,
|
|
11130
11219
|
hiddenHomeLeftNavItems: ((_a = this.viewConfig) === null || _a === void 0 ? void 0 : _a.hiddenHomeLeftNavItems)
|
|
11131
|
-
? (_b = this.viewConfig) === null || _b === void 0 ? void 0 : _b.hiddenHomeLeftNavItems
|
|
11220
|
+
? (_b = this.viewConfig) === null || _b === void 0 ? void 0 : _b.hiddenHomeLeftNavItems
|
|
11221
|
+
: [],
|
|
11132
11222
|
},
|
|
11133
11223
|
});
|
|
11134
11224
|
};
|
|
@@ -11457,7 +11547,12 @@
|
|
|
11457
11547
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
|
|
11458
11548
|
return (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
|
|
11459
11549
|
if (!isLoggedIn) {
|
|
11460
|
-
|
|
11550
|
+
if (this.isPreRendered) {
|
|
11551
|
+
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
11552
|
+
}
|
|
11553
|
+
else {
|
|
11554
|
+
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11555
|
+
}
|
|
11461
11556
|
return;
|
|
11462
11557
|
}
|
|
11463
11558
|
this.iFrame = this.iFrame || this.createIframeEl(url);
|
|
@@ -11479,7 +11574,12 @@
|
|
|
11479
11574
|
this.iFrame.addEventListener('error', () => {
|
|
11480
11575
|
nextInQueue();
|
|
11481
11576
|
});
|
|
11482
|
-
|
|
11577
|
+
if (this.isPreRendered) {
|
|
11578
|
+
this.insertIntoDOMForPreRender(this.iFrame);
|
|
11579
|
+
}
|
|
11580
|
+
else {
|
|
11581
|
+
this.insertIntoDOM(this.iFrame);
|
|
11582
|
+
}
|
|
11483
11583
|
const prefetchIframe = document.querySelectorAll('.prefetchIframe');
|
|
11484
11584
|
if (prefetchIframe.length) {
|
|
11485
11585
|
prefetchIframe.forEach((el) => {
|
|
@@ -11492,11 +11592,119 @@
|
|
|
11492
11592
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED, {
|
|
11493
11593
|
error: JSON.stringify(error),
|
|
11494
11594
|
});
|
|
11495
|
-
|
|
11595
|
+
if (this.isPreRendered) {
|
|
11596
|
+
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
11597
|
+
}
|
|
11598
|
+
else {
|
|
11599
|
+
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11600
|
+
}
|
|
11496
11601
|
this.handleError(error);
|
|
11497
11602
|
});
|
|
11498
11603
|
});
|
|
11499
11604
|
}
|
|
11605
|
+
getPreRenderIds() {
|
|
11606
|
+
return {
|
|
11607
|
+
wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
|
|
11608
|
+
shield: `tsEmbed-pre-render-shield-${this.viewConfig.preRenderId}`,
|
|
11609
|
+
child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
|
|
11610
|
+
};
|
|
11611
|
+
}
|
|
11612
|
+
createPreRenderWrapper(child) {
|
|
11613
|
+
if (!this.viewConfig.preRenderId) {
|
|
11614
|
+
throw new Error('Pre render id is required');
|
|
11615
|
+
}
|
|
11616
|
+
const preRenderIds = this.getPreRenderIds();
|
|
11617
|
+
const stalePreRenderWrapper = document.getElementById(preRenderIds.wrapper);
|
|
11618
|
+
if (stalePreRenderWrapper) {
|
|
11619
|
+
console.log('Found stale wrapper , removing');
|
|
11620
|
+
stalePreRenderWrapper.remove();
|
|
11621
|
+
}
|
|
11622
|
+
const preRenderWrapper = document.createElement('div');
|
|
11623
|
+
preRenderWrapper.id = preRenderIds.wrapper;
|
|
11624
|
+
setStyleProperties(preRenderWrapper, { position: 'absolute', width: '100vw', height: '100vh' });
|
|
11625
|
+
const preRenderShield = document.createElement('div');
|
|
11626
|
+
preRenderShield.id = preRenderIds.shield;
|
|
11627
|
+
setStyleProperties(preRenderShield, { position: 'absolute', width: '100%', height: '100%' });
|
|
11628
|
+
child.id = preRenderIds.child;
|
|
11629
|
+
preRenderWrapper.appendChild(child);
|
|
11630
|
+
preRenderWrapper.appendChild(preRenderShield);
|
|
11631
|
+
this.preRenderWrapper = preRenderWrapper;
|
|
11632
|
+
this.preRenderShield = preRenderShield;
|
|
11633
|
+
this.preRenderChild = child;
|
|
11634
|
+
return preRenderWrapper;
|
|
11635
|
+
}
|
|
11636
|
+
isPreRenderAvailable() {
|
|
11637
|
+
const preRenderIds = this.getPreRenderIds();
|
|
11638
|
+
this.preRenderWrapper = this.preRenderWrapper
|
|
11639
|
+
|| document.getElementById(preRenderIds.wrapper);
|
|
11640
|
+
this.preRenderShield = this.preRenderShield
|
|
11641
|
+
|| document.getElementById(preRenderIds.shield);
|
|
11642
|
+
this.preRenderChild = this.preRenderChild
|
|
11643
|
+
|| document.getElementById(preRenderIds.child);
|
|
11644
|
+
return !!this.preRenderWrapper && !!this.preRenderShield
|
|
11645
|
+
&& !!this.preRenderChild;
|
|
11646
|
+
}
|
|
11647
|
+
insertIntoDOMForPreRender(child) {
|
|
11648
|
+
let childNode;
|
|
11649
|
+
if (typeof child === 'string') {
|
|
11650
|
+
const divChildNode = document.createElement('div');
|
|
11651
|
+
divChildNode.innerHTML = child;
|
|
11652
|
+
childNode = divChildNode;
|
|
11653
|
+
}
|
|
11654
|
+
else {
|
|
11655
|
+
childNode = child;
|
|
11656
|
+
}
|
|
11657
|
+
const preRenderWrapper = this.createPreRenderWrapper(childNode);
|
|
11658
|
+
document.body.appendChild(preRenderWrapper);
|
|
11659
|
+
this.hidePreRender();
|
|
11660
|
+
}
|
|
11661
|
+
hidePreRender() {
|
|
11662
|
+
if (!this.isPreRenderAvailable()) {
|
|
11663
|
+
// if the embed component is not preRendered , nothing to hide
|
|
11664
|
+
console.log('No preRender found, not hiding ');
|
|
11665
|
+
return;
|
|
11666
|
+
}
|
|
11667
|
+
setStyleProperties(this.preRenderWrapper, {
|
|
11668
|
+
opacity: '0',
|
|
11669
|
+
pointerEvents: 'none',
|
|
11670
|
+
zIndex: '-1000',
|
|
11671
|
+
position: 'absolute ',
|
|
11672
|
+
top: '0',
|
|
11673
|
+
left: '0',
|
|
11674
|
+
});
|
|
11675
|
+
const childBoundingRect = this.preRenderChild.getBoundingClientRect();
|
|
11676
|
+
setStyleProperties(this.preRenderShield, {
|
|
11677
|
+
opacity: '0',
|
|
11678
|
+
pointerEvents: 'none',
|
|
11679
|
+
zIndex: '1',
|
|
11680
|
+
width: `${childBoundingRect.width}px`,
|
|
11681
|
+
height: `${childBoundingRect.height}px`,
|
|
11682
|
+
position: 'absolute',
|
|
11683
|
+
top: '0',
|
|
11684
|
+
left: '0',
|
|
11685
|
+
});
|
|
11686
|
+
}
|
|
11687
|
+
showPreRender() {
|
|
11688
|
+
if (!this.isPreRenderAvailable()) {
|
|
11689
|
+
// if the Embed component is nor preRendered , Render it now and
|
|
11690
|
+
// show it (hide is defalt behaviour)
|
|
11691
|
+
console.log('No preRender found, creating new ');
|
|
11692
|
+
this.render();
|
|
11693
|
+
return;
|
|
11694
|
+
}
|
|
11695
|
+
this.syncPreRenderStyle();
|
|
11696
|
+
removeStyleProperties(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
|
|
11697
|
+
setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
11698
|
+
}
|
|
11699
|
+
syncPreRenderStyle() {
|
|
11700
|
+
if (!this.el) {
|
|
11701
|
+
throw new Error('Embed element is not defined');
|
|
11702
|
+
}
|
|
11703
|
+
const elBoundingClient = this.el.getBoundingClientRect();
|
|
11704
|
+
setStyleProperties(this.preRenderWrapper, {
|
|
11705
|
+
top: `${elBoundingClient.y}px`, left: `${elBoundingClient.x}px`, width: `${elBoundingClient.width}px`, height: `${elBoundingClient.height}px`,
|
|
11706
|
+
});
|
|
11707
|
+
}
|
|
11500
11708
|
insertIntoDOM(child) {
|
|
11501
11709
|
var _a;
|
|
11502
11710
|
if (this.viewConfig.insertAsSibling) {
|
|
@@ -11711,6 +11919,13 @@
|
|
|
11711
11919
|
this.isRendered = true;
|
|
11712
11920
|
return this;
|
|
11713
11921
|
}
|
|
11922
|
+
/**
|
|
11923
|
+
* Creates the preRender shell
|
|
11924
|
+
*/
|
|
11925
|
+
preRender() {
|
|
11926
|
+
this.isPreRendered = true;
|
|
11927
|
+
return this;
|
|
11928
|
+
}
|
|
11714
11929
|
/**
|
|
11715
11930
|
* Get the Post Url Params for THOUGHTSPOT from the current
|
|
11716
11931
|
* host app URL.
|
|
@@ -11792,8 +12007,10 @@
|
|
|
11792
12007
|
let queryString = queryParams;
|
|
11793
12008
|
if (!this.viewConfig.excludeRuntimeFiltersfromURL) {
|
|
11794
12009
|
const runtimeFilters = this.viewConfig.runtimeFilters;
|
|
12010
|
+
const runtimeParameters = this.viewConfig.runtimeParameters;
|
|
12011
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
11795
12012
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
11796
|
-
queryString = [filterQuery, queryParams].filter(Boolean).join('&');
|
|
12013
|
+
queryString = [parameterQuery, filterQuery, queryParams].filter(Boolean).join('&');
|
|
11797
12014
|
}
|
|
11798
12015
|
return this.getV1EmbedBasePath(queryString);
|
|
11799
12016
|
}
|
|
@@ -11947,6 +12164,7 @@
|
|
|
11947
12164
|
* Gets the ThoughtSpot route of the page for a particular page ID.
|
|
11948
12165
|
*
|
|
11949
12166
|
* @param pageId The identifier for a page in the ThoughtSpot app.
|
|
12167
|
+
* @param modularHomeExperience
|
|
11950
12168
|
*/
|
|
11951
12169
|
getPageRoute(pageId, modularHomeExperience = false) {
|
|
11952
12170
|
switch (pageId) {
|
|
@@ -12090,7 +12308,7 @@
|
|
|
12090
12308
|
let params = {};
|
|
12091
12309
|
params[Param.EmbedApp] = true;
|
|
12092
12310
|
params = this.getBaseQueryParams(params);
|
|
12093
|
-
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, } = this.viewConfig;
|
|
12311
|
+
const { enableVizTransformations, fullHeight, defaultHeight, visibleVizs, liveboardV2, vizId, hideTabPanel, activeTabId, runtimeParameters, } = this.viewConfig;
|
|
12094
12312
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
12095
12313
|
|| this.viewConfig.preventPinboardFilterRemoval;
|
|
12096
12314
|
if (fullHeight === true) {
|
|
@@ -12118,7 +12336,10 @@
|
|
|
12118
12336
|
if (hideTabPanel) {
|
|
12119
12337
|
params[Param.HideTabPanel] = hideTabPanel;
|
|
12120
12338
|
}
|
|
12121
|
-
|
|
12339
|
+
let queryParams = getQueryParamString(params, true);
|
|
12340
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
12341
|
+
if (parameterQuery)
|
|
12342
|
+
queryParams += `&${parameterQuery}`;
|
|
12122
12343
|
return queryParams;
|
|
12123
12344
|
}
|
|
12124
12345
|
getIframeSuffixSrc(liveboardId, vizId, activeTabId) {
|
|
@@ -12182,6 +12403,11 @@
|
|
|
12182
12403
|
this.renderV1Embed(src);
|
|
12183
12404
|
return this;
|
|
12184
12405
|
}
|
|
12406
|
+
preRender() {
|
|
12407
|
+
super.preRender();
|
|
12408
|
+
this.render();
|
|
12409
|
+
return this;
|
|
12410
|
+
}
|
|
12185
12411
|
navigateToLiveboard(liveboardId, vizId, activeTabId) {
|
|
12186
12412
|
const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
|
|
12187
12413
|
this.viewConfig.liveboardId = liveboardId;
|
|
@@ -12242,7 +12468,7 @@
|
|
|
12242
12468
|
}
|
|
12243
12469
|
getEmbedParams() {
|
|
12244
12470
|
var _a;
|
|
12245
|
-
const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, dataPanelV2 = false, useLastSelectedSources = false, } = this.viewConfig;
|
|
12471
|
+
const { hideResults, enableSearchAssist, forceTable, searchOptions, runtimeFilters, dataSource, dataSources, excludeRuntimeFiltersfromURL, dataPanelV2 = false, useLastSelectedSources = false, runtimeParameters, } = this.viewConfig;
|
|
12246
12472
|
const queryParams = this.getBaseQueryParams();
|
|
12247
12473
|
queryParams[Param.HideActions] = [
|
|
12248
12474
|
...((_a = queryParams[Param.HideActions]) !== null && _a !== void 0 ? _a : []),
|
|
@@ -12281,6 +12507,9 @@
|
|
|
12281
12507
|
if (queryParamsString) {
|
|
12282
12508
|
query = `?${queryParamsString}`;
|
|
12283
12509
|
}
|
|
12510
|
+
const parameterQuery = getRuntimeParameters(runtimeParameters || []);
|
|
12511
|
+
if (parameterQuery)
|
|
12512
|
+
query += `&${parameterQuery}`;
|
|
12284
12513
|
const filterQuery = getFilterQuery(runtimeFilters || []);
|
|
12285
12514
|
if (filterQuery && !excludeRuntimeFiltersfromURL) {
|
|
12286
12515
|
query += `&${filterQuery}`;
|