@thoughtspot/visual-embed-sdk 1.33.0-alpha.2 → 1.33.0-dc.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/cjs/package.json +12 -28
- package/cjs/src/auth.d.ts +0 -1
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +1 -2
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.d.ts +1 -11
- package/cjs/src/auth.spec.d.ts.map +1 -1
- package/cjs/src/auth.spec.js +5 -14
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/authToken.d.ts +4 -0
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +4 -0
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/css-variables.d.ts +46 -3
- package/cjs/src/css-variables.d.ts.map +1 -1
- package/cjs/src/embed/app.d.ts +47 -14
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +10 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +32 -0
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts +35 -33
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +35 -33
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +26 -0
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/cjs/src/embed/bodyless-conversation.js +70 -0
- package/cjs/src/embed/bodyless-conversation.js.map +1 -0
- package/cjs/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/cjs/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/cjs/src/embed/bodyless-conversation.spec.js +125 -0
- package/cjs/src/embed/bodyless-conversation.spec.js.map +1 -0
- package/cjs/src/embed/conversation.d.ts +28 -0
- package/cjs/src/embed/conversation.d.ts.map +1 -0
- package/cjs/src/embed/conversation.js +34 -0
- package/cjs/src/embed/conversation.js.map +1 -0
- package/cjs/src/embed/conversation.spec.d.ts +2 -0
- package/cjs/src/embed/conversation.spec.d.ts.map +1 -0
- package/cjs/src/embed/conversation.spec.js +32 -0
- package/cjs/src/embed/conversation.spec.js.map +1 -0
- package/cjs/src/embed/embed.spec.js +0 -19
- package/cjs/src/embed/embed.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +49 -0
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +21 -1
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +43 -0
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/search.d.ts +0 -13
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +3 -2
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +10 -13
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +0 -9
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +4 -1
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +7 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts +4 -0
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +4 -0
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/react/index.d.ts +39 -1
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +37 -1
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts +13 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +41 -4
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/tokenizedFetch.d.ts.map +1 -1
- package/cjs/src/tokenizedFetch.js +5 -1
- package/cjs/src/tokenizedFetch.js.map +1 -1
- package/cjs/src/types.d.ts +166 -22
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +143 -12
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/answerService/answerService.d.ts +34 -0
- package/cjs/src/utils/answerService/answerService.d.ts.map +1 -0
- package/cjs/src/utils/answerService/answerService.js +142 -0
- package/cjs/src/utils/answerService/answerService.js.map +1 -0
- package/cjs/src/utils/answerService/answerService.spec.d.ts +1 -0
- package/cjs/src/utils/answerService/answerService.spec.d.ts.map +1 -0
- package/cjs/src/utils/answerService/answerService.spec.js +1 -0
- package/cjs/src/utils/answerService/answerService.spec.js.map +1 -0
- package/cjs/src/utils/answerService/graphql-queries.d.ts +6 -0
- package/cjs/src/utils/answerService/graphql-queries.d.ts.map +1 -0
- package/cjs/src/utils/answerService/graphql-queries.js +123 -0
- package/cjs/src/utils/answerService/graphql-queries.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/authService.spec.js +11 -2
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.js +0 -2
- package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
- 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/global-styles.spec.d.ts +2 -0
- package/cjs/src/utils/global-styles.spec.d.ts.map +1 -0
- package/cjs/src/utils/global-styles.spec.js +21 -0
- package/cjs/src/utils/global-styles.spec.js.map +1 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.js +32 -2
- package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +76 -8
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.spec.js +109 -0
- package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +5 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.js +80 -0
- package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js +318 -0
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.js +89 -0
- package/cjs/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/cjs/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/graphql-request.spec.js +48 -0
- package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js +313 -0
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js +75 -0
- package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js +403 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js +55 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js +33 -0
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
- package/cjs/src/utils/graphql/preview-service.d.ts +6 -0
- package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/preview-service.js +6 -0
- package/cjs/src/utils/graphql/preview-service.js.map +1 -1
- package/cjs/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/cjs/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/cjs/src/utils/graphql/preview-service.spec.js +20 -0
- package/cjs/src/utils/graphql/preview-service.spec.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js +318 -0
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.js +89 -0
- package/cjs/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js +403 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js +55 -0
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.js +50 -0
- package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.js +64 -0
- package/cjs/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
- package/cjs/src/utils/processData.js +2 -2
- package/cjs/src/utils/processData.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +15 -0
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/cjs/src/utils/processTrigger.d.ts +1 -0
- package/cjs/src/utils/processTrigger.d.ts.map +1 -1
- package/cjs/src/utils/processTrigger.js +3 -3
- package/cjs/src/utils/processTrigger.js.map +1 -1
- package/cjs/src/utils/processTrigger.spec.js +10 -0
- package/cjs/src/utils/processTrigger.spec.js.map +1 -1
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +1 -3
- package/cjs/src/utils.js.map +1 -1
- package/dist/src/auth.d.ts +0 -1
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/auth.spec.d.ts +1 -11
- package/dist/src/auth.spec.d.ts.map +1 -1
- package/dist/src/authToken.d.ts +4 -0
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/css-variables.d.ts +46 -3
- package/dist/src/css-variables.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +47 -14
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +35 -33
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts +26 -0
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/dist/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/dist/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/dist/src/embed/conversation.d.ts +28 -0
- package/dist/src/embed/conversation.d.ts.map +1 -0
- package/dist/src/embed/conversation.spec.d.ts +2 -0
- package/dist/src/embed/conversation.spec.d.ts.map +1 -0
- package/dist/src/embed/liveboard.d.ts +49 -0
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +0 -13
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +3 -2
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +4 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +4 -0
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +39 -1
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +13 -0
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/tokenizedFetch.d.ts.map +1 -1
- package/dist/src/types.d.ts +166 -22
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/dist/src/utils/global-styles.spec.d.ts +2 -0
- package/dist/src/utils/global-styles.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/dist/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/dist/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/dist/src/utils/graphql/preview-service.d.ts +6 -0
- package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/dist/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/dist/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/dist/src/utils/processTrigger.d.ts +1 -0
- package/dist/src/utils/processTrigger.d.ts.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +8087 -175
- package/dist/tsembed-react.js +8028 -170
- package/dist/tsembed.es.js +8981 -202
- package/dist/tsembed.js +8947 -221
- package/dist/visual-embed-sdk-react-full.d.ts +485 -98
- package/dist/visual-embed-sdk-react.d.ts +485 -98
- package/dist/visual-embed-sdk.d.ts +421 -97
- package/lib/package.json +12 -28
- package/lib/src/auth.d.ts +0 -1
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +1 -2
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts +1 -11
- package/lib/src/auth.spec.d.ts.map +1 -1
- package/lib/src/auth.spec.js +3 -12
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/authToken.d.ts +4 -0
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +4 -0
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/css-variables.d.ts +46 -3
- package/lib/src/css-variables.d.ts.map +1 -1
- package/lib/src/embed/app.d.ts +47 -14
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +10 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +32 -0
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts +35 -33
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +35 -33
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts +26 -0
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -0
- package/lib/src/embed/bodyless-conversation.js +66 -0
- package/lib/src/embed/bodyless-conversation.js.map +1 -0
- package/lib/src/embed/bodyless-conversation.spec.d.ts +2 -0
- package/lib/src/embed/bodyless-conversation.spec.d.ts.map +1 -0
- package/lib/src/embed/bodyless-conversation.spec.js +122 -0
- package/lib/src/embed/bodyless-conversation.spec.js.map +1 -0
- package/lib/src/embed/conversation.d.ts +28 -0
- package/lib/src/embed/conversation.d.ts.map +1 -0
- package/lib/src/embed/conversation.js +30 -0
- package/lib/src/embed/conversation.js.map +1 -0
- package/lib/src/embed/conversation.spec.d.ts +2 -0
- package/lib/src/embed/conversation.spec.d.ts.map +1 -0
- package/lib/src/embed/conversation.spec.js +29 -0
- package/lib/src/embed/conversation.spec.js.map +1 -0
- package/lib/src/embed/embed.spec.js +0 -19
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +49 -0
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +21 -1
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +43 -0
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/search.d.ts +0 -13
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +3 -2
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +10 -13
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +0 -9
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +4 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +4 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts +4 -0
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +4 -0
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/react/index.d.ts +39 -1
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +36 -0
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +13 -0
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +38 -3
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/tokenizedFetch.d.ts.map +1 -1
- package/lib/src/tokenizedFetch.js +5 -1
- package/lib/src/tokenizedFetch.js.map +1 -1
- package/lib/src/types.d.ts +166 -22
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +143 -12
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +11 -2
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.d.ts +0 -2
- package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.js +0 -2
- package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/lib/src/utils/global-styles.spec.d.ts +2 -0
- package/lib/src/utils/global-styles.spec.d.ts.map +1 -0
- package/lib/src/utils/global-styles.spec.js +19 -0
- package/lib/src/utils/global-styles.spec.js.map +1 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js +31 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +23 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +76 -8
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js +110 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.js +315 -0
- package/lib/src/utils/graphql/conversationService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.js +84 -0
- package/lib/src/utils/graphql/conversationService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/lib/src/utils/graphql/graphql-request.spec.d.ts +2 -0
- package/lib/src/utils/graphql/graphql-request.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/graphql-request.spec.js +45 -0
- package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.js +310 -0
- package/lib/src/utils/graphql/nlsService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js +70 -0
- package/lib/src/utils/graphql/nlsService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js +400 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts +12 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js +50 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +2 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js +31 -0
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +1 -0
- package/lib/src/utils/graphql/preview-service.d.ts +6 -0
- package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/preview-service.js +6 -0
- package/lib/src/utils/graphql/preview-service.js.map +1 -1
- package/lib/src/utils/graphql/preview-service.spec.d.ts +2 -0
- package/lib/src/utils/graphql/preview-service.spec.d.ts.map +1 -0
- package/lib/src/utils/graphql/preview-service.spec.js +18 -0
- package/lib/src/utils/graphql/preview-service.spec.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts +3 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.js +315 -0
- package/lib/src/utils/graphql/spotterService/conversation-queries.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts +12 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.js +84 -0
- package/lib/src/utils/graphql/spotterService/conversation-service.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts +2 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js +400 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts +12 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +1 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js +50 -0
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.js +46 -0
- package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts +2 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts.map +1 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.js +61 -0
- package/lib/src/utils/liveboardService/liveboardService.spec.js.map +1 -0
- package/lib/src/utils/processData.js +2 -2
- package/lib/src/utils/processData.js.map +1 -1
- package/lib/src/utils/processData.spec.js +15 -0
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/utils/processTrigger.d.ts +1 -0
- package/lib/src/utils/processTrigger.d.ts.map +1 -1
- package/lib/src/utils/processTrigger.js +1 -1
- package/lib/src/utils/processTrigger.js.map +1 -1
- package/lib/src/utils/processTrigger.spec.js +10 -0
- package/lib/src/utils/processTrigger.spec.js.map +1 -1
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +1 -3
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +433 -97
- package/package.json +12 -28
- package/src/auth.spec.ts +3 -12
- package/src/auth.ts +1 -2
- package/src/authToken.ts +4 -0
- package/src/css-variables.ts +49 -3
- package/src/embed/app.spec.ts +47 -0
- package/src/embed/app.ts +54 -13
- package/src/embed/base.ts +35 -33
- package/src/embed/bodyless-conversation.spec.ts +141 -0
- package/src/embed/bodyless-conversation.ts +95 -0
- package/src/embed/conversation.spec.ts +46 -0
- package/src/embed/conversation.ts +58 -0
- package/src/embed/embed.spec.ts +0 -22
- package/src/embed/liveboard.spec.ts +62 -0
- package/src/embed/liveboard.ts +69 -0
- package/src/embed/search.ts +0 -13
- package/src/embed/ts-embed.spec.ts +0 -11
- package/src/embed/ts-embed.ts +13 -13
- package/src/index.ts +7 -0
- package/src/mixpanel-service.ts +4 -0
- package/src/react/index.tsx +89 -41
- package/src/test/test-utils.ts +46 -3
- package/src/tokenizedFetch.ts +5 -1
- package/src/types.ts +167 -21
- package/src/utils/authService/authService.spec.ts +11 -2
- package/src/utils/authService/tokenizedAuthService.ts +0 -2
- package/src/utils/global-styles.spec.ts +20 -0
- package/src/utils/graphql/answerService/answer-queries.ts +33 -1
- package/src/utils/graphql/answerService/answerService.spec.ts +131 -0
- package/src/utils/graphql/answerService/answerService.ts +102 -10
- package/src/utils/graphql/graphql-request.spec.ts +51 -0
- package/src/utils/graphql/graphql-request.ts +1 -1
- package/src/utils/graphql/nlsService/conversation-queries.ts +310 -0
- package/src/utils/graphql/nlsService/conversation-service.ts +81 -0
- package/src/utils/graphql/nlsService/nls-answer-queries.ts +399 -0
- package/src/utils/graphql/nlsService/nls-answer-service.spec.ts +35 -0
- package/src/utils/graphql/nlsService/nls-answer-service.ts +58 -0
- package/src/utils/graphql/preview-service.spec.ts +20 -0
- package/src/utils/graphql/preview-service.ts +6 -0
- package/src/utils/liveboardService/liveboardService.spec.ts +63 -0
- package/src/utils/liveboardService/liveboardService.ts +55 -0
- package/src/utils/processData.spec.ts +17 -0
- package/src/utils/processData.ts +2 -2
- package/src/utils/processTrigger.spec.ts +19 -0
- package/src/utils/processTrigger.ts +1 -1
- package/src/utils.ts +1 -3
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts +0 -2
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +0 -1
- package/src/embed/searchEmbed-basic-auth.spec.ts +0 -110
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { ViewConfig, Param } from '../types';
|
|
2
|
+
import { TsEmbed } from './ts-embed';
|
|
3
|
+
import { Conversation as ConversationService } from '../utils/graphql/nlsService/conversation-service';
|
|
4
|
+
import { getEmbedConfig } from './embedConfig';
|
|
5
|
+
import { getQueryParamString } from '../utils';
|
|
6
|
+
|
|
7
|
+
export interface BodylessConversationViewConfig extends ViewConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The ID of the worksheet to use for the conversation.
|
|
10
|
+
*/
|
|
11
|
+
worksheetId: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface ConversationMessageViewConfig extends BodylessConversationViewConfig {
|
|
15
|
+
sessionId: string;
|
|
16
|
+
genNo: number;
|
|
17
|
+
acSessionId: string;
|
|
18
|
+
acGenNo: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class ConversationMessage extends TsEmbed {
|
|
22
|
+
constructor(container: HTMLElement, protected viewConfig: ConversationMessageViewConfig) {
|
|
23
|
+
super(container, viewConfig);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public getIframeSrc() {
|
|
27
|
+
const {
|
|
28
|
+
sessionId,
|
|
29
|
+
genNo,
|
|
30
|
+
acSessionId,
|
|
31
|
+
acGenNo,
|
|
32
|
+
} = this.viewConfig;
|
|
33
|
+
const path = 'conv-assist-answer';
|
|
34
|
+
const queryParams = this.getBaseQueryParams();
|
|
35
|
+
|
|
36
|
+
queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
|
|
37
|
+
let query = '';
|
|
38
|
+
const queryParamsString = getQueryParamString(queryParams, true);
|
|
39
|
+
if (queryParamsString) {
|
|
40
|
+
query = `?${queryParamsString}`;
|
|
41
|
+
}
|
|
42
|
+
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
43
|
+
sessionId,
|
|
44
|
+
genNo,
|
|
45
|
+
acSessionId,
|
|
46
|
+
acGenNo,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async render(): Promise<ConversationMessage> {
|
|
53
|
+
super.render();
|
|
54
|
+
const src = this.getIframeSrc();
|
|
55
|
+
await this.renderIFrame(src);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Create a conversation embed, which can be integrated inside
|
|
62
|
+
* chatbots or other conversational interfaces.
|
|
63
|
+
* @group Embed components
|
|
64
|
+
* @version SDK: 1.34.0 | ThoughtSpot: 10.3.0.cl
|
|
65
|
+
*/
|
|
66
|
+
export class BodylessConversation {
|
|
67
|
+
private conversationService: ConversationService;
|
|
68
|
+
|
|
69
|
+
constructor(private viewConfig: BodylessConversationViewConfig) {
|
|
70
|
+
const embedConfig = getEmbedConfig();
|
|
71
|
+
|
|
72
|
+
this.conversationService = new ConversationService(
|
|
73
|
+
embedConfig.thoughtSpotHost,
|
|
74
|
+
viewConfig.worksheetId,
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
public async sendMessage(userMessage: string) {
|
|
79
|
+
const { data, error } = await this.conversationService.sendMessage(userMessage);
|
|
80
|
+
if (error) {
|
|
81
|
+
return { error };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const container = document.createElement('div');
|
|
85
|
+
const embed = new ConversationMessage(container, {
|
|
86
|
+
...this.viewConfig,
|
|
87
|
+
sessionId: data.sessionId,
|
|
88
|
+
genNo: data.genNo,
|
|
89
|
+
acSessionId: data.stateKey.transactionId,
|
|
90
|
+
acGenNo: data.stateKey.generationNumber,
|
|
91
|
+
});
|
|
92
|
+
await embed.render();
|
|
93
|
+
return { container };
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ConversationEmbed,
|
|
3
|
+
ConversationViewConfig,
|
|
4
|
+
} from './conversation';
|
|
5
|
+
import * as authInstance from '../auth';
|
|
6
|
+
import { init } from '../index';
|
|
7
|
+
import { Action, AuthType, RuntimeFilterOp } from '../types';
|
|
8
|
+
import {
|
|
9
|
+
executeAfterWait,
|
|
10
|
+
getDocumentBody,
|
|
11
|
+
getIFrameSrc,
|
|
12
|
+
getRootEl,
|
|
13
|
+
fixedEncodeURI,
|
|
14
|
+
defaultParamsWithoutHiddenActions as defaultParams,
|
|
15
|
+
expectUrlMatchesWithParams,
|
|
16
|
+
} from '../test/test-utils';
|
|
17
|
+
|
|
18
|
+
const thoughtSpotHost = 'tshost';
|
|
19
|
+
|
|
20
|
+
beforeAll(() => {
|
|
21
|
+
init({
|
|
22
|
+
thoughtSpotHost,
|
|
23
|
+
authType: AuthType.None,
|
|
24
|
+
});
|
|
25
|
+
jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve({}));
|
|
26
|
+
spyOn(window, 'alert');
|
|
27
|
+
document.body.innerHTML = getDocumentBody();
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
describe('ConversationEmbed', () => {
|
|
31
|
+
it('should render the conversation embed', async () => {
|
|
32
|
+
const viewConfig: ConversationViewConfig = {
|
|
33
|
+
worksheetId: 'worksheetId',
|
|
34
|
+
searchOptions: {
|
|
35
|
+
searchQuery: 'searchQuery',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const conversationEmbed = new ConversationEmbed(getRootEl(), viewConfig);
|
|
40
|
+
await conversationEmbed.render();
|
|
41
|
+
expectUrlMatchesWithParams(
|
|
42
|
+
getIFrameSrc(),
|
|
43
|
+
`http://${thoughtSpotHost}/v2/?${defaultParams}#/embed/insights/conv-assist?worksheet=worksheetId&query=searchQuery`,
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { ViewConfig, Param } from '../types';
|
|
2
|
+
import { TsEmbed } from './ts-embed';
|
|
3
|
+
import { getQueryParamString } from '../utils';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for search options
|
|
7
|
+
*/
|
|
8
|
+
export interface SearchOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The query string to pass to start the Conversation.
|
|
11
|
+
*/
|
|
12
|
+
searchQuery: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ConversationViewConfig extends ViewConfig {
|
|
16
|
+
/**
|
|
17
|
+
* The ID of the worksheet to use for the conversation.
|
|
18
|
+
*/
|
|
19
|
+
worksheetId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Ability to pass a starting search query to the conversation.
|
|
22
|
+
*/
|
|
23
|
+
searchOptions?: SearchOptions;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export class ConversationEmbed extends TsEmbed {
|
|
27
|
+
constructor(container: HTMLElement, protected viewConfig: ConversationViewConfig) {
|
|
28
|
+
super(container, viewConfig);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
public getIframeSrc() {
|
|
32
|
+
const {
|
|
33
|
+
worksheetId,
|
|
34
|
+
searchOptions,
|
|
35
|
+
} = this.viewConfig;
|
|
36
|
+
const path = 'insights/conv-assist';
|
|
37
|
+
const queryParams = this.getBaseQueryParams();
|
|
38
|
+
|
|
39
|
+
let query = '';
|
|
40
|
+
const queryParamsString = getQueryParamString(queryParams, true);
|
|
41
|
+
if (queryParamsString) {
|
|
42
|
+
query = `?${queryParamsString}`;
|
|
43
|
+
}
|
|
44
|
+
const tsPostHashParams = this.getThoughtSpotPostUrlParams({
|
|
45
|
+
worksheet: worksheetId,
|
|
46
|
+
query: searchOptions.searchQuery,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
return `${this.getEmbedBasePath(query)}/embed/${path}${tsPostHashParams}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public async render(): Promise<ConversationEmbed> {
|
|
53
|
+
super.render();
|
|
54
|
+
const src = this.getIframeSrc();
|
|
55
|
+
await this.renderIFrame(src);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
}
|
package/src/embed/embed.spec.ts
CHANGED
|
@@ -53,25 +53,3 @@ describe('test view config', () => {
|
|
|
53
53
|
});
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
-
|
|
57
|
-
describe('Custom CSS Url', () => {
|
|
58
|
-
beforeEach(() => {
|
|
59
|
-
document.body.innerHTML = getDocumentBody();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
test('passing customCssUrl should set the correct query params on the iframe', async (done) => {
|
|
63
|
-
init({
|
|
64
|
-
thoughtSpotHost,
|
|
65
|
-
authType: AuthType.None,
|
|
66
|
-
customCssUrl: 'bla.com/foo.css',
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
const embed = new SearchEmbed(getRootEl(), defaultViewConfig);
|
|
70
|
-
embed.render();
|
|
71
|
-
executeAfterWait(() => {
|
|
72
|
-
const iframe = getIFrameEl();
|
|
73
|
-
expect(iframe.src.includes('customCssUrl=bla.com/foo.css')).toBe(true);
|
|
74
|
-
done();
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
});
|
|
@@ -67,6 +67,20 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
69
|
|
|
70
|
+
test('should render liveboard with data panel v2 flag set to true by default', async () => {
|
|
71
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
72
|
+
...defaultViewConfig,
|
|
73
|
+
liveboardId,
|
|
74
|
+
} as LiveboardViewConfig);
|
|
75
|
+
liveboardEmbed.render();
|
|
76
|
+
await executeAfterWait(() => {
|
|
77
|
+
expectUrlMatchesWithParams(
|
|
78
|
+
getIFrameSrc(),
|
|
79
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}${prefixParams}&enableDataPanelV2=true#/embed/viz/${liveboardId}`,
|
|
80
|
+
);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
70
84
|
test('should set disabled actions', async () => {
|
|
71
85
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
72
86
|
disabledActions: [Action.DownloadAsCsv, Action.DownloadAsPdf, Action.DownloadAsXlsx],
|
|
@@ -227,6 +241,54 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
227
241
|
});
|
|
228
242
|
});
|
|
229
243
|
|
|
244
|
+
test('Should add isLiveboardCompactHeaderEnabled flag to the iframe src', async () => {
|
|
245
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
246
|
+
...defaultViewConfig,
|
|
247
|
+
liveboardId,
|
|
248
|
+
isLiveboardCompactHeaderEnabled: false,
|
|
249
|
+
} as LiveboardViewConfig);
|
|
250
|
+
|
|
251
|
+
liveboardEmbed.render();
|
|
252
|
+
await executeAfterWait(() => {
|
|
253
|
+
expectUrlMatchesWithParams(
|
|
254
|
+
getIFrameSrc(),
|
|
255
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&isLiveboardHeaderV2Enabled=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
256
|
+
);
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
test('Should add showLiveboardReverifyBanner flag to the iframe src', async () => {
|
|
261
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
262
|
+
...defaultViewConfig,
|
|
263
|
+
liveboardId,
|
|
264
|
+
showLiveboardReverifyBanner: false,
|
|
265
|
+
} as LiveboardViewConfig);
|
|
266
|
+
|
|
267
|
+
liveboardEmbed.render();
|
|
268
|
+
await executeAfterWait(() => {
|
|
269
|
+
expectUrlMatchesWithParams(
|
|
270
|
+
getIFrameSrc(),
|
|
271
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardReverifyBanner=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
272
|
+
);
|
|
273
|
+
});
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
test('Should add showLiveboardVerifiedBadge flag to the iframe src', async () => {
|
|
277
|
+
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
278
|
+
...defaultViewConfig,
|
|
279
|
+
liveboardId,
|
|
280
|
+
showLiveboardVerifiedBadge: false,
|
|
281
|
+
} as LiveboardViewConfig);
|
|
282
|
+
|
|
283
|
+
liveboardEmbed.render();
|
|
284
|
+
await executeAfterWait(() => {
|
|
285
|
+
expectUrlMatchesWithParams(
|
|
286
|
+
getIFrameSrc(),
|
|
287
|
+
`http://${thoughtSpotHost}/?embedApp=true${defaultParams}&showLiveboardVerifiedBadge=false${prefixParams}#/embed/viz/${liveboardId}`,
|
|
288
|
+
);
|
|
289
|
+
});
|
|
290
|
+
});
|
|
291
|
+
|
|
230
292
|
test('should not append runtime filters in URL if excludeRuntimeFiltersfromURL is true', async () => {
|
|
231
293
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
232
294
|
...defaultViewConfig,
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -284,6 +284,48 @@ export interface LiveboardViewConfig
|
|
|
284
284
|
* @version SDK: 1.32.0 | ThoughtSpot: 10.0.0.cl
|
|
285
285
|
*/
|
|
286
286
|
showPreviewLoader?: boolean;
|
|
287
|
+
/**
|
|
288
|
+
* This flag is used to enable the compact header in liveboard
|
|
289
|
+
* @type {boolean}
|
|
290
|
+
* @default false
|
|
291
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.3.0.cl
|
|
292
|
+
* @example
|
|
293
|
+
* ```js
|
|
294
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
295
|
+
* ... // other options
|
|
296
|
+
* isLiveboardCompactHeaderEnabled: true,
|
|
297
|
+
* })
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
isLiveboardCompactHeaderEnabled?: boolean;
|
|
301
|
+
/**
|
|
302
|
+
* This flag is used to show/hide verified Icon in liveboard compact header
|
|
303
|
+
* @type {boolean}
|
|
304
|
+
* @default true
|
|
305
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
306
|
+
* @example
|
|
307
|
+
* ```js
|
|
308
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
309
|
+
* ... // other options
|
|
310
|
+
* showLiveboardVerifiedBadge: true,
|
|
311
|
+
* })
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
showLiveboardVerifiedBadge?: boolean;
|
|
315
|
+
/**
|
|
316
|
+
* This flag is used to show/hide re-verify banner in liveboard compact header
|
|
317
|
+
* @type {boolean}
|
|
318
|
+
* @default true
|
|
319
|
+
* @version SDK: 1.35.0 | ThoughtSpot:10.4.0.cl
|
|
320
|
+
* @example
|
|
321
|
+
* ```js
|
|
322
|
+
* const embed = new LiveboardEmbed('#embed-container', {
|
|
323
|
+
* ... // other options
|
|
324
|
+
* showLiveboardReverifyBanner: true,
|
|
325
|
+
* })
|
|
326
|
+
* ```
|
|
327
|
+
*/
|
|
328
|
+
showLiveboardReverifyBanner?: boolean;
|
|
287
329
|
}
|
|
288
330
|
|
|
289
331
|
/**
|
|
@@ -338,8 +380,12 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
338
380
|
showLiveboardDescription,
|
|
339
381
|
showLiveboardTitle,
|
|
340
382
|
isLiveboardHeaderSticky = true,
|
|
383
|
+
isLiveboardCompactHeaderEnabled = false,
|
|
384
|
+
showLiveboardVerifiedBadge = true,
|
|
385
|
+
showLiveboardReverifyBanner = true,
|
|
341
386
|
enableAskSage,
|
|
342
387
|
enable2ColumnLayout,
|
|
388
|
+
dataPanelV2 = true,
|
|
343
389
|
} = this.viewConfig;
|
|
344
390
|
|
|
345
391
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -387,7 +433,11 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
387
433
|
}
|
|
388
434
|
|
|
389
435
|
params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
|
|
436
|
+
params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
|
|
437
|
+
params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
|
|
438
|
+
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
390
439
|
|
|
440
|
+
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
391
441
|
const queryParams = getQueryParamString(params, true);
|
|
392
442
|
|
|
393
443
|
return queryParams;
|
|
@@ -557,6 +607,25 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
557
607
|
this.render();
|
|
558
608
|
}
|
|
559
609
|
}
|
|
610
|
+
|
|
611
|
+
/**
|
|
612
|
+
* Returns the full url of the liveboard/viz which can be used to open
|
|
613
|
+
* this liveboard inside the full Thoughtspot application in a new tab.
|
|
614
|
+
*
|
|
615
|
+
* @returns url string
|
|
616
|
+
*/
|
|
617
|
+
public getLiveboardUrl(): string {
|
|
618
|
+
let url = `${this.thoughtSpotHost}/#/pinboard/${this.viewConfig.liveboardId}`;
|
|
619
|
+
if (this.viewConfig.activeTabId) {
|
|
620
|
+
url = `${url}/tab/${this.viewConfig.activeTabId}`;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
if (this.viewConfig.vizId) {
|
|
624
|
+
url = `${url}/${this.viewConfig.vizId}`;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
return url;
|
|
628
|
+
}
|
|
560
629
|
}
|
|
561
630
|
|
|
562
631
|
/**
|
package/src/embed/search.ts
CHANGED
|
@@ -227,19 +227,6 @@ export interface SearchViewConfig
|
|
|
227
227
|
* ```
|
|
228
228
|
*/
|
|
229
229
|
hideSearchBar?: boolean;
|
|
230
|
-
/**
|
|
231
|
-
* Flag to control Data panel experience
|
|
232
|
-
* @default true
|
|
233
|
-
* @version SDK: 1.26.0 | Thoughtspot: 9.7.0.cl
|
|
234
|
-
* @example
|
|
235
|
-
* ```js
|
|
236
|
-
* const embed = new SearchEmbed('#tsEmbed', {
|
|
237
|
-
* ... // other options
|
|
238
|
-
* dataPanelV2:false,
|
|
239
|
-
* })
|
|
240
|
-
* ```
|
|
241
|
-
*/
|
|
242
|
-
dataPanelV2?: boolean;
|
|
243
230
|
/**
|
|
244
231
|
* Flag to set if last selected dataSource should be used
|
|
245
232
|
* @version: SDK: 1.24.0
|
|
@@ -56,7 +56,6 @@ beforeAll(() => {
|
|
|
56
56
|
const customisations = {
|
|
57
57
|
style: {
|
|
58
58
|
customCSS: {},
|
|
59
|
-
customCSSUrl: 'http://localhost:3000',
|
|
60
59
|
},
|
|
61
60
|
content: {},
|
|
62
61
|
};
|
|
@@ -64,7 +63,6 @@ const customisations = {
|
|
|
64
63
|
const customisationsView = {
|
|
65
64
|
style: {
|
|
66
65
|
customCSS: {},
|
|
67
|
-
customCSSUrl: 'http://localhost:8000',
|
|
68
66
|
},
|
|
69
67
|
content: {
|
|
70
68
|
strings: {
|
|
@@ -95,7 +93,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
95
93
|
init({
|
|
96
94
|
thoughtSpotHost: 'tshost',
|
|
97
95
|
customizations: customisations,
|
|
98
|
-
customCssUrl: 'http://localhost:5000',
|
|
99
96
|
authType: AuthType.TrustedAuthTokenCookieless,
|
|
100
97
|
getAuthToken: () => Promise.resolve('test_auth_token2'),
|
|
101
98
|
});
|
|
@@ -136,7 +133,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
136
133
|
thoughtSpotHost: 'tshost',
|
|
137
134
|
authType: AuthType.None,
|
|
138
135
|
customizations: customisations,
|
|
139
|
-
customCssUrl: 'http://localhost:5000',
|
|
140
136
|
});
|
|
141
137
|
});
|
|
142
138
|
|
|
@@ -199,9 +195,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
199
195
|
reorderedHomepageModules: [],
|
|
200
196
|
},
|
|
201
197
|
});
|
|
202
|
-
expect(getIFrameSrc()).toContain(
|
|
203
|
-
`customCssUrl=${customisationsView.style.customCSSUrl}`,
|
|
204
|
-
);
|
|
205
198
|
});
|
|
206
199
|
|
|
207
200
|
test('hide home page modules from view Config should be part of app_init payload', async () => {
|
|
@@ -601,7 +594,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
601
594
|
init({
|
|
602
595
|
thoughtSpotHost: 'tshost',
|
|
603
596
|
customizations: customisations,
|
|
604
|
-
customCssUrl: 'http://localhost:5000',
|
|
605
597
|
authType: AuthType.TrustedAuthTokenCookieless,
|
|
606
598
|
getAuthToken: () => Promise.resolve('test_auth_token1'),
|
|
607
599
|
});
|
|
@@ -655,7 +647,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
655
647
|
init({
|
|
656
648
|
thoughtSpotHost: 'tshost',
|
|
657
649
|
customizations: customisations,
|
|
658
|
-
customCssUrl: 'http://localhost:5000',
|
|
659
650
|
authType: AuthType.TrustedAuthTokenCookieless,
|
|
660
651
|
getAuthToken: () => Promise.reject(),
|
|
661
652
|
});
|
|
@@ -790,7 +781,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
790
781
|
init({
|
|
791
782
|
thoughtSpotHost: 'tshost',
|
|
792
783
|
customizations: customisations,
|
|
793
|
-
customCssUrl: 'http://localhost:5000',
|
|
794
784
|
authType: AuthType.TrustedAuthToken,
|
|
795
785
|
username: 'tsadmin',
|
|
796
786
|
getAuthToken: () => Promise.resolve('test_auth_token3'),
|
|
@@ -819,7 +809,6 @@ describe('Unit test case for ts embed', () => {
|
|
|
819
809
|
init({
|
|
820
810
|
thoughtSpotHost: 'tshost',
|
|
821
811
|
customizations: customisations,
|
|
822
|
-
customCssUrl: 'http://localhost:5000',
|
|
823
812
|
authType: AuthType.TrustedAuthToken,
|
|
824
813
|
username: 'tsadmin',
|
|
825
814
|
getAuthToken: () => Promise.resolve('test_auth_token4'),
|
package/src/embed/ts-embed.ts
CHANGED
|
@@ -454,13 +454,6 @@ export class TsEmbed {
|
|
|
454
454
|
return queryParams;
|
|
455
455
|
}
|
|
456
456
|
|
|
457
|
-
// TODO remove embedConfig.customCssUrl
|
|
458
|
-
const cssUrlParam = customizations?.style?.customCSSUrl || this.embedConfig.customCssUrl;
|
|
459
|
-
|
|
460
|
-
if (cssUrlParam) {
|
|
461
|
-
queryParams[Param.CustomCSSUrl] = cssUrlParam;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
457
|
if (disabledActions?.length) {
|
|
465
458
|
queryParams[Param.DisableActions] = disabledActions;
|
|
466
459
|
}
|
|
@@ -500,9 +493,7 @@ export class TsEmbed {
|
|
|
500
493
|
if (locale !== undefined) {
|
|
501
494
|
queryParams[Param.Locale] = locale;
|
|
502
495
|
}
|
|
503
|
-
|
|
504
|
-
Object.assign(queryParams, additionalFlags);
|
|
505
|
-
}
|
|
496
|
+
|
|
506
497
|
if (linkOverride) {
|
|
507
498
|
queryParams[Param.LinkOverride] = linkOverride;
|
|
508
499
|
}
|
|
@@ -516,6 +507,13 @@ export class TsEmbed {
|
|
|
516
507
|
queryParams[Param.OverrideNativeConsole] = true;
|
|
517
508
|
queryParams[Param.ClientLogLevel] = this.embedConfig.logLevel;
|
|
518
509
|
|
|
510
|
+
if (additionalFlags && additionalFlags.constructor.name === 'Object') {
|
|
511
|
+
Object.assign(queryParams, additionalFlags);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// Do not add any flags below this, as we want additional flags to
|
|
515
|
+
// override other flags
|
|
516
|
+
|
|
519
517
|
return queryParams;
|
|
520
518
|
}
|
|
521
519
|
|
|
@@ -1022,7 +1020,9 @@ export class TsEmbed {
|
|
|
1022
1020
|
* THOUGHTSPOT URL params starts with a prefix "ts-"
|
|
1023
1021
|
* @version SDK: 1.14.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
|
|
1024
1022
|
*/
|
|
1025
|
-
public getThoughtSpotPostUrlParams(
|
|
1023
|
+
public getThoughtSpotPostUrlParams(
|
|
1024
|
+
additionalParams: { [key: string]: string | number } = {},
|
|
1025
|
+
): string {
|
|
1026
1026
|
const urlHash = window.location.hash;
|
|
1027
1027
|
const queryParams = window.location.search;
|
|
1028
1028
|
const postHashParams = urlHash.split('?');
|
|
@@ -1038,6 +1038,7 @@ export class TsEmbed {
|
|
|
1038
1038
|
};
|
|
1039
1039
|
queryParamsObj.forEach(addKeyValuePairCb);
|
|
1040
1040
|
postURLParamsObj.forEach(addKeyValuePairCb);
|
|
1041
|
+
Object.entries(additionalParams).forEach(([k, v]) => params.append(k, v as string));
|
|
1041
1042
|
|
|
1042
1043
|
let tsParams = params.toString();
|
|
1043
1044
|
tsParams = tsParams ? `?${tsParams}` : '';
|
|
@@ -1221,7 +1222,7 @@ export class TsEmbed {
|
|
|
1221
1222
|
* @version SDK: 1.25.0 / ThoughtSpot 9.10.0
|
|
1222
1223
|
*/
|
|
1223
1224
|
public async getAnswerService(vizId?: string): Promise<AnswerService> {
|
|
1224
|
-
const { session } = await this.trigger(HostEvent.GetAnswerSession, vizId);
|
|
1225
|
+
const { session } = await this.trigger(HostEvent.GetAnswerSession, vizId ? { vizId } : {});
|
|
1225
1226
|
|
|
1226
1227
|
return new AnswerService(session, null, this.embedConfig.thoughtSpotHost);
|
|
1227
1228
|
}
|
|
@@ -1298,7 +1299,6 @@ export class V1Embed extends TsEmbed {
|
|
|
1298
1299
|
|
|
1299
1300
|
/**
|
|
1300
1301
|
* Only for testing purposes.
|
|
1301
|
-
*
|
|
1302
1302
|
* @hidden
|
|
1303
1303
|
*/
|
|
1304
1304
|
// eslint-disable-next-line camelcase
|
package/src/index.ts
CHANGED
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
import { PinboardEmbed, LiveboardViewConfig, LiveboardEmbed } from './embed/liveboard';
|
|
20
20
|
import { SearchEmbed, SearchViewConfig } from './embed/search';
|
|
21
21
|
import { SearchBarEmbed, SearchBarViewConfig } from './embed/search-bar';
|
|
22
|
+
import { BodylessConversation, BodylessConversationViewConfig } from './embed/bodyless-conversation';
|
|
22
23
|
import {
|
|
23
24
|
AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter,
|
|
24
25
|
} from './auth';
|
|
@@ -55,6 +56,8 @@ import { AnswerService, SessionInterface, UnderlyingDataPoint } from './utils/gr
|
|
|
55
56
|
import { getEmbedConfig } from './embed/embedConfig';
|
|
56
57
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from './mixpanel-service';
|
|
57
58
|
import { tokenizedFetch } from './tokenizedFetch';
|
|
59
|
+
import { getAnswerFromQuery } from './utils/graphql/nlsService/nls-answer-service';
|
|
60
|
+
import { createLiveboardWithAnswers } from './utils/liveboardService/liveboardService';
|
|
58
61
|
|
|
59
62
|
export {
|
|
60
63
|
init,
|
|
@@ -67,12 +70,16 @@ export {
|
|
|
67
70
|
getEmbedConfig as getInitConfig,
|
|
68
71
|
getSessionInfo,
|
|
69
72
|
tokenizedFetch,
|
|
73
|
+
getAnswerFromQuery,
|
|
74
|
+
createLiveboardWithAnswers,
|
|
70
75
|
SearchEmbed,
|
|
71
76
|
SearchBarEmbed,
|
|
72
77
|
PinboardEmbed,
|
|
73
78
|
LiveboardEmbed,
|
|
74
79
|
SageEmbed,
|
|
75
80
|
AppEmbed,
|
|
81
|
+
BodylessConversation,
|
|
82
|
+
BodylessConversationViewConfig,
|
|
76
83
|
AuthFailureType,
|
|
77
84
|
AuthStatus,
|
|
78
85
|
AuthEvent,
|
package/src/mixpanel-service.ts
CHANGED
|
@@ -11,6 +11,10 @@ export const EndPoints = {
|
|
|
11
11
|
const mixpanelLib = mixpanel.default || mixpanel;
|
|
12
12
|
let mixpanelInstance: mixpanel.Mixpanel;
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Enum of mixpanel events
|
|
16
|
+
* @hidden
|
|
17
|
+
*/
|
|
14
18
|
export const MIXPANEL_EVENT = {
|
|
15
19
|
VISUAL_SDK_RENDER_START: 'visual-sdk-render-start',
|
|
16
20
|
VISUAL_SDK_CALLED_INIT: 'visual-sdk-called-init',
|