@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/src/embed/search-bar.tsx
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
DOMSelector, Param, Action, ViewConfig,
|
|
3
|
+
} from '../types';
|
|
2
4
|
import { getQueryParamString } from '../utils';
|
|
3
5
|
import { TsEmbed } from './ts-embed';
|
|
4
6
|
import { SearchOptions } from './search';
|
|
@@ -6,16 +8,17 @@ import { SearchOptions } from './search';
|
|
|
6
8
|
/**
|
|
7
9
|
* @group Embed components
|
|
8
10
|
*/
|
|
9
|
-
export interface SearchBarViewConfig
|
|
10
|
-
extends Omit<ViewConfig, 'runtimeFilters' | 'showAlerts'> {
|
|
11
|
+
export interface SearchBarViewConfig extends Omit<ViewConfig, 'runtimeFilters' | 'showAlerts'> {
|
|
11
12
|
/**
|
|
12
13
|
* The array of data source GUIDs to set on load.
|
|
13
14
|
* Only a single dataSource supported currently.
|
|
15
|
+
*
|
|
14
16
|
* @deprecated Use dataSource instead
|
|
15
17
|
*/
|
|
16
18
|
dataSources?: string[];
|
|
17
19
|
/**
|
|
18
20
|
* The array of data source GUIDs to set on load.
|
|
21
|
+
*
|
|
19
22
|
* @version: SDK: 1.19.0
|
|
20
23
|
*/
|
|
21
24
|
dataSource?: string;
|
|
@@ -45,6 +48,7 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
45
48
|
/**
|
|
46
49
|
* Construct the URL of the embedded ThoughtSpot search to be
|
|
47
50
|
* loaded in the iframe
|
|
51
|
+
*
|
|
48
52
|
* @param dataSources A list of data source GUIDs
|
|
49
53
|
*/
|
|
50
54
|
private getIFrameSrc() {
|
|
@@ -52,9 +56,7 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
52
56
|
const path = 'search-bar-embed';
|
|
53
57
|
const queryParams = this.getBaseQueryParams();
|
|
54
58
|
|
|
55
|
-
queryParams[Param.HideActions] = [
|
|
56
|
-
...(queryParams[Param.HideActions] ?? []),
|
|
57
|
-
];
|
|
59
|
+
queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
|
|
58
60
|
|
|
59
61
|
if (dataSources && dataSources.length) {
|
|
60
62
|
queryParams[Param.DataSources] = JSON.stringify(dataSources);
|
|
@@ -81,7 +83,7 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
81
83
|
}
|
|
82
84
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
83
85
|
|
|
84
|
-
return `${this.getEmbedBasePath(query)}/${path}${tsPostHashParams}`;
|
|
86
|
+
return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
|
|
85
87
|
}
|
|
86
88
|
|
|
87
89
|
/**
|
|
@@ -91,7 +93,7 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
91
93
|
super.render();
|
|
92
94
|
|
|
93
95
|
const src = this.getIFrameSrc();
|
|
94
|
-
this.renderIFrame(src
|
|
96
|
+
this.renderIFrame(src);
|
|
95
97
|
return this;
|
|
96
98
|
}
|
|
97
99
|
}
|
package/src/embed/search.spec.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
getRootEl,
|
|
10
10
|
fixedEncodeURI,
|
|
11
11
|
defaultParamsWithoutHiddenActions as defaultParams,
|
|
12
|
+
expectUrlMatchesWithParams,
|
|
12
13
|
} from '../test/test-utils';
|
|
13
14
|
import { version } from '../../package.json';
|
|
14
15
|
|
|
@@ -21,10 +22,7 @@ const defaultViewConfig = {
|
|
|
21
22
|
const answerId = 'eca215d4-0d2c-4a55-90e3-d81ef6848ae0';
|
|
22
23
|
const thoughtSpotHost = 'tshost';
|
|
23
24
|
const hideBydefault = `&hideAction=${fixedEncodeURI(
|
|
24
|
-
JSON.stringify([
|
|
25
|
-
Action.ReportError,
|
|
26
|
-
...HiddenActionItemByDefaultForSearchEmbed,
|
|
27
|
-
]),
|
|
25
|
+
JSON.stringify([Action.ReportError, ...HiddenActionItemByDefaultForSearchEmbed]),
|
|
28
26
|
)}`;
|
|
29
27
|
const defaultParamsWithHiddenActions = defaultParams + hideBydefault;
|
|
30
28
|
const prefixParams = '&isSearchEmbed=true';
|
|
@@ -40,16 +38,15 @@ beforeAll(() => {
|
|
|
40
38
|
describe('Search embed tests', () => {
|
|
41
39
|
beforeEach(() => {
|
|
42
40
|
document.body.innerHTML = getDocumentBody();
|
|
43
|
-
jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue(
|
|
44
|
-
'7.4.0.sw',
|
|
45
|
-
);
|
|
41
|
+
jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue('7.4.0.sw');
|
|
46
42
|
});
|
|
47
43
|
|
|
48
44
|
test('should render', async () => {
|
|
49
45
|
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
50
46
|
searchEmbed.render();
|
|
51
47
|
await executeAfterWait(() => {
|
|
52
|
-
|
|
48
|
+
expectUrlMatchesWithParams(
|
|
49
|
+
getIFrameSrc(),
|
|
53
50
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
54
51
|
);
|
|
55
52
|
});
|
|
@@ -63,7 +60,8 @@ describe('Search embed tests', () => {
|
|
|
63
60
|
});
|
|
64
61
|
searchEmbed.render();
|
|
65
62
|
await executeAfterWait(() => {
|
|
66
|
-
|
|
63
|
+
expectUrlMatchesWithParams(
|
|
64
|
+
getIFrameSrc(),
|
|
67
65
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
68
66
|
);
|
|
69
67
|
});
|
|
@@ -81,7 +79,8 @@ describe('Search embed tests', () => {
|
|
|
81
79
|
});
|
|
82
80
|
searchEmbed.render();
|
|
83
81
|
await executeAfterWait(() => {
|
|
84
|
-
|
|
82
|
+
expectUrlMatchesWithParams(
|
|
83
|
+
getIFrameSrc(),
|
|
85
84
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
86
85
|
);
|
|
87
86
|
});
|
|
@@ -99,7 +98,8 @@ describe('Search embed tests', () => {
|
|
|
99
98
|
|
|
100
99
|
searchEmbed.render();
|
|
101
100
|
await executeAfterWait(() => {
|
|
102
|
-
|
|
101
|
+
expectUrlMatchesWithParams(
|
|
102
|
+
getIFrameSrc(),
|
|
103
103
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
104
104
|
);
|
|
105
105
|
});
|
|
@@ -114,7 +114,8 @@ describe('Search embed tests', () => {
|
|
|
114
114
|
|
|
115
115
|
searchEmbed.render();
|
|
116
116
|
await executeAfterWait(() => {
|
|
117
|
-
|
|
117
|
+
expectUrlMatchesWithParams(
|
|
118
|
+
getIFrameSrc(),
|
|
118
119
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&executeSearch=true&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
119
120
|
);
|
|
120
121
|
});
|
|
@@ -133,7 +134,8 @@ describe('Search embed tests', () => {
|
|
|
133
134
|
});
|
|
134
135
|
searchEmbed.render();
|
|
135
136
|
await executeAfterWait(() => {
|
|
136
|
-
|
|
137
|
+
expectUrlMatchesWithParams(
|
|
138
|
+
getIFrameSrc(),
|
|
137
139
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=collapse&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
138
140
|
);
|
|
139
141
|
});
|
|
@@ -152,7 +154,8 @@ describe('Search embed tests', () => {
|
|
|
152
154
|
});
|
|
153
155
|
searchEmbed.render();
|
|
154
156
|
await executeAfterWait(() => {
|
|
155
|
-
|
|
157
|
+
expectUrlMatchesWithParams(
|
|
158
|
+
getIFrameSrc(),
|
|
156
159
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=hide&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
157
160
|
);
|
|
158
161
|
});
|
|
@@ -178,7 +181,8 @@ describe('Search embed tests', () => {
|
|
|
178
181
|
});
|
|
179
182
|
searchEmbed.render();
|
|
180
183
|
await executeAfterWait(() => {
|
|
181
|
-
|
|
184
|
+
expectUrlMatchesWithParams(
|
|
185
|
+
getIFrameSrc(),
|
|
182
186
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=hide&useLastSelectedSources=false${prefixParams}&col1=city&op1=EQ&val1=berkeley#/embed/answer`,
|
|
183
187
|
);
|
|
184
188
|
});
|
|
@@ -197,7 +201,8 @@ describe('Search embed tests', () => {
|
|
|
197
201
|
});
|
|
198
202
|
searchEmbed.render();
|
|
199
203
|
await executeAfterWait(() => {
|
|
200
|
-
|
|
204
|
+
expectUrlMatchesWithParams(
|
|
205
|
+
getIFrameSrc(),
|
|
201
206
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=hide&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
202
207
|
);
|
|
203
208
|
});
|
|
@@ -217,7 +222,8 @@ describe('Search embed tests', () => {
|
|
|
217
222
|
});
|
|
218
223
|
searchEmbed.render();
|
|
219
224
|
await executeAfterWait(() => {
|
|
220
|
-
|
|
225
|
+
expectUrlMatchesWithParams(
|
|
226
|
+
getIFrameSrc(),
|
|
221
227
|
`http://${thoughtSpotHost}/v2/?${defaultParams}&disableAction=[%22download%22,%22edit%22]&disableHint=Permission%20denied${hideBydefault}&dataSources=[%22data-source-1%22]&searchTokenString=%5Bcommit%20date%5D%5Brevenue%5D&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
222
228
|
);
|
|
223
229
|
});
|
|
@@ -230,7 +236,8 @@ describe('Search embed tests', () => {
|
|
|
230
236
|
});
|
|
231
237
|
searchEmbed.render();
|
|
232
238
|
await executeAfterWait(() => {
|
|
233
|
-
|
|
239
|
+
expectUrlMatchesWithParams(
|
|
240
|
+
getIFrameSrc(),
|
|
234
241
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&enableSearchAssist=true&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/answer`,
|
|
235
242
|
);
|
|
236
243
|
});
|
|
@@ -256,7 +263,8 @@ describe('Search embed tests', () => {
|
|
|
256
263
|
]),
|
|
257
264
|
);
|
|
258
265
|
await executeAfterWait(() => {
|
|
259
|
-
|
|
266
|
+
expectUrlMatchesWithParams(
|
|
267
|
+
getIFrameSrc(),
|
|
260
268
|
`http://${thoughtSpotHost}/v2/?${defaultParams}&hideAction=${hideActionUrl}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
261
269
|
);
|
|
262
270
|
});
|
|
@@ -280,7 +288,8 @@ describe('Search embed tests', () => {
|
|
|
280
288
|
]),
|
|
281
289
|
);
|
|
282
290
|
await executeAfterWait(() => {
|
|
283
|
-
|
|
291
|
+
expectUrlMatchesWithParams(
|
|
292
|
+
getIFrameSrc(),
|
|
284
293
|
`http://${thoughtSpotHost}/v2/?${defaultParams}&disableAction=[%22downloadAsXLSX%22]&disableHint=Access%20denied&hideAction=${hideActionUrl}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
285
294
|
);
|
|
286
295
|
});
|
|
@@ -293,7 +302,8 @@ describe('Search embed tests', () => {
|
|
|
293
302
|
});
|
|
294
303
|
searchEmbed.render();
|
|
295
304
|
await executeAfterWait(() => {
|
|
296
|
-
|
|
305
|
+
expectUrlMatchesWithParams(
|
|
306
|
+
getIFrameSrc(),
|
|
297
307
|
`http://${thoughtSpotHost}/v2/?${defaultParamsWithHiddenActions}&dataSourceMode=expand&useLastSelectedSources=false${prefixParams}#/embed/saved-answer/${answerId}`,
|
|
298
308
|
);
|
|
299
309
|
});
|
package/src/embed/search.ts
CHANGED
|
@@ -15,11 +15,7 @@ import {
|
|
|
15
15
|
ViewConfig,
|
|
16
16
|
RuntimeFilter,
|
|
17
17
|
} from '../types';
|
|
18
|
-
import {
|
|
19
|
-
getQueryParamString,
|
|
20
|
-
checkReleaseVersionInBeta,
|
|
21
|
-
getFilterQuery,
|
|
22
|
-
} from '../utils';
|
|
18
|
+
import { getQueryParamString, checkReleaseVersionInBeta, getFilterQuery } from '../utils';
|
|
23
19
|
import { TsEmbed } from './ts-embed';
|
|
24
20
|
import { version } from '../../package.json';
|
|
25
21
|
import { ERROR_MESSAGE } from '../errors';
|
|
@@ -37,7 +33,8 @@ export interface SearchOptions {
|
|
|
37
33
|
/**
|
|
38
34
|
* Boolean to determine if the search should be executed or not.
|
|
39
35
|
* if it is executed, put the focus on the results.
|
|
40
|
-
* if it’s not executed, put the focus in the search bar - at the end of
|
|
36
|
+
* if it’s not executed, put the focus in the search bar - at the end of
|
|
37
|
+
* the tokens
|
|
41
38
|
*/
|
|
42
39
|
executeSearch?: boolean;
|
|
43
40
|
}
|
|
@@ -69,6 +66,7 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
69
66
|
expandAllDataSource?: boolean;
|
|
70
67
|
/**
|
|
71
68
|
* If set to true, the Search Assist feature is enabled.
|
|
69
|
+
*
|
|
72
70
|
* @version SDK: 1.13.0 | ThoughtSpot: 8.5.0.cl, 8.8.1-sw
|
|
73
71
|
*/
|
|
74
72
|
enableSearchAssist?: boolean;
|
|
@@ -80,16 +78,19 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
80
78
|
/**
|
|
81
79
|
* The array of data source GUIDs to set on load.
|
|
82
80
|
* Only a single dataSource supported currently.
|
|
81
|
+
*
|
|
83
82
|
* @deprecated Use dataSource instead
|
|
84
83
|
*/
|
|
85
84
|
dataSources?: string[];
|
|
86
85
|
/**
|
|
87
86
|
* The array of data source GUIDs to set on load.
|
|
87
|
+
*
|
|
88
88
|
* @version: SDK: 1.19.0
|
|
89
89
|
*/
|
|
90
90
|
dataSource?: string;
|
|
91
91
|
/**
|
|
92
92
|
* The initial search query to load the answer with.
|
|
93
|
+
*
|
|
93
94
|
* @deprecated Use {@link searchOptions} instead
|
|
94
95
|
*/
|
|
95
96
|
searchQuery?: string;
|
|
@@ -104,6 +105,7 @@ export interface SearchViewConfig extends ViewConfig {
|
|
|
104
105
|
/**
|
|
105
106
|
* If set to true, search page will render without the Search Bar
|
|
106
107
|
* The chart/table should still be visible.
|
|
108
|
+
*
|
|
107
109
|
* @version SDK: 1.21.0 | ThoughtSpot: 9.2.0.cl
|
|
108
110
|
*/
|
|
109
111
|
hideSearchBar?: boolean;
|
|
@@ -149,13 +151,7 @@ export class SearchEmbed extends TsEmbed {
|
|
|
149
151
|
return dataSourceMode;
|
|
150
152
|
}
|
|
151
153
|
|
|
152
|
-
|
|
153
|
-
* Construct the URL of the embedded ThoughtSpot search to be
|
|
154
|
-
* loaded in the iframe
|
|
155
|
-
* @param answerId The GUID of a saved answer
|
|
156
|
-
* @param dataSources A list of data source GUIDs
|
|
157
|
-
*/
|
|
158
|
-
private getIFrameSrc(answerId: string, dataSources?: string[]) {
|
|
154
|
+
protected getEmbedParams(): string {
|
|
159
155
|
const {
|
|
160
156
|
hideResults,
|
|
161
157
|
expandAllDataSource,
|
|
@@ -164,8 +160,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
164
160
|
searchOptions,
|
|
165
161
|
runtimeFilters,
|
|
166
162
|
dataSource,
|
|
163
|
+
dataSources,
|
|
167
164
|
} = this.viewConfig;
|
|
168
|
-
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
169
165
|
const queryParams = this.getBaseQueryParams();
|
|
170
166
|
|
|
171
167
|
queryParams[Param.HideActions] = [
|
|
@@ -210,11 +206,21 @@ export class SearchEmbed extends TsEmbed {
|
|
|
210
206
|
if (filterQuery) {
|
|
211
207
|
query += `&${filterQuery}`;
|
|
212
208
|
}
|
|
209
|
+
return query;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Construct the URL of the embedded ThoughtSpot search to be
|
|
214
|
+
* loaded in the iframe
|
|
215
|
+
*
|
|
216
|
+
* @param answerId The GUID of a saved answer
|
|
217
|
+
* @param dataSources A list of data source GUIDs
|
|
218
|
+
*/
|
|
219
|
+
private getIFrameSrc(answerId: string) {
|
|
220
|
+
const answerPath = answerId ? `saved-answer/${answerId}` : 'answer';
|
|
213
221
|
const tsPostHashParams = this.getThoughtSpotPostUrlParams();
|
|
214
222
|
|
|
215
|
-
return `${this.
|
|
216
|
-
query,
|
|
217
|
-
)}/${answerPath}${tsPostHashParams}`;
|
|
223
|
+
return `${this.getRootIframeSrc()}/embed/${answerPath}${tsPostHashParams}`;
|
|
218
224
|
}
|
|
219
225
|
|
|
220
226
|
/**
|
|
@@ -222,10 +228,10 @@ export class SearchEmbed extends TsEmbed {
|
|
|
222
228
|
*/
|
|
223
229
|
public render(): SearchEmbed {
|
|
224
230
|
super.render();
|
|
225
|
-
const { answerId
|
|
231
|
+
const { answerId } = this.viewConfig;
|
|
226
232
|
|
|
227
|
-
const src = this.getIFrameSrc(answerId
|
|
228
|
-
this.renderIFrame(src
|
|
233
|
+
const src = this.getIFrameSrc(answerId);
|
|
234
|
+
this.renderIFrame(src);
|
|
229
235
|
getAuthPromise().then(() => {
|
|
230
236
|
if (
|
|
231
237
|
checkReleaseVersionInBeta(
|
|
@@ -19,27 +19,27 @@ init({
|
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('Search embed tests when authType is Basic', () => {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @param version
|
|
25
|
+
*/
|
|
22
26
|
function setupVersion(version: string) {
|
|
23
|
-
jest.spyOn(window, 'addEventListener').mockImplementationOnce(
|
|
24
|
-
(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
json: () => ({
|
|
37
|
-
...mockSessionInfo,
|
|
38
|
-
releaseVersion: version,
|
|
39
|
-
}),
|
|
40
|
-
status: 200,
|
|
27
|
+
jest.spyOn(window, 'addEventListener').mockImplementationOnce((event, handler, options) => {
|
|
28
|
+
handler({
|
|
29
|
+
data: {
|
|
30
|
+
type: 'xyz',
|
|
31
|
+
},
|
|
32
|
+
ports: [3000],
|
|
33
|
+
source: null,
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
|
|
37
|
+
json: () => ({
|
|
38
|
+
...mockSessionInfo,
|
|
39
|
+
releaseVersion: version,
|
|
41
40
|
}),
|
|
42
|
-
|
|
41
|
+
status: 200,
|
|
42
|
+
}));
|
|
43
43
|
jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue(version);
|
|
44
44
|
}
|
|
45
45
|
beforeEach(() => {
|
|
@@ -76,9 +76,7 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
76
76
|
|
|
77
77
|
test('releaseVersion is above 8.4.0.sw', async () => {
|
|
78
78
|
setupVersion('8.8.0.sw');
|
|
79
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
80
|
-
() => 'http://tshost',
|
|
81
|
-
);
|
|
79
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
82
80
|
const mockAlert = jest.spyOn(window, 'alert');
|
|
83
81
|
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
84
82
|
await searchEmbed.render();
|
|
@@ -87,9 +85,7 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
87
85
|
|
|
88
86
|
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is ts7.dec.cl', async () => {
|
|
89
87
|
setupVersion('ts7.dec.cl');
|
|
90
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
91
|
-
() => 'http://tshost',
|
|
92
|
-
);
|
|
88
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
93
89
|
jest.spyOn(baseInstance, 'getEmbedConfig').mockReturnValue({
|
|
94
90
|
suppressSearchEmbedBetaWarning: true,
|
|
95
91
|
});
|
|
@@ -101,9 +97,7 @@ describe('Search embed tests when authType is Basic', () => {
|
|
|
101
97
|
|
|
102
98
|
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is 8.4.0.sw', async () => {
|
|
103
99
|
setupVersion('8.4.0.sw');
|
|
104
|
-
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(
|
|
105
|
-
() => 'http://tshost',
|
|
106
|
-
);
|
|
100
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
107
101
|
jest.spyOn(baseInstance, 'getEmbedConfig').mockReturnValue({
|
|
108
102
|
suppressSearchEmbedBetaWarning: true,
|
|
109
103
|
});
|