@thoughtspot/visual-embed-sdk 1.20.0-prerender.0 → 1.20.0-prerender.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/tsembed.es.js +1 -1
- package/dist/tsembed.js +1 -1
- package/lib/package.json +1 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +6 -2
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +26 -2
- package/lib/src/react/index.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/react/index.spec.tsx +68 -2
- package/src/react/index.tsx +52 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;AA2D9D,UAAU,WAAY,SAAQ,UAAU,EAAE,gBAAgB;CAAG;AAE7D,eAAO,MAAM,WAAW,6EAEvB,CAAC;AAEF,UAAU,QAAS,SAAQ,UAAU,EAAE,aAAa;CAAG;AAEvD,eAAO,MAAM,QAAQ,0EAAyE,CAAC;AAE/F,UAAU,cAAe,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAEnE,eAAO,MAAM,cAAc,gFAIT,CAAC;AAEnB,eAAO,MAAM,aAAa,gFAIR,CAAC;AAEnB,UAAU,mBAAoB,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAExE,eAAO,MAAM,cAAc,qFAIT,CAAC;AAEnB,eAAO,MAAM,WAAW,QAAO,MAAM,gBAAgB,CAAC,OAAO,CAAgC,CAAC"}
|
package/dist/tsembed.es.js
CHANGED
|
@@ -9990,7 +9990,7 @@ function processTrigger(iFrame, messageType, thoughtSpotHost, data) {
|
|
|
9990
9990
|
});
|
|
9991
9991
|
}
|
|
9992
9992
|
|
|
9993
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.20.0-prerender.
|
|
9993
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.20.0-prerender.1";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports={".":"./lib/src/index.js","./react":{"import":"./lib/src/react/index.js",require:"./cjs/src/react.index.js",types:"./lib/src/react/index.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/index.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":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",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",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","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","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","@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","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,typesVersions:typesVersions,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};
|
|
9994
9994
|
|
|
9995
9995
|
/**
|
|
9996
9996
|
* Copyright (c) 2022
|
package/dist/tsembed.js
CHANGED
|
@@ -9929,7 +9929,7 @@
|
|
|
9929
9929
|
});
|
|
9930
9930
|
}
|
|
9931
9931
|
|
|
9932
|
-
var name="@thoughtspot/visual-embed-sdk";var version="1.20.0-prerender.
|
|
9932
|
+
var name="@thoughtspot/visual-embed-sdk";var version="1.20.0-prerender.1";var description="ThoughtSpot Embed SDK";var module="lib/src/index.js";var main="dist/tsembed.js";var types="lib/src/index.d.ts";var files=["dist/**","lib/**","src/**"];var exports$1={".":"./lib/src/index.js","./react":{"import":"./lib/src/react/index.js",require:"./cjs/src/react.index.js",types:"./lib/src/react/index.d.ts"}};var typesVersions={"*":{react:["./lib/src/react/index.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":"dts-bundle --name @thoughtspot/visual-embed-sdk --out visual-embed-sdk.d.ts --main lib/src/index.d.ts",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",prepublishOnly:"npm run test; npm run tsc; npm run bundle-dts; npm run build","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","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","@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","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,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};
|
|
9933
9933
|
|
|
9934
9934
|
/**
|
|
9935
9935
|
* Copyright (c) 2022
|
package/lib/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAqC,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAA+B,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAyB,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAqC,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAA4B,MAAM,QAAQ,CAAC;AA2D9D,UAAU,WAAY,SAAQ,UAAU,EAAE,gBAAgB;CAAG;AAE7D,eAAO,MAAM,WAAW,6EAEvB,CAAC;AAEF,UAAU,QAAS,SAAQ,UAAU,EAAE,aAAa;CAAG;AAEvD,eAAO,MAAM,QAAQ,0EAAyE,CAAC;AAE/F,UAAU,cAAe,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAEnE,eAAO,MAAM,cAAc,gFAIT,CAAC;AAEnB,eAAO,MAAM,aAAa,gFAIR,CAAC;AAEnB,UAAU,mBAAoB,SAAQ,UAAU,EAAE,mBAAmB;CAAG;AAExE,eAAO,MAAM,cAAc,qFAIT,CAAC;AAEnB,eAAO,MAAM,WAAW,QAAO,MAAM,gBAAgB,CAAC,OAAO,CAAgC,CAAC"}
|
package/lib/src/react/index.js
CHANGED
|
@@ -14,7 +14,9 @@ const componentFactory = (EmbedConstructor) => React.forwardRef((props, forwarde
|
|
|
14
14
|
const tsEmbed = new EmbedConstructor(ref.current, deepMerge({
|
|
15
15
|
insertAsSibling: viewConfig.insertAsSibling,
|
|
16
16
|
frameParams: {
|
|
17
|
-
class:
|
|
17
|
+
class: viewConfig.insertAsSibling
|
|
18
|
+
? className || ''
|
|
19
|
+
: '',
|
|
18
20
|
},
|
|
19
21
|
}, viewConfig));
|
|
20
22
|
Object.keys(listeners).forEach((eventName) => {
|
|
@@ -29,7 +31,9 @@ const componentFactory = (EmbedConstructor) => React.forwardRef((props, forwarde
|
|
|
29
31
|
tsEmbed.destroy();
|
|
30
32
|
};
|
|
31
33
|
}, [viewConfig, listeners]);
|
|
32
|
-
return
|
|
34
|
+
return ((viewConfig.insertAsSibling)
|
|
35
|
+
? React.createElement("span", { "data-testid": "tsEmbed", ref: ref, style: { position: 'absolute' } })
|
|
36
|
+
: React.createElement("div", { "data-testid": "tsEmbed", ref: ref, className: className }));
|
|
33
37
|
});
|
|
34
38
|
export const SearchEmbed = componentFactory(_SearchEmbed);
|
|
35
39
|
export const AppEmbed = componentFactory(_AppEmbed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,IAAI,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAiB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAI5F,OAAO,EAAc,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,gBAAgB,GAAG,CACrB,gBAAmB,EACrB,EAAE,CAAC,KAAK,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,cAAc,IAAI,eAAe,EAAuB,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,YAAY,EAAoB,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAiB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,cAAc,IAAI,eAAe,EAAuB,MAAM,oBAAoB,CAAC;AAI5F,OAAO,EAAc,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,gBAAgB,GAAG,CACrB,gBAAmB,EACrB,EAAE,CAAC,KAAK,CAAC,UAAU,CACjB,CAAC,KAAQ,EAAE,YAA6C,EAAE,EAAE;IACxD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;IAC3C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAGpD,UAAU,CAAC,CAAC;IAClB,oBAAoB,CAAC,GAAG,EAAE;QACtB,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAC5B,GAAI,CAAC,OAAO,EACZ,SAAS,CACL;YACI,eAAe,EAAE,UAAU,CAAC,eAAe;YAC3C,WAAW,EAAE;gBACT,KAAK,EAAE,UAAU,CAAC,eAAe;oBAC7B,CAAC,CAAC,SAAS,IAAI,EAAE;oBACjB,CAAC,CAAC,EAAE;aACX;SACJ,EACD,UAAU,CACb,CACR,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,OAAO,CAAC,EAAE,CACF,SAAuB,EACvB,SAAS,CAAC,SAAuB,CAAC,CACzC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,IAAI,YAAY,EAAE;YACd,6CAA6C;YAC7C,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;SAClC;QACD,OAAO,GAAG,EAAE;YACR,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAE5B,OAAO,CACH,CAAC,UAAU,CAAC,eAAe,CAAC;QACxB,CAAC,CAAC,6CACc,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAC3B;QACR,CAAC,CAAC,4CACc,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,GAClB,CACb,CAAC;AACN,CAAC,CACJ,CAAC;AAIF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CACvC,YAAY,CACf,CAAC;AAIF,MAAM,CAAC,MAAM,QAAQ,GAAG,gBAAgB,CAA4C,SAAS,CAAC,CAAC;AAI/F,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAI5C,eAAe,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAI3C,eAAe,CAAC,CAAC;AAInB,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAI5C,eAAe,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAoC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAU,IAAI,CAAC,CAAC"}
|
|
@@ -20,7 +20,7 @@ describe('React Components', () => {
|
|
|
20
20
|
it('Should Render the Iframe with props', async () => {
|
|
21
21
|
const { container } = render(React.createElement(SearchEmbed, { hideDataSources: true, className: "embedClass" }));
|
|
22
22
|
await waitFor(() => getIFrameEl(container));
|
|
23
|
-
expect(getIFrameEl(container).classList.contains('embedClass')).toBe(true);
|
|
23
|
+
expect(getIFrameEl(container).parentElement.classList.contains('embedClass')).toBe(true);
|
|
24
24
|
expect(getIFrameSrc(container)).toBe(`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&hideAction=[%22${Action.ReportError}%22,%22editACopy%22,%22saveAsView%22,%22updateTSL%22,%22editTSL%22,%22onDeleteAnswer%22]&dataSourceMode=hide&useLastSelectedSources=false&isSearchEmbed=true#/embed/answer`);
|
|
25
25
|
});
|
|
26
26
|
it('Should attach event listeners', async (done) => {
|
|
@@ -83,6 +83,30 @@ describe('React Components', () => {
|
|
|
83
83
|
await waitFor(() => getIFrameEl(container));
|
|
84
84
|
expect(getIFrameSrc(container)).toContain('col1=revenue&op1=EQ&val1=100');
|
|
85
85
|
});
|
|
86
|
+
it('Should have the correct container element', async () => {
|
|
87
|
+
const { container } = render(React.createElement(LiveboardEmbed, { liveboardId: "abcd", className: "def" }));
|
|
88
|
+
await waitFor(() => getIFrameEl(container));
|
|
89
|
+
expect(container.querySelector('div')).not.toBe(null);
|
|
90
|
+
expect(container.querySelector('div').classList.contains('def')).toBe(true);
|
|
91
|
+
const { container: containerSibling } = render(React.createElement(LiveboardEmbed, { liveboardId: "abcd", className: "def", insertAsSibling: true }));
|
|
92
|
+
await waitFor(() => getIFrameEl(containerSibling));
|
|
93
|
+
expect(containerSibling.querySelector('span')).not.toBe(null);
|
|
94
|
+
expect(containerSibling.querySelector('span').style.position).toBe('absolute');
|
|
95
|
+
expect(getIFrameEl(containerSibling).classList.contains('def')).toBe(true);
|
|
96
|
+
expect(containerSibling.querySelector('div')).toBe(null);
|
|
97
|
+
});
|
|
98
|
+
it('Should have the correct container element', async () => {
|
|
99
|
+
const { container } = render(React.createElement(LiveboardEmbed, { liveboardId: "abcd", className: "def" }));
|
|
100
|
+
await waitFor(() => getIFrameEl(container));
|
|
101
|
+
expect(container.querySelector('div')).not.toBe(null);
|
|
102
|
+
expect(container.querySelector('div').classList.contains('def')).toBe(true);
|
|
103
|
+
const { container: containerSibling } = render(React.createElement(LiveboardEmbed, { liveboardId: "abcd", className: "def", insertAsSibling: true }));
|
|
104
|
+
await waitFor(() => getIFrameEl(containerSibling));
|
|
105
|
+
expect(containerSibling.querySelector('span')).not.toBe(null);
|
|
106
|
+
expect(containerSibling.querySelector('span').style.position).toBe('absolute');
|
|
107
|
+
expect(getIFrameEl(containerSibling).classList.contains('def')).toBe(true);
|
|
108
|
+
expect(containerSibling.querySelector('div')).toBe(null);
|
|
109
|
+
});
|
|
86
110
|
});
|
|
87
111
|
describe('SearchBarEmbed', () => {
|
|
88
112
|
it('Should Render the Iframe with props', async () => {
|
|
@@ -91,7 +115,7 @@ describe('React Components', () => {
|
|
|
91
115
|
executeSearch: true,
|
|
92
116
|
} }));
|
|
93
117
|
await waitFor(() => getIFrameEl(container));
|
|
94
|
-
expect(getIFrameEl(container).classList.contains('embedClass')).toBe(true);
|
|
118
|
+
expect(getIFrameEl(container).parentElement.classList.contains('embedClass')).toBe(true);
|
|
95
119
|
expect(getIFrameSrc(container)).toBe(`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&hideAction=[%22${Action.ReportError}%22]&dataSources=[%22test%22]&searchTokenString=%5Brevenue%5D&executeSearch=true&useLastSelectedSources=false&isSearchEmbed=true#/embed/search-bar-embed`);
|
|
96
120
|
});
|
|
97
121
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/react/index.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,2BAA2B,CAAC;AACnC,OAAO,yCAAyC,CAAC;AACjD,OAAO,EACiB,MAAM,EAAE,OAAO,GACtC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,GACjD,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,WAAW,EAAY,cAAc,EAAE,WAAW,EAAE,cAAc,GACrE,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,SAAS,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACD,eAAe;QACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,WAAW,IAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAC,YAAY,GAAG,CAChE,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAE5C,MAAM,
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../src/react/index.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,2BAA2B,CAAC;AACnC,OAAO,yCAAyC,CAAC;AACjD,OAAO,EACiB,MAAM,EAAE,OAAO,GACtC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,GACjD,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,WAAW,EAAY,cAAc,EAAE,WAAW,EAAE,cAAc,GACrE,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC,SAAS,CAAC,GAAG,EAAE;IACX,IAAI,CAAC;QACD,eAAe;QACf,QAAQ,EAAE,QAAQ,CAAC,IAAI;KAC1B,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,WAAW,IAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAC,YAAY,GAAG,CAChE,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAE5C,MAAM,CACF,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CACnD,YAAY,CACf,CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAChC,UAAU,eAAe,4EAA4E,OAAO,iCAAiC,MAAM,CAAC,WAAW,4KAA4K,CAC9U,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC;YAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,WAAW,IACR,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;oBACV,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;gBAC/C,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC1C,IAAI,EAAE,CAAC;gBACX,CAAC,GACH,CACL,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE;gBACtC,IAAI,EAAE,UAAU,CAAC,QAAQ;gBACzB,IAAI,EAAE;oBACF,QAAQ;iBACX;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE;IACN,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE;QACF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACtE,kBAAkB,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,GAAG,EAAE;gBACvB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC/B,MAAM,mBAAmB,GAAG,GAAG,EAAE;oBAC7B,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzE,CAAC,CAAC;gBAEF,OAAO,CACH,oBAAC,cAAc,IACX,GAAG,EAAE,QAAQ,EACb,WAAW,EAAC,MAAM,EAClB,mBAAmB,EAAE,mBAAmB,GAC1C,CACL,CAAC;YACN,CAAC,CAAC;YAEF,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,aAAa,OAAG,CAAC,CAAC;YAEhD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YAChD,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE;gBACtC,IAAI,EAAE,UAAU,CAAC,iBAAiB;gBAClC,IAAI,EAAE;oBACF,QAAQ,EAAE,MAAM;iBACnB;aACJ,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,GAAG,EAAE;gBACxB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,oBAAoB,CACzD;oBACI,IAAI,EAAE,SAAS,CAAC,cAAc;oBAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;iBACzB,EACD,UAAU,eAAe,EAAE,EAC3B,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,cAAc,IACX,WAAW,EAAC,MAAM,EAClB,cAAc,EAAE;oBACZ;wBACI,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,eAAe,CAAC,EAAE;wBAC5B,MAAM,EAAE,CAAC,GAAG,CAAC;qBAChB;iBACJ,GACH,CACL,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,cAAc,IAAC,WAAW,EAAC,MAAM,EAAC,SAAS,EAAC,KAAK,GAAG,CACxD,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CACF,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAC1C,oBAAC,cAAc,IACX,WAAW,EAAC,MAAM,EAClB,SAAS,EAAC,KAAK,EACf,eAAe,EAAE,IAAI,GACvB,CACL,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9D,UAAU,CACb,CAAC;YACF,MAAM,CACF,WAAW,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,cAAc,IAAC,WAAW,EAAC,MAAM,EAAC,SAAS,EAAC,KAAK,GAAG,CACxD,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CACF,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAC1C,oBAAC,cAAc,IACX,WAAW,EAAC,MAAM,EAClB,SAAS,EAAC,KAAK,EACf,eAAe,EAAE,IAAI,GACvB,CACL,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACnD,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9D,UAAU,CACb,CAAC;YACF,MAAM,CACF,WAAW,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CACxB,oBAAC,cAAc,IACX,SAAS,EAAC,YAAY,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE;oBACX,iBAAiB,EAAE,WAAW;oBAC9B,aAAa,EAAE,IAAI;iBACtB,GACH,CACL,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;YAE5C,MAAM,CACF,WAAW,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CACnD,YAAY,CACf,CACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAChC,UAAU,eAAe,4EAA4E,OAAO,iCAAiC,MAAM,CAAC,WAAW,0JAA0J,CAC5T,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
package/src/react/index.spec.tsx
CHANGED
|
@@ -40,7 +40,11 @@ describe('React Components', () => {
|
|
|
40
40
|
|
|
41
41
|
await waitFor(() => getIFrameEl(container));
|
|
42
42
|
|
|
43
|
-
expect(
|
|
43
|
+
expect(
|
|
44
|
+
getIFrameEl(container).parentElement.classList.contains(
|
|
45
|
+
'embedClass',
|
|
46
|
+
),
|
|
47
|
+
).toBe(true);
|
|
44
48
|
expect(getIFrameSrc(container)).toBe(
|
|
45
49
|
`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&hideAction=[%22${Action.ReportError}%22,%22editACopy%22,%22saveAsView%22,%22updateTSL%22,%22editTSL%22,%22onDeleteAnswer%22]&dataSourceMode=hide&useLastSelectedSources=false&isSearchEmbed=true#/embed/answer`,
|
|
46
50
|
);
|
|
@@ -134,6 +138,64 @@ describe('React Components', () => {
|
|
|
134
138
|
await waitFor(() => getIFrameEl(container));
|
|
135
139
|
expect(getIFrameSrc(container)).toContain('col1=revenue&op1=EQ&val1=100');
|
|
136
140
|
});
|
|
141
|
+
|
|
142
|
+
it('Should have the correct container element', async () => {
|
|
143
|
+
const { container } = render(
|
|
144
|
+
<LiveboardEmbed liveboardId="abcd" className="def" />,
|
|
145
|
+
);
|
|
146
|
+
|
|
147
|
+
await waitFor(() => getIFrameEl(container));
|
|
148
|
+
expect(container.querySelector('div')).not.toBe(null);
|
|
149
|
+
expect(
|
|
150
|
+
container.querySelector('div').classList.contains('def'),
|
|
151
|
+
).toBe(true);
|
|
152
|
+
|
|
153
|
+
const { container: containerSibling } = render(
|
|
154
|
+
<LiveboardEmbed
|
|
155
|
+
liveboardId="abcd"
|
|
156
|
+
className="def"
|
|
157
|
+
insertAsSibling={true}
|
|
158
|
+
/>,
|
|
159
|
+
);
|
|
160
|
+
await waitFor(() => getIFrameEl(containerSibling));
|
|
161
|
+
expect(containerSibling.querySelector('span')).not.toBe(null);
|
|
162
|
+
expect(containerSibling.querySelector('span').style.position).toBe(
|
|
163
|
+
'absolute',
|
|
164
|
+
);
|
|
165
|
+
expect(
|
|
166
|
+
getIFrameEl(containerSibling).classList.contains('def'),
|
|
167
|
+
).toBe(true);
|
|
168
|
+
expect(containerSibling.querySelector('div')).toBe(null);
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
it('Should have the correct container element', async () => {
|
|
172
|
+
const { container } = render(
|
|
173
|
+
<LiveboardEmbed liveboardId="abcd" className="def" />,
|
|
174
|
+
);
|
|
175
|
+
|
|
176
|
+
await waitFor(() => getIFrameEl(container));
|
|
177
|
+
expect(container.querySelector('div')).not.toBe(null);
|
|
178
|
+
expect(
|
|
179
|
+
container.querySelector('div').classList.contains('def'),
|
|
180
|
+
).toBe(true);
|
|
181
|
+
|
|
182
|
+
const { container: containerSibling } = render(
|
|
183
|
+
<LiveboardEmbed
|
|
184
|
+
liveboardId="abcd"
|
|
185
|
+
className="def"
|
|
186
|
+
insertAsSibling={true}
|
|
187
|
+
/>,
|
|
188
|
+
);
|
|
189
|
+
await waitFor(() => getIFrameEl(containerSibling));
|
|
190
|
+
expect(containerSibling.querySelector('span')).not.toBe(null);
|
|
191
|
+
expect(containerSibling.querySelector('span').style.position).toBe(
|
|
192
|
+
'absolute',
|
|
193
|
+
);
|
|
194
|
+
expect(
|
|
195
|
+
getIFrameEl(containerSibling).classList.contains('def'),
|
|
196
|
+
).toBe(true);
|
|
197
|
+
expect(containerSibling.querySelector('div')).toBe(null);
|
|
198
|
+
});
|
|
137
199
|
});
|
|
138
200
|
|
|
139
201
|
describe('SearchBarEmbed', () => {
|
|
@@ -151,7 +213,11 @@ describe('React Components', () => {
|
|
|
151
213
|
|
|
152
214
|
await waitFor(() => getIFrameEl(container));
|
|
153
215
|
|
|
154
|
-
expect(
|
|
216
|
+
expect(
|
|
217
|
+
getIFrameEl(container).parentElement.classList.contains(
|
|
218
|
+
'embedClass',
|
|
219
|
+
),
|
|
220
|
+
).toBe(true);
|
|
155
221
|
expect(getIFrameSrc(container)).toBe(
|
|
156
222
|
`http://${thoughtSpotHost}/?hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=None&hideAction=[%22${Action.ReportError}%22]&dataSources=[%22test%22]&searchTokenString=%5Brevenue%5D&executeSearch=true&useLastSelectedSources=false&isSearchEmbed=true#/embed/search-bar-embed`,
|
|
157
223
|
);
|
package/src/react/index.tsx
CHANGED
|
@@ -12,40 +12,60 @@ import { EmbedProps, getViewPropsAndListeners } from './util';
|
|
|
12
12
|
|
|
13
13
|
const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V extends ViewConfig>(
|
|
14
14
|
EmbedConstructor: T,
|
|
15
|
-
) => React.forwardRef<TsEmbed, U>(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
) => React.forwardRef<TsEmbed, U>(
|
|
16
|
+
(props: U, forwardedRef: React.MutableRefObject<TsEmbed>) => {
|
|
17
|
+
const ref = React.useRef<HTMLDivElement>(null);
|
|
18
|
+
const { className, ...embedProps } = props;
|
|
19
|
+
const { viewConfig, listeners } = getViewPropsAndListeners<
|
|
20
|
+
Omit<U, 'className'>,
|
|
21
|
+
V
|
|
22
|
+
>(embedProps);
|
|
23
|
+
useDeepCompareEffect(() => {
|
|
24
|
+
const tsEmbed = new EmbedConstructor(
|
|
25
|
+
ref!.current,
|
|
26
|
+
deepMerge(
|
|
27
|
+
{
|
|
28
|
+
insertAsSibling: viewConfig.insertAsSibling,
|
|
29
|
+
frameParams: {
|
|
30
|
+
class: viewConfig.insertAsSibling
|
|
31
|
+
? className || ''
|
|
32
|
+
: '',
|
|
33
|
+
},
|
|
29
34
|
},
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
forwardedRef
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
viewConfig,
|
|
36
|
+
),
|
|
37
|
+
);
|
|
38
|
+
Object.keys(listeners).forEach((eventName) => {
|
|
39
|
+
tsEmbed.on(
|
|
40
|
+
eventName as EmbedEvent,
|
|
41
|
+
listeners[eventName as EmbedEvent],
|
|
42
|
+
);
|
|
43
|
+
});
|
|
44
|
+
tsEmbed.render();
|
|
45
|
+
if (forwardedRef) {
|
|
46
|
+
// eslint-disable-next-line no-param-reassign
|
|
47
|
+
forwardedRef.current = tsEmbed;
|
|
48
|
+
}
|
|
49
|
+
return () => {
|
|
50
|
+
tsEmbed.destroy();
|
|
51
|
+
};
|
|
52
|
+
}, [viewConfig, listeners]);
|
|
46
53
|
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
return (
|
|
55
|
+
(viewConfig.insertAsSibling)
|
|
56
|
+
? <span
|
|
57
|
+
data-testid="tsEmbed"
|
|
58
|
+
ref={ref}
|
|
59
|
+
style={{ position: 'absolute' }}
|
|
60
|
+
></span>
|
|
61
|
+
: <div
|
|
62
|
+
data-testid="tsEmbed"
|
|
63
|
+
ref={ref}
|
|
64
|
+
className={className}>
|
|
65
|
+
</div>
|
|
66
|
+
);
|
|
67
|
+
},
|
|
68
|
+
);
|
|
49
69
|
|
|
50
70
|
interface SearchProps extends EmbedProps, SearchViewConfig {}
|
|
51
71
|
|