@thoughtspot/visual-embed-sdk 1.20.2 → 1.20.3
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/README.md +1 -1
- package/cjs/package.json +171 -0
- package/cjs/src/auth.d.ts +183 -0
- package/cjs/src/auth.d.ts.map +1 -0
- package/cjs/src/auth.js +457 -0
- package/cjs/src/auth.js.map +1 -0
- package/cjs/src/auth.spec.d.ts +13 -0
- package/cjs/src/auth.spec.d.ts.map +1 -0
- package/cjs/src/auth.spec.js +397 -0
- package/cjs/src/auth.spec.js.map +1 -0
- package/cjs/src/config.d.ts +22 -0
- package/cjs/src/config.d.ts.map +1 -0
- package/cjs/src/config.js +70 -0
- package/cjs/src/config.js.map +1 -0
- package/cjs/src/config.spec.d.ts +5 -0
- package/cjs/src/config.spec.d.ts.map +1 -0
- package/cjs/src/config.spec.js +65 -0
- package/cjs/src/config.spec.js.map +1 -0
- package/cjs/src/embed/app.d.ts +168 -0
- package/cjs/src/embed/app.d.ts.map +1 -0
- package/cjs/src/embed/app.js +215 -0
- package/cjs/src/embed/app.js.map +1 -0
- package/cjs/src/embed/app.spec.d.ts +2 -0
- package/cjs/src/embed/app.spec.d.ts.map +1 -0
- package/cjs/src/embed/app.spec.js +239 -0
- package/cjs/src/embed/app.spec.js.map +1 -0
- package/cjs/src/embed/base.d.ts +79 -0
- package/cjs/src/embed/base.d.ts.map +1 -0
- package/cjs/src/embed/base.js +229 -0
- package/cjs/src/embed/base.js.map +1 -0
- package/cjs/src/embed/base.spec.d.ts +2 -0
- package/cjs/src/embed/base.spec.d.ts.map +1 -0
- package/cjs/src/embed/base.spec.js +198 -0
- package/cjs/src/embed/base.spec.js.map +1 -0
- package/cjs/src/embed/embed.spec.d.ts +2 -0
- package/cjs/src/embed/embed.spec.d.ts.map +1 -0
- package/cjs/src/embed/embed.spec.js +74 -0
- package/cjs/src/embed/embed.spec.js.map +1 -0
- package/cjs/src/embed/events.spec.d.ts +2 -0
- package/cjs/src/embed/events.spec.d.ts.map +1 -0
- package/cjs/src/embed/events.spec.js +238 -0
- package/cjs/src/embed/events.spec.js.map +1 -0
- package/cjs/src/embed/liveboard.d.ts +150 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -0
- package/cjs/src/embed/liveboard.js +168 -0
- package/cjs/src/embed/liveboard.js.map +1 -0
- package/cjs/src/embed/liveboard.spec.d.ts +2 -0
- package/cjs/src/embed/liveboard.spec.d.ts.map +1 -0
- package/cjs/src/embed/liveboard.spec.js +229 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -0
- package/cjs/src/embed/pinboard.spec.d.ts +2 -0
- package/cjs/src/embed/pinboard.spec.d.ts.map +1 -0
- package/cjs/src/embed/pinboard.spec.js +148 -0
- package/cjs/src/embed/pinboard.spec.js.map +1 -0
- package/cjs/src/embed/search-bar.d.ts +50 -0
- package/cjs/src/embed/search-bar.d.ts.map +1 -0
- package/cjs/src/embed/search-bar.js +63 -0
- package/cjs/src/embed/search-bar.js.map +1 -0
- package/cjs/src/embed/search.d.ts +129 -0
- package/cjs/src/embed/search.d.ts.map +1 -0
- package/cjs/src/embed/search.js +121 -0
- package/cjs/src/embed/search.js.map +1 -0
- package/cjs/src/embed/search.spec.d.ts +2 -0
- package/cjs/src/embed/search.spec.d.ts.map +1 -0
- package/cjs/src/embed/search.spec.js +238 -0
- package/cjs/src/embed/search.spec.js.map +1 -0
- package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts +2 -0
- package/cjs/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
- package/cjs/src/embed/searchEmbed-basic-auth.spec.js +103 -0
- package/cjs/src/embed/searchEmbed-basic-auth.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.d.ts +323 -0
- package/cjs/src/embed/ts-embed.d.ts.map +1 -0
- package/cjs/src/embed/ts-embed.js +719 -0
- package/cjs/src/embed/ts-embed.js.map +1 -0
- package/cjs/src/embed/ts-embed.spec.d.ts +2 -0
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -0
- package/cjs/src/embed/ts-embed.spec.js +771 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -0
- package/cjs/src/errors.d.ts +7 -0
- package/cjs/src/errors.d.ts.map +1 -0
- package/cjs/src/errors.js +10 -0
- package/cjs/src/errors.js.map +1 -0
- package/cjs/src/index.d.ts +18 -0
- package/cjs/src/index.d.ts.map +1 -0
- package/cjs/src/index.js +42 -0
- package/cjs/src/index.js.map +1 -0
- package/cjs/src/mixpanel-service.d.ts +29 -0
- package/cjs/src/mixpanel-service.d.ts.map +1 -0
- package/cjs/src/mixpanel-service.js +76 -0
- package/cjs/src/mixpanel-service.js.map +1 -0
- package/cjs/src/mixpanel-service.spec.d.ts +2 -0
- package/cjs/src/mixpanel-service.spec.d.ts.map +1 -0
- package/cjs/src/mixpanel-service.spec.js +63 -0
- package/cjs/src/mixpanel-service.spec.js.map +1 -0
- package/cjs/src/react/all-types-export.d.ts +3 -0
- package/cjs/src/react/all-types-export.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.js +29 -0
- package/cjs/src/react/all-types-export.js.map +1 -0
- package/cjs/src/react/all-types-export.spec.d.ts +2 -0
- package/cjs/src/react/all-types-export.spec.d.ts.map +1 -0
- package/cjs/src/react/all-types-export.spec.js +13 -0
- package/cjs/src/react/all-types-export.spec.js.map +1 -0
- package/cjs/src/react/index.d.ts +95 -0
- package/cjs/src/react/index.d.ts.map +1 -0
- package/cjs/src/react/index.js +121 -0
- package/cjs/src/react/index.js.map +1 -0
- package/cjs/src/react/index.spec.d.ts +3 -0
- package/cjs/src/react/index.spec.d.ts.map +1 -0
- package/cjs/src/react/index.spec.js +138 -0
- package/cjs/src/react/index.spec.js.map +1 -0
- package/cjs/src/react/util.d.ts +19 -0
- package/cjs/src/react/util.d.ts.map +1 -0
- package/cjs/src/react/util.js +25 -0
- package/cjs/src/react/util.js.map +1 -0
- package/cjs/src/test/test-utils.d.ts +48 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -0
- package/cjs/src/test/test-utils.js +108 -0
- package/cjs/src/test/test-utils.js.map +1 -0
- package/cjs/src/types.d.ts +2020 -0
- package/cjs/src/types.d.ts.map +1 -0
- package/cjs/src/types.js +1543 -0
- package/cjs/src/types.js.map +1 -0
- package/cjs/src/utils/answerService.d.ts +10 -0
- package/cjs/src/utils/answerService.d.ts.map +1 -0
- package/cjs/src/utils/answerService.js +61 -0
- package/cjs/src/utils/answerService.js.map +1 -0
- package/cjs/src/utils/answerService.spec.d.ts +2 -0
- package/cjs/src/utils/answerService.spec.d.ts.map +1 -0
- package/cjs/src/utils/answerService.spec.js +31 -0
- package/cjs/src/utils/answerService.spec.js.map +1 -0
- package/cjs/src/utils/authService.d.ts +37 -0
- package/cjs/src/utils/authService.d.ts.map +1 -0
- package/cjs/src/utils/authService.js +106 -0
- package/cjs/src/utils/authService.js.map +1 -0
- package/cjs/src/utils/authService.spec.d.ts +2 -0
- package/cjs/src/utils/authService.spec.d.ts.map +1 -0
- package/cjs/src/utils/authService.spec.js +72 -0
- package/cjs/src/utils/authService.spec.js.map +1 -0
- package/cjs/src/utils/processData.d.ts +16 -0
- package/cjs/src/utils/processData.d.ts.map +1 -0
- package/cjs/src/utils/processData.js +110 -0
- package/cjs/src/utils/processData.js.map +1 -0
- package/cjs/src/utils/processData.spec.d.ts +2 -0
- package/cjs/src/utils/processData.spec.d.ts.map +1 -0
- package/cjs/src/utils/processData.spec.js +142 -0
- package/cjs/src/utils/processData.spec.js.map +1 -0
- package/cjs/src/utils/processTrigger.d.ts +10 -0
- package/cjs/src/utils/processTrigger.d.ts.map +1 -0
- package/cjs/src/utils/processTrigger.js +63 -0
- package/cjs/src/utils/processTrigger.js.map +1 -0
- package/cjs/src/utils/processTrigger.spec.d.ts +2 -0
- package/cjs/src/utils/processTrigger.spec.d.ts.map +1 -0
- package/cjs/src/utils/processTrigger.spec.js +58 -0
- package/cjs/src/utils/processTrigger.spec.js.map +1 -0
- package/cjs/src/utils.d.ts +68 -0
- package/cjs/src/utils.d.ts.map +1 -0
- package/cjs/src/utils.js +196 -0
- package/cjs/src/utils.js.map +1 -0
- package/cjs/src/utils.spec.d.ts +5 -0
- package/cjs/src/utils.spec.d.ts.map +1 -0
- package/cjs/src/utils.spec.js +98 -0
- package/cjs/src/utils.spec.js.map +1 -0
- package/dist/src/auth.d.ts +54 -5
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/auth.spec.d.ts +3 -0
- package/dist/src/auth.spec.d.ts.map +1 -1
- package/dist/src/config.d.ts +1 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +35 -6
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +20 -9
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +17 -5
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +3 -0
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +9 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +65 -7
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +8 -0
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +3 -0
- package/dist/src/react/all-types-export.d.ts.map +1 -0
- package/dist/src/react/all-types-export.spec.d.ts +2 -0
- package/dist/src/react/all-types-export.spec.d.ts.map +1 -0
- package/dist/src/react/index.d.ts +72 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/react/util.d.ts +4 -0
- package/dist/src/react/util.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +11 -2
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +499 -96
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/answerService.d.ts +7 -0
- package/dist/src/utils/answerService.d.ts.map +1 -1
- package/dist/src/utils/authService.d.ts +30 -0
- package/dist/src/utils/authService.d.ts.map +1 -1
- package/dist/src/utils/processData.d.ts +12 -0
- package/dist/src/utils/processData.d.ts.map +1 -1
- package/dist/src/utils/processTrigger.d.ts +7 -0
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts +12 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +28024 -0
- package/dist/tsembed-react.js +27966 -0
- package/dist/tsembed.es.js +18114 -305
- package/dist/tsembed.js +18088 -327
- package/dist/visual-embed-sdk-react-full.d.ts +3092 -0
- package/dist/visual-embed-sdk-react.d.ts +2781 -0
- package/dist/visual-embed-sdk.d.ts +2944 -0
- package/lib/package.json +15 -14
- package/lib/src/auth.d.ts +54 -5
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +91 -31
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts +3 -0
- package/lib/src/auth.spec.d.ts.map +1 -1
- package/lib/src/auth.spec.js +37 -6
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/config.d.ts +1 -0
- package/lib/src/config.d.ts.map +1 -1
- package/lib/src/config.js +5 -3
- package/lib/src/config.js.map +1 -1
- package/lib/src/config.spec.js.map +1 -1
- package/lib/src/embed/app.d.ts +35 -6
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +55 -16
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +41 -12
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +20 -9
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +31 -15
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/base.spec.js.map +1 -1
- package/lib/src/embed/embed.spec.js +1 -1
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +17 -5
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +49 -37
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +37 -30
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +14 -26
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +3 -0
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +5 -6
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +9 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +18 -14
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +16 -19
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/searchEmbed-basic-auth.spec.js +4 -0
- package/lib/src/embed/searchEmbed-basic-auth.spec.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +65 -7
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +154 -77
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +46 -24
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +4 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts +8 -0
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +13 -1
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/mixpanel-service.spec.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +3 -0
- package/lib/src/react/all-types-export.d.ts.map +1 -0
- package/lib/src/react/all-types-export.js +5 -0
- package/lib/src/react/all-types-export.js.map +1 -0
- package/lib/src/react/all-types-export.spec.d.ts +2 -0
- package/lib/src/react/all-types-export.spec.d.ts.map +1 -0
- package/lib/src/react/all-types-export.spec.js +10 -0
- package/lib/src/react/all-types-export.spec.js.map +1 -0
- package/lib/src/react/index.d.ts +72 -0
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +79 -7
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/react/index.spec.js +27 -6
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/react/util.d.ts +4 -0
- package/lib/src/react/util.d.ts.map +1 -1
- package/lib/src/react/util.js +4 -0
- package/lib/src/react/util.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +11 -2
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +36 -25
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +499 -96
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +374 -68
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/answerService.d.ts +7 -0
- package/lib/src/utils/answerService.d.ts.map +1 -1
- package/lib/src/utils/answerService.js +7 -0
- package/lib/src/utils/answerService.js.map +1 -1
- package/lib/src/utils/answerService.spec.js.map +1 -1
- package/lib/src/utils/authService.d.ts +30 -0
- package/lib/src/utils/authService.d.ts.map +1 -1
- package/lib/src/utils/authService.js +39 -2
- package/lib/src/utils/authService.js.map +1 -1
- package/lib/src/utils/authService.spec.js.map +1 -1
- package/lib/src/utils/processData.d.ts +12 -0
- package/lib/src/utils/processData.d.ts.map +1 -1
- package/lib/src/utils/processData.js +33 -5
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +7 -0
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +17 -3
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts +12 -0
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +24 -19
- package/lib/src/utils.js.map +1 -1
- package/lib/src/utils.spec.js.map +1 -1
- package/package.json +15 -14
- package/src/auth.spec.ts +83 -133
- package/src/auth.ts +148 -115
- package/src/config.spec.ts +2 -4
- package/src/config.ts +5 -3
- package/src/embed/app.spec.ts +57 -14
- package/src/embed/app.ts +91 -36
- package/src/embed/base.spec.ts +3 -9
- package/src/embed/base.ts +51 -53
- package/src/embed/embed.spec.ts +5 -6
- package/src/embed/liveboard.spec.ts +56 -37
- package/src/embed/liveboard.ts +66 -64
- package/src/embed/pinboard.spec.ts +26 -29
- package/src/embed/search-bar.tsx +10 -8
- package/src/embed/search.spec.ts +31 -21
- package/src/embed/search.ts +26 -20
- package/src/embed/searchEmbed-basic-auth.spec.ts +22 -28
- package/src/embed/ts-embed.spec.ts +99 -144
- package/src/embed/ts-embed.ts +188 -162
- package/src/errors.ts +3 -6
- package/src/index.ts +6 -10
- package/src/mixpanel-service.spec.ts +1 -3
- package/src/mixpanel-service.ts +13 -1
- package/src/react/index.spec.tsx +66 -13
- package/src/react/index.tsx +111 -62
- package/src/react/util.ts +8 -4
- package/src/test/test-utils.ts +43 -39
- package/src/types.ts +498 -98
- package/src/utils/answerService.spec.ts +3 -5
- package/src/utils/answerService.ts +21 -17
- package/src/utils/authService.spec.ts +26 -41
- package/src/utils/authService.ts +47 -21
- package/src/utils/processData.spec.ts +26 -59
- package/src/utils/processData.ts +36 -14
- package/src/utils/processTrigger.spec.ts +1 -6
- package/src/utils/processTrigger.ts +18 -9
- package/src/utils.spec.ts +8 -12
- package/src/utils.ts +25 -26
- package/lib/src/visual-embed-sdk.d.ts +0 -2419
package/lib/src/utils.js
CHANGED
|
@@ -12,6 +12,7 @@ import merge from 'ts-deepmerge';
|
|
|
12
12
|
* Refer to the following docs for more details on runtime filter syntax:
|
|
13
13
|
* https://cloud-docs.thoughtspot.com/admin/ts-cloud/apply-runtime-filter.html
|
|
14
14
|
* https://cloud-docs.thoughtspot.com/admin/ts-cloud/runtime-filter-operators.html
|
|
15
|
+
*
|
|
15
16
|
* @param runtimeFilters
|
|
16
17
|
*/
|
|
17
18
|
export const getFilterQuery = (runtimeFilters) => {
|
|
@@ -31,13 +32,12 @@ export const getFilterQuery = (runtimeFilters) => {
|
|
|
31
32
|
/**
|
|
32
33
|
* Convert a value to a string representation to be sent as a query
|
|
33
34
|
* parameter to the ThoughtSpot app.
|
|
35
|
+
*
|
|
34
36
|
* @param value Any parameter value
|
|
35
37
|
*/
|
|
36
38
|
const serializeParam = (value) => {
|
|
37
39
|
// do not serialize primitive types
|
|
38
|
-
if (typeof value === 'string' ||
|
|
39
|
-
typeof value === 'number' ||
|
|
40
|
-
typeof value === 'boolean') {
|
|
40
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
41
41
|
return value;
|
|
42
42
|
}
|
|
43
43
|
return JSON.stringify(value);
|
|
@@ -46,12 +46,15 @@ const serializeParam = (value) => {
|
|
|
46
46
|
* Convert a value to a string:
|
|
47
47
|
* in case of an array, we convert it to CSV.
|
|
48
48
|
* in case of any other type, we directly return the value.
|
|
49
|
+
*
|
|
49
50
|
* @param value
|
|
50
51
|
*/
|
|
51
|
-
const paramToString = (value) => Array.isArray(value) ? value.join(',') : value;
|
|
52
|
+
const paramToString = (value) => (Array.isArray(value) ? value.join(',') : value);
|
|
52
53
|
/**
|
|
53
54
|
* Return a query param string composed from the given params object
|
|
55
|
+
*
|
|
54
56
|
* @param queryParams
|
|
57
|
+
* @param shouldSerializeParamValues
|
|
55
58
|
*/
|
|
56
59
|
export const getQueryParamString = (queryParams, shouldSerializeParamValues = false) => {
|
|
57
60
|
const qp = [];
|
|
@@ -73,6 +76,7 @@ export const getQueryParamString = (queryParams, shouldSerializeParamValues = fa
|
|
|
73
76
|
/**
|
|
74
77
|
* Get a string representation of a dimension value in CSS
|
|
75
78
|
* If numeric, it is considered in pixels.
|
|
79
|
+
*
|
|
76
80
|
* @param value
|
|
77
81
|
*/
|
|
78
82
|
export const getCssDimension = (value) => {
|
|
@@ -83,6 +87,7 @@ export const getCssDimension = (value) => {
|
|
|
83
87
|
};
|
|
84
88
|
/**
|
|
85
89
|
* Append a string to a URL's hash fragment
|
|
90
|
+
*
|
|
86
91
|
* @param url A URL
|
|
87
92
|
* @param stringToAppend The string to append to the URL hash
|
|
88
93
|
*/
|
|
@@ -97,6 +102,12 @@ export const appendToUrlHash = (url, stringToAppend) => {
|
|
|
97
102
|
}
|
|
98
103
|
return outputUrl;
|
|
99
104
|
};
|
|
105
|
+
/**
|
|
106
|
+
*
|
|
107
|
+
* @param url
|
|
108
|
+
* @param stringToAppend
|
|
109
|
+
* @param path
|
|
110
|
+
*/
|
|
100
111
|
export function getRedirectUrl(url, stringToAppend, path = '') {
|
|
101
112
|
const targetUrl = path ? new URL(path, window.location.origin).href : url;
|
|
102
113
|
return appendToUrlHash(targetUrl, stringToAppend);
|
|
@@ -105,10 +116,7 @@ export const getEncodedQueryParamsString = (queryString) => {
|
|
|
105
116
|
if (!queryString) {
|
|
106
117
|
return queryString;
|
|
107
118
|
}
|
|
108
|
-
return btoa(queryString)
|
|
109
|
-
.replace(/\+/g, '-')
|
|
110
|
-
.replace(/\//g, '_')
|
|
111
|
-
.replace(/=+$/, '');
|
|
119
|
+
return btoa(queryString).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
112
120
|
};
|
|
113
121
|
export const getOffsetTop = (element) => {
|
|
114
122
|
const rect = element.getBoundingClientRect();
|
|
@@ -138,8 +146,8 @@ export const getCustomisations = (embedConfig, viewConfig) => {
|
|
|
138
146
|
var _a, _b, _c, _d;
|
|
139
147
|
const customCssUrlFromEmbedConfig = embedConfig.customCssUrl;
|
|
140
148
|
const customizationsFromViewConfig = viewConfig.customizations;
|
|
141
|
-
const customizationsFromEmbedConfig = embedConfig.customizations
|
|
142
|
-
embedConfig.customisations;
|
|
149
|
+
const customizationsFromEmbedConfig = embedConfig.customizations
|
|
150
|
+
|| embedConfig.customisations;
|
|
143
151
|
const customizations = {
|
|
144
152
|
style: {
|
|
145
153
|
...customizationsFromEmbedConfig === null || customizationsFromEmbedConfig === void 0 ? void 0 : customizationsFromEmbedConfig.style,
|
|
@@ -148,9 +156,9 @@ export const getCustomisations = (embedConfig, viewConfig) => {
|
|
|
148
156
|
...(_a = customizationsFromEmbedConfig === null || customizationsFromEmbedConfig === void 0 ? void 0 : customizationsFromEmbedConfig.style) === null || _a === void 0 ? void 0 : _a.customCSS,
|
|
149
157
|
...(_b = customizationsFromViewConfig === null || customizationsFromViewConfig === void 0 ? void 0 : customizationsFromViewConfig.style) === null || _b === void 0 ? void 0 : _b.customCSS,
|
|
150
158
|
},
|
|
151
|
-
customCSSUrl: ((_c = customizationsFromViewConfig === null || customizationsFromViewConfig === void 0 ? void 0 : customizationsFromViewConfig.style) === null || _c === void 0 ? void 0 : _c.customCSSUrl)
|
|
152
|
-
((_d = customizationsFromEmbedConfig === null || customizationsFromEmbedConfig === void 0 ? void 0 : customizationsFromEmbedConfig.style) === null || _d === void 0 ? void 0 : _d.customCSSUrl)
|
|
153
|
-
customCssUrlFromEmbedConfig,
|
|
159
|
+
customCSSUrl: ((_c = customizationsFromViewConfig === null || customizationsFromViewConfig === void 0 ? void 0 : customizationsFromViewConfig.style) === null || _c === void 0 ? void 0 : _c.customCSSUrl)
|
|
160
|
+
|| ((_d = customizationsFromEmbedConfig === null || customizationsFromEmbedConfig === void 0 ? void 0 : customizationsFromEmbedConfig.style) === null || _d === void 0 ? void 0 : _d.customCSSUrl)
|
|
161
|
+
|| customCssUrlFromEmbedConfig,
|
|
154
162
|
},
|
|
155
163
|
content: {
|
|
156
164
|
...customizationsFromEmbedConfig === null || customizationsFromEmbedConfig === void 0 ? void 0 : customizationsFromEmbedConfig.content,
|
|
@@ -162,14 +170,11 @@ export const getCustomisations = (embedConfig, viewConfig) => {
|
|
|
162
170
|
/**
|
|
163
171
|
* Gets a reference to the DOM node given
|
|
164
172
|
* a selector.
|
|
173
|
+
*
|
|
165
174
|
* @param domSelector
|
|
166
175
|
*/
|
|
167
176
|
export function getDOMNode(domSelector) {
|
|
168
|
-
return typeof domSelector === 'string'
|
|
169
|
-
? document.querySelector(domSelector)
|
|
170
|
-
: domSelector;
|
|
177
|
+
return typeof domSelector === 'string' ? document.querySelector(domSelector) : domSelector;
|
|
171
178
|
}
|
|
172
|
-
export const deepMerge = (target, source) =>
|
|
173
|
-
return merge(target, source);
|
|
174
|
-
};
|
|
179
|
+
export const deepMerge = (target, source) => merge(target, source);
|
|
175
180
|
//# sourceMappingURL=utils.js.map
|
package/lib/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,cAAc,CAAC;AAUjC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,yBAAyB,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;SACZ,CAAC,CACL,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzB,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,kCAAkC;QAClC,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;SACb,CAAC,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CACF,cAAc,CAAC;YACX;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG;YACZ;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,EAAE,CAAC;aACf;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,MAAM;gBAChC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAClB;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAChC,2FAA2F,CAC9F,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAC1D,6BAA6B,CAChC,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../../src/utils.spec.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,eAAe,EACf,cAAc,EACd,yBAAyB,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC7B,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,IAAI;SACZ,CAAC,CACL,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzB,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,kCAAkC;QAClC,MAAM,CACF,mBAAmB,CAAC;YAChB,GAAG,EAAE,SAAS;YACd,GAAG,EAAE,KAAK;SACb,CAAC,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,CACF,cAAc,CAAC;YACX;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC,CACL,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEnC,MAAM,OAAO,GAAG;YACZ;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,EAAE;gBAC5B,MAAM,EAAE,CAAC,EAAE,CAAC;aACf;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,MAAM;gBAChC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aAClB;YACD;gBACI,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,MAAM,EAAE,CAAC,KAAK,CAAC;aAClB;SACJ,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAChC,2FAA2F,CAC9F,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,eAAe,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAC1D,6BAA6B,CAChC,CAAC;QACF,MAAM,CAAC,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC5B,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CACzD,6BAA6B,CAChC,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE;gBAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,oBAAoB;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,cAAc,CAAC,qBAAqB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAClE,iCAAiC,CACpC,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,0BAA0B,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CACxE,kCAAkC,CACrC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,yBAAyB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CAAC,yBAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.3",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -8,13 +8,18 @@
|
|
|
8
8
|
"files": [
|
|
9
9
|
"dist/**",
|
|
10
10
|
"lib/**",
|
|
11
|
-
"src/**"
|
|
11
|
+
"src/**",
|
|
12
|
+
"cjs/**"
|
|
12
13
|
],
|
|
13
14
|
"exports": {
|
|
14
|
-
".":
|
|
15
|
+
".": {
|
|
16
|
+
"import": "./lib/src/index.js",
|
|
17
|
+
"require": "./dist/tsembed.js",
|
|
18
|
+
"types": "./lib/src/index.d.ts"
|
|
19
|
+
},
|
|
15
20
|
"./react": {
|
|
16
21
|
"import": "./lib/src/react/index.js",
|
|
17
|
-
"require": "./cjs/src/react
|
|
22
|
+
"require": "./cjs/src/react/index.js",
|
|
18
23
|
"types": "./lib/src/react/index.d.ts"
|
|
19
24
|
}
|
|
20
25
|
},
|
|
@@ -25,13 +30,6 @@
|
|
|
25
30
|
]
|
|
26
31
|
}
|
|
27
32
|
},
|
|
28
|
-
"typesVersions": {
|
|
29
|
-
"*": {
|
|
30
|
-
"react": [
|
|
31
|
-
"./lib/src/react/index.d.ts"
|
|
32
|
-
]
|
|
33
|
-
}
|
|
34
|
-
},
|
|
35
33
|
"scripts": {
|
|
36
34
|
"lint": "eslint 'src/**'",
|
|
37
35
|
"lint:fix": "eslint 'src/**/*.*' --fix",
|
|
@@ -42,7 +40,8 @@
|
|
|
42
40
|
"serve:gatsby": "gatsby serve",
|
|
43
41
|
"clean:gatsby": "gatsby clean",
|
|
44
42
|
"build-and-publish": "npm run build:gatsby && npm run publish",
|
|
45
|
-
"bundle-dts": "dts-bundle --name
|
|
43
|
+
"bundle-dts": "dts-bundle --name ../../dist/visual-embed-sdk --main lib/src/index.d.ts --outputAsModuleFolder=true",
|
|
44
|
+
"bundle-dts-react": "dts-bundle --name ../../../dist/visual-embed-sdk-react --main lib/src/react/index.d.ts --outputAsModuleFolder=true",
|
|
46
45
|
"build": "rollup -c",
|
|
47
46
|
"watch": "rollup -cw",
|
|
48
47
|
"docs-cmd": "node scripts/gatsby-commands.js",
|
|
@@ -51,7 +50,7 @@
|
|
|
51
50
|
"test-docs": "jest -c jest.config.docs.js",
|
|
52
51
|
"test": "npm run test-sdk && npm run test-docs",
|
|
53
52
|
"posttest": "cat ./coverage/sdk/lcov.info | coveralls",
|
|
54
|
-
"prepublishOnly": "npm run test; npm run tsc; npm run bundle-dts; npm run build",
|
|
53
|
+
"prepublishOnly": "npm run test; npm run tsc; npm run bundle-dts; npm run bundle-dts-react; npm run build",
|
|
55
54
|
"publish-dev": "npm publish --tag dev",
|
|
56
55
|
"publish-prod": "npm publish --tag latest"
|
|
57
56
|
},
|
|
@@ -63,6 +62,8 @@
|
|
|
63
62
|
"algoliasearch": "^4.10.5",
|
|
64
63
|
"classnames": "^2.3.1",
|
|
65
64
|
"dompurify": "^2.3.4",
|
|
65
|
+
"eslint-plugin-comment-length": "^0.9.2",
|
|
66
|
+
"eslint-plugin-jsdoc": "^40.1.0",
|
|
66
67
|
"eventemitter3": "^4.0.7",
|
|
67
68
|
"gatsby-plugin-vercel": "^1.0.3",
|
|
68
69
|
"html-react-parser": "^1.4.12",
|
|
@@ -92,7 +93,7 @@
|
|
|
92
93
|
"babel-preset-gatsby": "^1.10.0",
|
|
93
94
|
"command-line-args": "^5.1.1",
|
|
94
95
|
"coveralls": "^3.1.0",
|
|
95
|
-
"dts-bundle": "0.7.3",
|
|
96
|
+
"dts-bundle": "^0.7.3",
|
|
96
97
|
"eslint": "^7.12.1",
|
|
97
98
|
"eslint-config-airbnb-base": "^14.2.0",
|
|
98
99
|
"eslint-config-prettier": "^6.15.0",
|
package/src/auth.spec.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as authInstance from './auth';
|
|
2
2
|
import * as authService from './utils/authService';
|
|
3
3
|
import * as checkReleaseVersionInBetaInstance from './utils';
|
|
4
|
+
import * as mixPanelService from './mixpanel-service';
|
|
4
5
|
import { AuthType, EmbedEvent } from './types';
|
|
5
6
|
import { executeAfterWait } from './test/test-utils';
|
|
6
7
|
|
|
@@ -91,6 +92,9 @@ export const embedConfig: any = {
|
|
|
91
92
|
|
|
92
93
|
const originalWindow = window;
|
|
93
94
|
export const mockSessionInfo = {
|
|
95
|
+
userGUID: '1234',
|
|
96
|
+
mixpanelToken: 'abc123',
|
|
97
|
+
isPublicUser: false,
|
|
94
98
|
sessionId: '6588e7d9-710c-453e-a7b4-535fb3a8cbb2',
|
|
95
99
|
genNo: 3,
|
|
96
100
|
acSession: {
|
|
@@ -105,15 +109,12 @@ describe('Unit test for auth', () => {
|
|
|
105
109
|
});
|
|
106
110
|
|
|
107
111
|
test('endpoints, SAML_LOGIN_TEMPLATE', () => {
|
|
108
|
-
const ssoTemplateUrl = authInstance.EndPoints.SAML_LOGIN_TEMPLATE(
|
|
109
|
-
|
|
110
|
-
);
|
|
111
|
-
expect(ssoTemplateUrl).toBe(
|
|
112
|
-
`/callosum/v1/saml/login?targetURLPath=${thoughtSpotHost}`,
|
|
113
|
-
);
|
|
112
|
+
const ssoTemplateUrl = authInstance.EndPoints.SAML_LOGIN_TEMPLATE(thoughtSpotHost);
|
|
113
|
+
expect(ssoTemplateUrl).toBe(`/callosum/v1/saml/login?targetURLPath=${thoughtSpotHost}`);
|
|
114
114
|
});
|
|
115
115
|
|
|
116
116
|
test('when session info giving response', async () => {
|
|
117
|
+
jest.spyOn(mixPanelService, 'initMixpanel').mockImplementation(() => Promise.resolve());
|
|
117
118
|
authInstance.initSession(mockSessionInfo);
|
|
118
119
|
const sessionInfo = await authInstance.getSessionInfo();
|
|
119
120
|
expect(sessionInfo).toStrictEqual(mockSessionInfo);
|
|
@@ -133,9 +134,7 @@ describe('Unit test for auth', () => {
|
|
|
133
134
|
|
|
134
135
|
test('doTokenAuth: when authEndpoint and getAuthToken are not there, it throw error', async () => {
|
|
135
136
|
try {
|
|
136
|
-
await authInstance.doTokenAuth(
|
|
137
|
-
embedConfig.doTokenAuthFailureWithoutAuthEndPoint,
|
|
138
|
-
);
|
|
137
|
+
await authInstance.doTokenAuth(embedConfig.doTokenAuthFailureWithoutAuthEndPoint);
|
|
139
138
|
} catch (e) {
|
|
140
139
|
expect(e.message).toBe(
|
|
141
140
|
'Either auth endpoint or getAuthToken function must be provided',
|
|
@@ -150,6 +149,8 @@ describe('Unit test for auth', () => {
|
|
|
150
149
|
status: 200,
|
|
151
150
|
}),
|
|
152
151
|
);
|
|
152
|
+
jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
|
|
153
|
+
jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
|
|
153
154
|
await authInstance.doTokenAuth(
|
|
154
155
|
embedConfig.doTokenAuthSuccess('authToken'),
|
|
155
156
|
);
|
|
@@ -158,21 +159,14 @@ describe('Unit test for auth', () => {
|
|
|
158
159
|
});
|
|
159
160
|
|
|
160
161
|
test('doTokenAuth: when user is not loggedIn & getAuthToken have response', async () => {
|
|
161
|
-
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
Promise.resolve({
|
|
170
|
-
status: 200,
|
|
171
|
-
}),
|
|
172
|
-
);
|
|
173
|
-
await authInstance.doTokenAuth(
|
|
174
|
-
embedConfig.doTokenAuthSuccess('authToken2'),
|
|
175
|
-
);
|
|
162
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
|
|
163
|
+
jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
|
|
164
|
+
text: () => Promise.resolve('abc'),
|
|
165
|
+
}));
|
|
166
|
+
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
|
|
167
|
+
status: 200,
|
|
168
|
+
}));
|
|
169
|
+
await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken2'));
|
|
176
170
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
177
171
|
expect(authService.fetchAuthService).toBeCalledWith(
|
|
178
172
|
thoughtSpotHost,
|
|
@@ -182,32 +176,17 @@ describe('Unit test for auth', () => {
|
|
|
182
176
|
});
|
|
183
177
|
|
|
184
178
|
test('doTokenAuth: when user is not loggedIn & getAuthToken not present, isLoggedIn should called', async () => {
|
|
185
|
-
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(
|
|
186
|
-
|
|
187
|
-
)
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
Promise.resolve({ text: () => Promise.resolve('abc') }),
|
|
193
|
-
);
|
|
194
|
-
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() =>
|
|
195
|
-
Promise.resolve({
|
|
196
|
-
status: 200,
|
|
197
|
-
ok: true,
|
|
198
|
-
}),
|
|
199
|
-
);
|
|
200
|
-
await authInstance.doTokenAuth(
|
|
201
|
-
embedConfig.doTokenAuthFailureWithoutGetAuthToken,
|
|
202
|
-
);
|
|
179
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
|
|
180
|
+
jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => Promise.resolve({ text: () => Promise.resolve('abc') }));
|
|
181
|
+
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
|
|
182
|
+
status: 200,
|
|
183
|
+
ok: true,
|
|
184
|
+
}));
|
|
185
|
+
await authInstance.doTokenAuth(embedConfig.doTokenAuthFailureWithoutGetAuthToken);
|
|
203
186
|
await executeAfterWait(() => {
|
|
204
187
|
expect(authInstance.loggedInStatus).toBe(true);
|
|
205
188
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
206
|
-
expect(authService.fetchAuthService).toBeCalledWith(
|
|
207
|
-
thoughtSpotHost,
|
|
208
|
-
username,
|
|
209
|
-
'abc',
|
|
210
|
-
);
|
|
189
|
+
expect(authService.fetchAuthService).toBeCalledWith(thoughtSpotHost, username, 'abc');
|
|
211
190
|
});
|
|
212
191
|
});
|
|
213
192
|
|
|
@@ -218,20 +197,14 @@ describe('Unit test for auth', () => {
|
|
|
218
197
|
jest.spyOn(window, 'alert').mockClear();
|
|
219
198
|
jest.spyOn(window, 'alert').mockReturnValue(undefined);
|
|
220
199
|
jest.spyOn(authService, 'fetchAuthService').mockReset();
|
|
221
|
-
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() =>
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
);
|
|
227
|
-
await authInstance.doTokenAuth(
|
|
228
|
-
embedConfig.doTokenAuthSuccess('authToken3'),
|
|
229
|
-
);
|
|
200
|
+
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
|
|
201
|
+
status: 200,
|
|
202
|
+
ok: true,
|
|
203
|
+
}));
|
|
204
|
+
await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken3'));
|
|
230
205
|
|
|
231
206
|
try {
|
|
232
|
-
await authInstance.doTokenAuth(
|
|
233
|
-
embedConfig.doTokenAuthSuccess('authToken3'),
|
|
234
|
-
);
|
|
207
|
+
await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken3'));
|
|
235
208
|
expect(false).toBe(true);
|
|
236
209
|
} catch (e) {
|
|
237
210
|
expect(e.message).toContain('Duplicate token');
|
|
@@ -249,49 +222,36 @@ describe('Unit test for auth', () => {
|
|
|
249
222
|
status: 401,
|
|
250
223
|
})
|
|
251
224
|
.mockClear();
|
|
252
|
-
jest.spyOn(
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
).mockImplementation(() =>
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}),
|
|
261
|
-
);
|
|
262
|
-
const isLoggedIn = await authInstance.doTokenAuth(
|
|
263
|
-
embedConfig.doTokenAuthWithCookieDetect,
|
|
264
|
-
);
|
|
225
|
+
jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
|
|
226
|
+
text: () => Promise.resolve('abc'),
|
|
227
|
+
}));
|
|
228
|
+
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
|
|
229
|
+
status: 200,
|
|
230
|
+
ok: true,
|
|
231
|
+
}));
|
|
232
|
+
const isLoggedIn = await authInstance.doTokenAuth(embedConfig.doTokenAuthWithCookieDetect);
|
|
265
233
|
expect(authService.fetchSessionInfoService).toHaveBeenCalledTimes(2);
|
|
266
234
|
expect(isLoggedIn).toBe(false);
|
|
267
235
|
});
|
|
268
236
|
|
|
269
237
|
test('doTokenAuth: when user is not loggedIn & fetchAuthPostService failed than fetchAuthService should call', async () => {
|
|
270
238
|
jest.spyOn(window, 'alert').mockImplementation(() => undefined);
|
|
271
|
-
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
authService,
|
|
276
|
-
'fetchAuthTokenService',
|
|
277
|
-
).mockImplementation(() => ({ text: () => Promise.resolve('abc') }));
|
|
239
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => false);
|
|
240
|
+
jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
|
|
241
|
+
text: () => Promise.resolve('abc'),
|
|
242
|
+
}));
|
|
278
243
|
jest.spyOn(authService, 'fetchAuthPostService').mockImplementation(() =>
|
|
279
|
-
// eslint-disable-next-line prefer-promise-reject-errors
|
|
244
|
+
// eslint-disable-next-line prefer-promise-reject-errors, implicit-arrow-linebreak
|
|
280
245
|
Promise.reject({
|
|
281
246
|
status: 500,
|
|
282
|
-
})
|
|
283
|
-
)
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
247
|
+
}));
|
|
248
|
+
jest.spyOn(authService, 'fetchAuthService').mockImplementation(() => Promise.resolve({
|
|
249
|
+
status: 200,
|
|
250
|
+
type: 'opaqueredirect',
|
|
251
|
+
}));
|
|
252
|
+
expect(await authInstance.doTokenAuth(embedConfig.doTokenAuthSuccess('authToken2'))).toBe(
|
|
253
|
+
true,
|
|
289
254
|
);
|
|
290
|
-
expect(
|
|
291
|
-
await authInstance.doTokenAuth(
|
|
292
|
-
embedConfig.doTokenAuthSuccess('authToken2'),
|
|
293
|
-
),
|
|
294
|
-
).toBe(true);
|
|
295
255
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
296
256
|
expect(authService.fetchAuthPostService).toBeCalledWith(
|
|
297
257
|
thoughtSpotHost,
|
|
@@ -315,6 +275,8 @@ describe('Unit test for auth', () => {
|
|
|
315
275
|
checkReleaseVersionInBetaInstance,
|
|
316
276
|
'checkReleaseVersionInBeta',
|
|
317
277
|
);
|
|
278
|
+
jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
|
|
279
|
+
jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
|
|
318
280
|
jest.spyOn(
|
|
319
281
|
authService,
|
|
320
282
|
'fetchSessionInfoService',
|
|
@@ -325,17 +287,16 @@ describe('Unit test for auth', () => {
|
|
|
325
287
|
await authInstance.doBasicAuth(embedConfig.doBasicAuth);
|
|
326
288
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
327
289
|
expect(authInstance.loggedInStatus).toBe(true);
|
|
290
|
+
expect(authInstance.getSessionDetails).toBeCalled();
|
|
291
|
+
expect(authInstance.initSession).toBeCalled();
|
|
328
292
|
});
|
|
329
293
|
|
|
330
294
|
it('when user is not loggedIn', async () => {
|
|
331
|
-
jest.spyOn(
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
authService,
|
|
337
|
-
'fetchBasicAuthService',
|
|
338
|
-
).mockImplementation(() => ({ status: 200, ok: true }));
|
|
295
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
296
|
+
jest.spyOn(authService, 'fetchBasicAuthService').mockImplementation(() => ({
|
|
297
|
+
status: 200,
|
|
298
|
+
ok: true,
|
|
299
|
+
}));
|
|
339
300
|
|
|
340
301
|
await authInstance.doBasicAuth(embedConfig.doBasicAuth);
|
|
341
302
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
@@ -353,23 +314,19 @@ describe('Unit test for auth', () => {
|
|
|
353
314
|
});
|
|
354
315
|
|
|
355
316
|
it('when user is loggedIn & isAtSSORedirectUrl is true', async () => {
|
|
356
|
-
spyOn(
|
|
357
|
-
checkReleaseVersionInBetaInstance,
|
|
358
|
-
'checkReleaseVersionInBeta',
|
|
359
|
-
);
|
|
317
|
+
spyOn(checkReleaseVersionInBetaInstance, 'checkReleaseVersionInBeta');
|
|
360
318
|
Object.defineProperty(window, 'location', {
|
|
361
319
|
value: {
|
|
362
320
|
href: authInstance.SSO_REDIRECTION_MARKER_GUID,
|
|
363
321
|
hash: '',
|
|
364
322
|
},
|
|
365
323
|
});
|
|
366
|
-
jest.spyOn(
|
|
367
|
-
authService,
|
|
368
|
-
'fetchSessionInfoService',
|
|
369
|
-
).mockImplementation(async () => ({
|
|
324
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
|
|
370
325
|
json: () => mockSessionInfo,
|
|
371
326
|
status: 200,
|
|
372
327
|
}));
|
|
328
|
+
jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
|
|
329
|
+
jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
|
|
373
330
|
await authInstance.doSamlAuth(embedConfig.doSamlAuth);
|
|
374
331
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
375
332
|
expect(window.location.hash).toBe('');
|
|
@@ -377,10 +334,7 @@ describe('Unit test for auth', () => {
|
|
|
377
334
|
});
|
|
378
335
|
|
|
379
336
|
it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
|
|
380
|
-
jest.spyOn(
|
|
381
|
-
authService,
|
|
382
|
-
'fetchSessionInfoService',
|
|
383
|
-
).mockImplementation(() => Promise.reject());
|
|
337
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
384
338
|
await authInstance.doSamlAuth(embedConfig.doSamlAuth);
|
|
385
339
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
386
340
|
expect(window.location.hash).toBe('');
|
|
@@ -394,10 +348,7 @@ describe('Unit test for auth', () => {
|
|
|
394
348
|
hash: '',
|
|
395
349
|
},
|
|
396
350
|
});
|
|
397
|
-
jest.spyOn(
|
|
398
|
-
authService,
|
|
399
|
-
'fetchSessionInfoService',
|
|
400
|
-
).mockImplementation(() => Promise.reject());
|
|
351
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
401
352
|
await authInstance.doSamlAuth(embedConfig.doSamlAuth);
|
|
402
353
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
403
354
|
expect(global.window.location.href).toBe(samalLoginUrl);
|
|
@@ -412,10 +363,14 @@ describe('Unit test for auth', () => {
|
|
|
412
363
|
});
|
|
413
364
|
spyOn(authInstance, 'samlCompletionPromise');
|
|
414
365
|
global.window.open = jest.fn();
|
|
415
|
-
jest.spyOn(
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
366
|
+
jest.spyOn(authService, 'fetchSessionInfoService')
|
|
367
|
+
.mockImplementationOnce(() => Promise.reject())
|
|
368
|
+
.mockImplementationOnce(async () => ({
|
|
369
|
+
json: () => mockSessionInfo,
|
|
370
|
+
status: 200,
|
|
371
|
+
}));
|
|
372
|
+
jest.spyOn(authInstance, 'getSessionDetails').mockReturnValue(mockSessionInfo);
|
|
373
|
+
jest.spyOn(authInstance, 'initSession').mockReturnValue(null);
|
|
419
374
|
expect(await authInstance.samlCompletionPromise).not.toBe(null);
|
|
420
375
|
expect(
|
|
421
376
|
await authInstance.doSamlAuth({
|
|
@@ -426,6 +381,8 @@ describe('Unit test for auth', () => {
|
|
|
426
381
|
window.postMessage({ type: EmbedEvent.SAMLComplete }, '*');
|
|
427
382
|
await authInstance.samlCompletionPromise;
|
|
428
383
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
384
|
+
expect(authInstance.getSessionDetails).toBeCalled();
|
|
385
|
+
expect(authInstance.initSession).toBeCalled();
|
|
429
386
|
});
|
|
430
387
|
});
|
|
431
388
|
|
|
@@ -438,10 +395,7 @@ describe('Unit test for auth', () => {
|
|
|
438
395
|
});
|
|
439
396
|
|
|
440
397
|
it('when user is not loggedIn & isAtSSORedirectUrl is true', async () => {
|
|
441
|
-
jest.spyOn(
|
|
442
|
-
authService,
|
|
443
|
-
'fetchSessionInfoService',
|
|
444
|
-
).mockImplementation(() => Promise.reject());
|
|
398
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(() => Promise.reject());
|
|
445
399
|
await authInstance.doOIDCAuth(embedConfig.doOidcAuth);
|
|
446
400
|
expect(authService.fetchSessionInfoService).toBeCalled();
|
|
447
401
|
expect(window.location.hash).toBe('');
|
|
@@ -479,9 +433,7 @@ describe('Unit test for auth', () => {
|
|
|
479
433
|
|
|
480
434
|
it('authenticate: when authType is AuthServerCookieless', async () => {
|
|
481
435
|
spyOn(authInstance, 'doCookielessTokenAuth');
|
|
482
|
-
await authInstance.authenticate(
|
|
483
|
-
embedConfig.authServerCookielessFailure,
|
|
484
|
-
);
|
|
436
|
+
await authInstance.authenticate(embedConfig.authServerCookielessFailure);
|
|
485
437
|
expect(window.location.hash).toBe('');
|
|
486
438
|
expect(authInstance.doCookielessTokenAuth).toBeCalled();
|
|
487
439
|
});
|
|
@@ -494,14 +446,12 @@ describe('Unit test for auth', () => {
|
|
|
494
446
|
});
|
|
495
447
|
|
|
496
448
|
it('authenticate: when authType is None', async () => {
|
|
497
|
-
expect(
|
|
498
|
-
|
|
499
|
-
)
|
|
449
|
+
expect(await authInstance.authenticate(embedConfig.nonAuthSucess)).not.toBeInstanceOf(
|
|
450
|
+
Error,
|
|
451
|
+
);
|
|
500
452
|
});
|
|
501
453
|
|
|
502
454
|
it('user is authenticated when loggedInStatus is true', () => {
|
|
503
|
-
expect(authInstance.isAuthenticated()).toBe(
|
|
504
|
-
authInstance.loggedInStatus,
|
|
505
|
-
);
|
|
455
|
+
expect(authInstance.isAuthenticated()).toBe(authInstance.loggedInStatus);
|
|
506
456
|
});
|
|
507
457
|
});
|