@thoughtspot/visual-embed-sdk 1.24.0-preRender.0 → 1.24.0-preRender.2
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/TsEmbed.d.ts +302 -0
- package/cjs/src/embed/TsEmbed.d.ts.map +1 -0
- package/cjs/src/embed/TsEmbed.js +851 -0
- package/cjs/src/embed/TsEmbed.js.map +1 -0
- package/cjs/src/embed/app.d.ts +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 +1 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +2 -1
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/search.js +1 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +9 -8
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +103 -77
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/types.d.ts +14 -1
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils.d.ts +1 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +7 -11
- package/cjs/src/utils.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 +1 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +9 -8
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/types.d.ts +14 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +113 -89
- package/dist/tsembed-react.js +113 -89
- package/dist/tsembed.es.js +113 -89
- package/dist/tsembed.js +113 -89
- package/dist/visual-embed-sdk-react-full.d.ts +25 -9
- package/dist/visual-embed-sdk-react.d.ts +25 -9
- package/dist/visual-embed-sdk.d.ts +25 -9
- package/lib/package.json +1 -1
- package/lib/src/embed/TsEmbed.d.ts +302 -0
- package/lib/src/embed/TsEmbed.d.ts.map +1 -0
- package/lib/src/embed/TsEmbed.js +847 -0
- package/lib/src/embed/TsEmbed.js.map +1 -0
- package/lib/src/embed/app.d.ts +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 +1 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +2 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/search.js +1 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +9 -8
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +103 -77
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/types.d.ts +14 -1
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils.d.ts +1 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +5 -9
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +25 -9
- package/package.json +1 -1
- package/src/embed/app.ts +3 -6
- package/src/embed/liveboard.ts +2 -1
- package/src/embed/search.ts +1 -1
- package/src/embed/ts-embed.ts +121 -85
- package/src/react/index.tsx +13 -11
- package/src/types.ts +14 -2
- package/src/utils.ts +7 -13
package/dist/tsembed-react.js
CHANGED
|
@@ -361,6 +361,11 @@
|
|
|
361
361
|
return typeof domSelector === 'string' ? document.querySelector(domSelector) : domSelector;
|
|
362
362
|
}
|
|
363
363
|
const deepMerge = (target, source) => merge(target, source);
|
|
364
|
+
const getOperationNameFromQuery = (query) => {
|
|
365
|
+
const regex = /(?:query|mutation)\s+(\w+)/;
|
|
366
|
+
const matches = query.match(regex);
|
|
367
|
+
return matches === null || matches === void 0 ? void 0 : matches[1];
|
|
368
|
+
};
|
|
364
369
|
/**
|
|
365
370
|
*
|
|
366
371
|
* @param obj
|
|
@@ -380,23 +385,14 @@
|
|
|
380
385
|
return obj;
|
|
381
386
|
}
|
|
382
387
|
const setStyleProperties = (element, styleProperties) => {
|
|
383
|
-
if (!element || !styleProperties)
|
|
384
|
-
return;
|
|
385
388
|
Object.keys(styleProperties).forEach((styleProperty) => {
|
|
386
389
|
element.style[styleProperty] = styleProperties[styleProperty].toString();
|
|
387
390
|
});
|
|
388
391
|
};
|
|
389
392
|
const removeStyleProperties = (element, styleProperties) => {
|
|
390
|
-
if (!element || !styleProperties)
|
|
391
|
-
return;
|
|
392
393
|
styleProperties.forEach((styleProperty) => {
|
|
393
394
|
element.style.removeProperty(styleProperty);
|
|
394
395
|
});
|
|
395
|
-
};
|
|
396
|
-
const getOperationNameFromQuery = (query) => {
|
|
397
|
-
const regex = /(?:query|mutation)\s+(\w+)/;
|
|
398
|
-
const matches = query.match(regex);
|
|
399
|
-
return matches === null || matches === void 0 ? void 0 : matches[1];
|
|
400
396
|
};
|
|
401
397
|
|
|
402
398
|
/**
|
|
@@ -10640,7 +10636,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
10640
10636
|
});
|
|
10641
10637
|
}
|
|
10642
10638
|
|
|
10643
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-preRender.
|
|
10639
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.24.0-preRender.2";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**","cjs/**"];var exports$1={".":{"import":"./lib/src/index.js",require:"./cjs/src/index.js",types:"./lib/src/index.d.ts"},"./react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"},"./lib/src/react":{"import":"./lib/src/react/all-types-export.js",require:"./cjs/src/react/all-types-export.js",types:"./lib/src/react/all-types-export.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/all-types-export.d.ts"]}};var scripts={lint:"eslint 'src/**'","lint:fix":"eslint 'src/**/*.*' --fix",tsc:"tsc -p . --incremental false; tsc -p . --incremental false --module commonjs --outDir cjs",start:"gatsby develop","build:gatsby":"npm run clean:gatsby && gatsby build --prefix-paths","build:gatsby:noprefix":"npm run clean:gatsby && gatsby build","serve:gatsby":"gatsby serve","clean:gatsby":"gatsby clean","build-and-publish":"npm run build:gatsby && npm run publish","bundle-dts-file":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts","bundle-dts":"dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true","bundle-dts-react":"dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true","bundle-dts-react-full":"dts-bundle --name ../../../dist/visual-embed-sdk-react-full --main lib/src/react/all-types-export.d.ts --outputAsModuleFolder=true",build:"rollup -c",watch:"rollup -cw","docs-cmd":"node scripts/gatsby-commands.js",docgen:"typedoc --tsconfig tsconfig.json --theme typedoc-theme","test-sdk":"jest -c jest.config.sdk.js --runInBand","test-docs":"jest -c jest.config.docs.js",test:"npm run test-sdk && npm run test-docs",posttest:"cat ./coverage/sdk/lcov.info | coveralls","is-publish-allowed":"node scripts/is-publish-allowed.js",prepublishOnly:"npm run tsc && npm run bundle-dts-file && npm run bundle-dts && npm run bundle-dts-react && npm run bundle-dts-react-full && npm run build","check-size":"npm run build && size-limit","publish-dev":"npm publish --tag dev","publish-prod":"npm publish --tag latest"};var peerDependencies={react:"> 16.8.0","react-dom":"> 16.8.0"};var dependencies={algoliasearch:"^4.10.5",classnames:"^2.3.1",dompurify:"^2.3.4","eslint-plugin-comment-length":"^0.9.2","eslint-plugin-jsdoc":"^40.1.0",eventemitter3:"^4.0.7","gatsby-plugin-vercel":"^1.0.3","html-react-parser":"^1.4.12",lodash:"^4.17.21","mixpanel-browser":"^2.45.0","ts-deepmerge":"^6.0.2",tslib:"^2.5.3","use-deep-compare-effect":"^1.8.1"};var devDependencies={"@mdx-js/mdx":"^1.6.22","@mdx-js/react":"^1.6.22","@react-icons/all-files":"^4.1.0","@rollup/plugin-commonjs":"^18.0.0","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^11.2.1","@rollup/plugin-replace":"^5.0.2","@size-limit/preset-big-lib":"^8.2.6","@testing-library/dom":"^7.31.0","@testing-library/jest-dom":"^5.14.1","@testing-library/react":"^11.2.7","@testing-library/user-event":"^13.1.8","@types/jest":"^22.2.3","@types/mixpanel-browser":"^2.35.6","@types/react-test-renderer":"^17.0.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0",asciidoctor:"^2.2.1","babel-jest":"^26.6.3","babel-preset-gatsby":"^1.10.0","command-line-args":"^5.1.1",coveralls:"^3.1.0","current-git-branch":"^1.1.0","dts-bundle":"^0.7.3",eslint:"^7.12.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.15.0","eslint-import-resolver-typescript":"^2.3.0","eslint-plugin-import":"^2.22.1","eslint-plugin-prettier":"^3.1.4","eslint-plugin-react-hooks":"^4.2.0","fs-extra":"^10.0.0",gatsby:"3.13.1","gatsby-plugin-algolia":"^0.22.2","gatsby-plugin-catch-links":"^3.1.0","gatsby-plugin-env-variables":"^2.1.0","gatsby-plugin-intl":"^0.3.3","gatsby-plugin-manifest":"^3.2.0","gatsby-plugin-output":"^0.1.3","gatsby-plugin-sass":"6.7.0","gatsby-plugin-sitemap":"^4.10.0","gatsby-source-filesystem":"3.1.0","gatsby-transformer-asciidoc":"2.1.0","gatsby-transformer-rehype":"2.0.0","gh-pages":"^3.1.0","highlight.js":"^10.6.0","html-to-text":"^8.0.0","identity-obj-proxy":"^3.0.0","istanbul-merge":"^1.1.1",jest:"^26.6.3","jest-fetch-mock":"^3.0.3",jsdom:"^17.0.0","node-sass":"^8.0.0",prettier:"2.1.2",react:"^16.14.0","react-dom":"^16.14.0","react-resizable":"^1.11.0","react-resize-detector":"^6.6.0","react-test-renderer":"^17.0.2","react-use-flexsearch":"^0.1.1",rollup:"2.30.0","rollup-plugin-typescript2":"0.27.3","ts-jest":"^26.5.5","ts-loader":"8.0.4",typedoc:"0.21.6","typedoc-plugin-toc-group":"thoughtspot/typedoc-plugin-toc-group",typescript:"^4.9.4","url-search-params-polyfill":"^8.1.0",util:"^0.12.4"};var author="ThoughtSpot";var email="support@thoughtspot.com";var license="ThoughtSpot Development Tools End User License Agreement";var directories={lib:"lib"};var repository={type:"git",url:"git+https://github.com/thoughtspot/visual-embed-sdk.git"};var publishConfig={registry:"https://registry.npmjs.org"};var keywords=["thoughtspot","everywhere","embed","sdk","analytics"];var bugs={url:"https://github.com/thoughtspot/visual-embed-sdk/issues"};var homepage="https://github.com/thoughtspot/visual-embed-sdk#readme";var globals={window:{}};var pkgInfo = {name:name,version:version,description:description,module:module,main:main,types:types,files:files,exports:exports$1,typesVersions:typesVersions,"size-limit":[{path:"dist/tsembed.js",limit:"40 kB"}],scripts:scripts,peerDependencies:peerDependencies,dependencies:dependencies,devDependencies:devDependencies,author:author,email:email,license:license,directories:directories,repository:repository,publishConfig:publishConfig,keywords:keywords,bugs:bugs,homepage:homepage,globals:globals};
|
|
10644
10640
|
|
|
10645
10641
|
/**
|
|
10646
10642
|
* Copyright (c) 2022
|
|
@@ -10824,6 +10820,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
10824
10820
|
* and executes the registered callbacks accordingly.
|
|
10825
10821
|
*/
|
|
10826
10822
|
subscribeToEvents() {
|
|
10823
|
+
this.unsubscribeToEvents();
|
|
10827
10824
|
const messageEventListener = (event) => {
|
|
10828
10825
|
const eventType = this.getEventType(event);
|
|
10829
10826
|
const eventPort = this.getEventPort(event);
|
|
@@ -10944,8 +10941,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
10944
10941
|
else if (contextMenuTrigger === ContextMenuTriggerOptions.RIGHT_CLICK) {
|
|
10945
10942
|
queryParams[Param.ContextMenuTrigger] = false;
|
|
10946
10943
|
}
|
|
10947
|
-
const spriteUrl = (customizations === null || customizations === void 0 ? void 0 : customizations.iconSpriteUrl)
|
|
10948
|
-
|| ((_d = this.embedConfig.customizations) === null || _d === void 0 ? void 0 : _d.iconSpriteUrl);
|
|
10944
|
+
const spriteUrl = (customizations === null || customizations === void 0 ? void 0 : customizations.iconSpriteUrl) || ((_d = this.embedConfig.customizations) === null || _d === void 0 ? void 0 : _d.iconSpriteUrl);
|
|
10949
10945
|
if (spriteUrl) {
|
|
10950
10946
|
queryParams[Param.IconSpriteUrl] = spriteUrl.replace('https://', '');
|
|
10951
10947
|
}
|
|
@@ -11025,14 +11021,23 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11025
11021
|
iFrame.name = 'ThoughtSpot Embedded Analytics';
|
|
11026
11022
|
return iFrame;
|
|
11027
11023
|
}
|
|
11024
|
+
handleInsertionIntoDOM(child, showPreRenderByDefault = false) {
|
|
11025
|
+
if (this.isPreRendered) {
|
|
11026
|
+
if (!this.viewConfig.preRenderId) {
|
|
11027
|
+
throw Error('PreRender id is required for preRender');
|
|
11028
|
+
}
|
|
11029
|
+
this.insertIntoDOMForPreRender(child, showPreRenderByDefault);
|
|
11030
|
+
}
|
|
11031
|
+
else {
|
|
11032
|
+
this.insertIntoDOM(child);
|
|
11033
|
+
}
|
|
11034
|
+
}
|
|
11028
11035
|
/**
|
|
11029
11036
|
* Renders the embedded ThoughtSpot app in an iframe and sets up
|
|
11030
11037
|
* event listeners.
|
|
11031
11038
|
*
|
|
11032
|
-
* @param url
|
|
11033
|
-
* @param
|
|
11034
|
-
* @param showPreRender
|
|
11035
|
-
* @param showPreRenderByDefault
|
|
11039
|
+
* @param url - The URL of the embedded ThoughtSpot app.
|
|
11040
|
+
* @param showPreRenderByDefault - The flag to show the preRender by default.
|
|
11036
11041
|
*/
|
|
11037
11042
|
async renderIFrame(url, showPreRenderByDefault = false) {
|
|
11038
11043
|
if (this.isError) {
|
|
@@ -11054,12 +11059,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11054
11059
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
|
|
11055
11060
|
return (_a = getAuthPromise()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
|
|
11056
11061
|
if (!isLoggedIn) {
|
|
11057
|
-
|
|
11058
|
-
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
11059
|
-
}
|
|
11060
|
-
else {
|
|
11061
|
-
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11062
|
-
}
|
|
11062
|
+
this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
|
|
11063
11063
|
return;
|
|
11064
11064
|
}
|
|
11065
11065
|
this.iFrame = this.iFrame || this.createIframeEl(url);
|
|
@@ -11081,15 +11081,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11081
11081
|
this.iFrame.addEventListener('error', () => {
|
|
11082
11082
|
nextInQueue();
|
|
11083
11083
|
});
|
|
11084
|
-
|
|
11085
|
-
this.insertIntoDOMForPreRender(this.iFrame);
|
|
11086
|
-
if (showPreRenderByDefault) {
|
|
11087
|
-
this.showPreRender();
|
|
11088
|
-
}
|
|
11089
|
-
}
|
|
11090
|
-
else {
|
|
11091
|
-
this.insertIntoDOM(this.iFrame);
|
|
11092
|
-
}
|
|
11084
|
+
this.handleInsertionIntoDOM(this.iFrame, showPreRenderByDefault);
|
|
11093
11085
|
const prefetchIframe = document.querySelectorAll('.prefetchIframe');
|
|
11094
11086
|
if (prefetchIframe.length) {
|
|
11095
11087
|
prefetchIframe.forEach((el) => {
|
|
@@ -11102,12 +11094,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11102
11094
|
uploadMixpanelEvent(MIXPANEL_EVENT.VISUAL_SDK_RENDER_FAILED, {
|
|
11103
11095
|
error: JSON.stringify(error),
|
|
11104
11096
|
});
|
|
11105
|
-
|
|
11106
|
-
this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage);
|
|
11107
|
-
}
|
|
11108
|
-
else {
|
|
11109
|
-
this.insertIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11110
|
-
}
|
|
11097
|
+
this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage);
|
|
11111
11098
|
this.handleError(error);
|
|
11112
11099
|
});
|
|
11113
11100
|
});
|
|
@@ -11115,103 +11102,131 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11115
11102
|
getPreRenderIds() {
|
|
11116
11103
|
return {
|
|
11117
11104
|
wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
|
|
11118
|
-
shield:
|
|
11105
|
+
// shield:
|
|
11106
|
+
// `tsEmbed-pre-render-shield-${this.viewConfig.preRenderId}`,
|
|
11119
11107
|
child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
|
|
11120
11108
|
};
|
|
11121
11109
|
}
|
|
11122
|
-
createPreRenderWrapper(
|
|
11110
|
+
createPreRenderWrapper() {
|
|
11111
|
+
var _a;
|
|
11123
11112
|
if (!this.viewConfig.preRenderId) {
|
|
11124
|
-
throw new Error('
|
|
11113
|
+
throw new Error('PreRender id is required to create PreRender wrapper');
|
|
11125
11114
|
}
|
|
11126
11115
|
const preRenderIds = this.getPreRenderIds();
|
|
11127
|
-
|
|
11128
|
-
.map((id) => document.getElementById(id))
|
|
11129
|
-
.filter((element) => element)
|
|
11130
|
-
.forEach((existingElement) => existingElement.remove());
|
|
11116
|
+
(_a = document.getElementById(preRenderIds.wrapper)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
11131
11117
|
const preRenderWrapper = document.createElement('div');
|
|
11132
11118
|
preRenderWrapper.id = preRenderIds.wrapper;
|
|
11133
|
-
|
|
11134
|
-
|
|
11135
|
-
|
|
11136
|
-
|
|
11137
|
-
|
|
11138
|
-
preRenderWrapper
|
|
11139
|
-
|
|
11140
|
-
|
|
11141
|
-
|
|
11142
|
-
|
|
11119
|
+
const initialPreRenderWrapperStyle = {
|
|
11120
|
+
position: 'absolute',
|
|
11121
|
+
width: '100vw',
|
|
11122
|
+
height: '100vh',
|
|
11123
|
+
};
|
|
11124
|
+
setStyleProperties(preRenderWrapper, initialPreRenderWrapperStyle);
|
|
11125
|
+
// const preRenderShield = document.createElement('div');
|
|
11126
|
+
// preRenderShield.id = preRenderIds.shield;
|
|
11127
|
+
// setStyleProperties(preRenderShield, { position: 'absolute',
|
|
11128
|
+
// width: '100%', height: '100%' });
|
|
11129
|
+
// preRenderWrapper.appendChild(preRenderShield);
|
|
11130
|
+
// this.preRenderWrapper = preRenderWrapper;
|
|
11131
|
+
// this.preRenderShield = preRenderShield;
|
|
11132
|
+
// this.preRenderChild = child;
|
|
11143
11133
|
return preRenderWrapper;
|
|
11144
11134
|
}
|
|
11145
11135
|
connectPreRendered() {
|
|
11146
11136
|
const preRenderIds = this.getPreRenderIds();
|
|
11147
11137
|
this.preRenderWrapper = this.preRenderWrapper
|
|
11148
11138
|
|| document.getElementById(preRenderIds.wrapper);
|
|
11149
|
-
this.preRenderShield = this.preRenderShield
|
|
11150
|
-
|
|
11151
|
-
this.preRenderChild = this.preRenderChild
|
|
11152
|
-
|
|
11153
|
-
|
|
11139
|
+
// this.preRenderShield = this.preRenderShield
|
|
11140
|
+
// || document.getElementById(preRenderIds.shield);
|
|
11141
|
+
this.preRenderChild = this.preRenderChild || document.getElementById(preRenderIds.child);
|
|
11142
|
+
if (this.preRenderWrapper && this.preRenderChild) {
|
|
11143
|
+
this.isPreRendered = true;
|
|
11144
|
+
this.iFrame = this.preRenderChild;
|
|
11145
|
+
}
|
|
11154
11146
|
return this.isPreRenderAvailable();
|
|
11155
11147
|
}
|
|
11156
11148
|
isPreRenderAvailable() {
|
|
11157
|
-
return
|
|
11158
|
-
&& !!this.preRenderChild;
|
|
11149
|
+
return this.isPreRendered;
|
|
11159
11150
|
}
|
|
11160
|
-
|
|
11161
|
-
|
|
11151
|
+
createPreRenderChild(child) {
|
|
11152
|
+
var _a;
|
|
11153
|
+
const preRenderIds = this.getPreRenderIds();
|
|
11154
|
+
(_a = document.getElementById(preRenderIds.child)) === null || _a === void 0 ? void 0 : _a.remove();
|
|
11155
|
+
if (child instanceof HTMLElement) {
|
|
11156
|
+
child.id = preRenderIds.child;
|
|
11157
|
+
return child;
|
|
11158
|
+
}
|
|
11159
|
+
const divChildNode = document.createElement('div');
|
|
11160
|
+
setStyleProperties(divChildNode, { width: '100%', height: '100%' });
|
|
11161
|
+
divChildNode.id = preRenderIds.child;
|
|
11162
11162
|
if (typeof child === 'string') {
|
|
11163
|
-
const divChildNode = document.createElement('div');
|
|
11164
11163
|
divChildNode.innerHTML = child;
|
|
11165
|
-
childNode = divChildNode;
|
|
11166
11164
|
}
|
|
11167
11165
|
else {
|
|
11168
|
-
|
|
11166
|
+
divChildNode.appendChild(child);
|
|
11167
|
+
}
|
|
11168
|
+
return divChildNode;
|
|
11169
|
+
}
|
|
11170
|
+
insertIntoDOMForPreRender(child, showPreRenderByDefault = false) {
|
|
11171
|
+
const preRenderChild = this.createPreRenderChild(child);
|
|
11172
|
+
const preRenderWrapper = this.createPreRenderWrapper();
|
|
11173
|
+
preRenderWrapper.appendChild(preRenderChild);
|
|
11174
|
+
this.preRenderChild = preRenderChild;
|
|
11175
|
+
this.preRenderWrapper = preRenderWrapper;
|
|
11176
|
+
if (preRenderChild instanceof HTMLIFrameElement) {
|
|
11177
|
+
this.iFrame = preRenderChild;
|
|
11178
|
+
}
|
|
11179
|
+
if (showPreRenderByDefault) {
|
|
11180
|
+
this.showPreRender();
|
|
11181
|
+
}
|
|
11182
|
+
else {
|
|
11183
|
+
this.hidePreRender();
|
|
11169
11184
|
}
|
|
11170
|
-
const preRenderWrapper = this.createPreRenderWrapper(childNode);
|
|
11171
11185
|
document.body.appendChild(preRenderWrapper);
|
|
11172
|
-
this.hidePreRender();
|
|
11173
11186
|
}
|
|
11174
11187
|
hidePreRender() {
|
|
11175
11188
|
if (!this.isPreRenderAvailable()) {
|
|
11176
11189
|
// if the embed component is not preRendered , nothing to hide
|
|
11177
|
-
console.
|
|
11190
|
+
console.warn('Warning: You should call PreRender before hiding it using hidePreRender.');
|
|
11178
11191
|
return;
|
|
11179
11192
|
}
|
|
11180
|
-
|
|
11193
|
+
const preRenderHideStyles = {
|
|
11181
11194
|
opacity: '0',
|
|
11182
11195
|
pointerEvents: 'none',
|
|
11183
11196
|
zIndex: '-1000',
|
|
11184
11197
|
position: 'absolute ',
|
|
11185
11198
|
top: '0',
|
|
11186
11199
|
left: '0',
|
|
11187
|
-
}
|
|
11188
|
-
|
|
11189
|
-
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
|
|
11193
|
-
|
|
11194
|
-
|
|
11195
|
-
|
|
11196
|
-
|
|
11197
|
-
|
|
11198
|
-
|
|
11200
|
+
};
|
|
11201
|
+
setStyleProperties(this.preRenderWrapper, preRenderHideStyles);
|
|
11202
|
+
// const childBoundingRect = this.preRenderChild.getBoundingClientRect();
|
|
11203
|
+
//
|
|
11204
|
+
// setStyleProperties(this.preRenderShield, {
|
|
11205
|
+
// opacity: '0',
|
|
11206
|
+
// pointerEvents: 'none',
|
|
11207
|
+
// zIndex: '1',
|
|
11208
|
+
// width: `${childBoundingRect.width}px`,
|
|
11209
|
+
// height: `${childBoundingRect.height}px`,
|
|
11210
|
+
// position: 'absolute',
|
|
11211
|
+
// top: '0',
|
|
11212
|
+
// left: '0',
|
|
11213
|
+
// });
|
|
11199
11214
|
this.unsubscribeToEvents();
|
|
11200
11215
|
}
|
|
11201
11216
|
showPreRender() {
|
|
11202
11217
|
if (!this.isPreRenderAvailable()) {
|
|
11203
11218
|
const isAvailable = this.connectPreRendered();
|
|
11204
11219
|
if (!isAvailable) {
|
|
11205
|
-
// if the Embed component is
|
|
11206
|
-
// show it (hide is defalt behaviour)
|
|
11207
|
-
console.log('No preRender found, creating new ');
|
|
11220
|
+
// if the Embed component is not preRendered , Render it now and
|
|
11208
11221
|
this.preRender(true);
|
|
11222
|
+
// show it (hide is defalt behaviour)
|
|
11223
|
+
// console.log('No preRender found, creating new ');
|
|
11209
11224
|
return;
|
|
11210
11225
|
}
|
|
11211
11226
|
}
|
|
11212
11227
|
this.syncPreRenderStyle();
|
|
11213
11228
|
removeStyleProperties(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
|
|
11214
|
-
setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
11229
|
+
// setStyleProperties(this.preRenderShield, { zIndex: '-1' });
|
|
11215
11230
|
this.subscribeToEvents();
|
|
11216
11231
|
}
|
|
11217
11232
|
syncPreRenderStyle() {
|
|
@@ -11220,7 +11235,10 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11220
11235
|
}
|
|
11221
11236
|
const elBoundingClient = this.el.getBoundingClientRect();
|
|
11222
11237
|
setStyleProperties(this.preRenderWrapper, {
|
|
11223
|
-
top: `${elBoundingClient.y}px`,
|
|
11238
|
+
top: `${elBoundingClient.y}px`,
|
|
11239
|
+
left: `${elBoundingClient.x}px`,
|
|
11240
|
+
width: `${elBoundingClient.width}px`,
|
|
11241
|
+
height: `${elBoundingClient.height}px`,
|
|
11224
11242
|
});
|
|
11225
11243
|
}
|
|
11226
11244
|
insertIntoDOM(child) {
|
|
@@ -11439,6 +11457,8 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11439
11457
|
}
|
|
11440
11458
|
/**
|
|
11441
11459
|
* Creates the preRender shell
|
|
11460
|
+
*
|
|
11461
|
+
* @param showPreRenderByDefault
|
|
11442
11462
|
*/
|
|
11443
11463
|
preRender(showPreRenderByDefault = false) {
|
|
11444
11464
|
this.isPreRendered = true;
|
|
@@ -11479,6 +11499,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11479
11499
|
var _a;
|
|
11480
11500
|
try {
|
|
11481
11501
|
(_a = this.insertedDomEl) === null || _a === void 0 ? void 0 : _a.parentNode.removeChild(this.insertedDomEl);
|
|
11502
|
+
this.unsubscribeToEvents();
|
|
11482
11503
|
}
|
|
11483
11504
|
catch (e) {
|
|
11484
11505
|
console.log('Error destroying TS Embed', e);
|
|
@@ -11516,6 +11537,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11516
11537
|
* Render the app in an iframe and set up event handlers
|
|
11517
11538
|
*
|
|
11518
11539
|
* @param iframeSrc
|
|
11540
|
+
* @param showPreRenderByDefault - if true the preRender will be shown by default
|
|
11519
11541
|
*/
|
|
11520
11542
|
renderV1Embed(iframeSrc, showPreRenderByDefault = false) {
|
|
11521
11543
|
return this.renderIFrame(iframeSrc, showPreRenderByDefault);
|
|
@@ -11831,7 +11853,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
11831
11853
|
return this;
|
|
11832
11854
|
}
|
|
11833
11855
|
preRender(showPreRenderByDefault = false) {
|
|
11834
|
-
super.preRender(
|
|
11856
|
+
super.preRender();
|
|
11835
11857
|
this.render(showPreRenderByDefault);
|
|
11836
11858
|
return this;
|
|
11837
11859
|
}
|
|
@@ -12038,6 +12060,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
12038
12060
|
*
|
|
12039
12061
|
* @param renderOptions An object containing the page ID
|
|
12040
12062
|
* to be embedded.
|
|
12063
|
+
* @param showPreRenderByDefault
|
|
12041
12064
|
*/
|
|
12042
12065
|
render(showPreRenderByDefault = false) {
|
|
12043
12066
|
super.render();
|
|
@@ -12203,6 +12226,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
12203
12226
|
*
|
|
12204
12227
|
* @param renderOptions An object specifying the Liveboard ID,
|
|
12205
12228
|
* visualization ID and the runtime filters.
|
|
12229
|
+
* @param showPreRenderByDefault
|
|
12206
12230
|
*/
|
|
12207
12231
|
render(showPreRenderByDefault = false) {
|
|
12208
12232
|
super.render();
|
|
@@ -12211,7 +12235,7 @@ mutation RemoveColumns($session: BachSessionIdInput!, $logicalColumnIds: [GUID!]
|
|
|
12211
12235
|
return this;
|
|
12212
12236
|
}
|
|
12213
12237
|
preRender(showPreRenderByDefault = false) {
|
|
12214
|
-
super.preRender(
|
|
12238
|
+
super.preRender();
|
|
12215
12239
|
this.render(showPreRenderByDefault);
|
|
12216
12240
|
return this;
|
|
12217
12241
|
}
|