@thoughtspot/visual-embed-sdk 1.33.0-dc.1 → 1.33.0
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 +6 -8
- package/cjs/src/auth.d.ts +1 -0
- package/cjs/src/auth.d.ts.map +1 -1
- package/cjs/src/auth.js +2 -1
- package/cjs/src/auth.js.map +1 -1
- package/cjs/src/auth.spec.d.ts +11 -1
- package/cjs/src/auth.spec.d.ts.map +1 -1
- package/cjs/src/auth.spec.js +14 -5
- package/cjs/src/auth.spec.js.map +1 -1
- package/cjs/src/authToken.d.ts +0 -4
- package/cjs/src/authToken.d.ts.map +1 -1
- package/cjs/src/authToken.js +0 -4
- package/cjs/src/authToken.js.map +1 -1
- package/cjs/src/embed/app.d.ts +0 -13
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +0 -7
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +2 -17
- package/cjs/src/embed/liveboard.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 +1 -3
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +1 -2
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/index.d.ts +1 -4
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +1 -7
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/react/index.d.ts +1 -39
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +1 -37
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts +0 -13
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +4 -41
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/types.d.ts +13 -0
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/authService.spec.js +1 -8
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts +2 -0
- package/cjs/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/cjs/src/utils/authService/tokenizedAuthService.js +2 -0
- package/cjs/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +0 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.js +1 -24
- package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +1 -9
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +9 -52
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.spec.js +18 -74
- package/cjs/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/cjs/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/cjs/src/utils/graphql/graphql-request.spec.js +1 -13
- package/cjs/src/utils/graphql/graphql-request.spec.js.map +1 -1
- package/cjs/src/utils/graphql/preview-service.d.ts +0 -6
- package/cjs/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/cjs/src/utils/graphql/preview-service.js +0 -6
- package/cjs/src/utils/graphql/preview-service.js.map +1 -1
- package/cjs/src/utils/processData.spec.js +0 -1
- package/cjs/src/utils/processData.spec.js.map +1 -1
- package/dist/src/auth.d.ts +1 -0
- package/dist/src/auth.d.ts.map +1 -1
- package/dist/src/auth.spec.d.ts +11 -1
- package/dist/src/auth.spec.d.ts.map +1 -1
- package/dist/src/authToken.d.ts +0 -4
- package/dist/src/authToken.d.ts.map +1 -1
- package/dist/src/embed/app.d.ts +0 -13
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +0 -7
- 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/searchEmbed-basic-auth.spec.d.ts +2 -0
- package/dist/src/embed/searchEmbed-basic-auth.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts +1 -3
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +1 -39
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +0 -13
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/types.d.ts +13 -0
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/tokenizedAuthService.d.ts +2 -0
- package/dist/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts +0 -1
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +1 -9
- 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/preview-service.d.ts +0 -6
- package/dist/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +63 -7640
- package/dist/tsembed-react.js +62 -7641
- package/dist/tsembed.es.js +65 -8507
- package/dist/tsembed.js +64 -8509
- package/dist/visual-embed-sdk-react-full.d.ts +26 -157
- package/dist/visual-embed-sdk-react.d.ts +26 -157
- package/dist/visual-embed-sdk.d.ts +25 -93
- package/lib/package.json +6 -8
- package/lib/src/auth.d.ts +1 -0
- package/lib/src/auth.d.ts.map +1 -1
- package/lib/src/auth.js +2 -1
- package/lib/src/auth.js.map +1 -1
- package/lib/src/auth.spec.d.ts +11 -1
- package/lib/src/auth.spec.d.ts.map +1 -1
- package/lib/src/auth.spec.js +12 -3
- package/lib/src/auth.spec.js.map +1 -1
- package/lib/src/authToken.d.ts +0 -4
- package/lib/src/authToken.d.ts.map +1 -1
- package/lib/src/authToken.js +0 -4
- package/lib/src/authToken.js.map +1 -1
- package/lib/src/embed/app.d.ts +0 -13
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +0 -7
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +2 -17
- package/lib/src/embed/liveboard.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 +1 -3
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +1 -2
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/index.d.ts +1 -4
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +1 -4
- package/lib/src/index.js.map +1 -1
- package/lib/src/react/index.d.ts +1 -39
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +0 -36
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +0 -13
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +3 -38
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/types.d.ts +13 -0
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +1 -8
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.d.ts +2 -0
- package/lib/src/utils/authService/tokenizedAuthService.d.ts.map +1 -1
- package/lib/src/utils/authService/tokenizedAuthService.js +2 -0
- package/lib/src/utils/authService/tokenizedAuthService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts +0 -1
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js +0 -23
- package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +1 -9
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +9 -52
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.spec.js +18 -74
- package/lib/src/utils/graphql/answerService/answerService.spec.js.map +1 -1
- package/lib/src/utils/graphql/graphql-request.d.ts.map +1 -1
- package/lib/src/utils/graphql/graphql-request.spec.js +1 -13
- package/lib/src/utils/graphql/graphql-request.spec.js.map +1 -1
- package/lib/src/utils/graphql/preview-service.d.ts +0 -6
- package/lib/src/utils/graphql/preview-service.d.ts.map +1 -1
- package/lib/src/utils/graphql/preview-service.js +0 -6
- package/lib/src/utils/graphql/preview-service.js.map +1 -1
- package/lib/src/utils/processData.spec.js +0 -1
- package/lib/src/utils/processData.spec.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +25 -105
- package/package.json +6 -8
- package/src/auth.spec.ts +12 -3
- package/src/auth.ts +2 -1
- package/src/authToken.ts +0 -4
- package/src/embed/app.ts +0 -13
- package/src/embed/liveboard.ts +2 -19
- package/src/embed/search.ts +0 -13
- package/src/embed/searchEmbed-basic-auth.spec.ts +110 -0
- package/src/embed/ts-embed.ts +1 -4
- package/src/index.ts +0 -7
- package/src/react/index.tsx +41 -89
- package/src/test/test-utils.ts +3 -46
- package/src/types.ts +13 -0
- package/src/utils/authService/authService.spec.ts +1 -8
- package/src/utils/authService/tokenizedAuthService.ts +2 -0
- package/src/utils/graphql/answerService/answer-queries.ts +0 -24
- package/src/utils/graphql/answerService/answerService.spec.ts +24 -86
- package/src/utils/graphql/answerService/answerService.ts +11 -68
- package/src/utils/graphql/graphql-request.spec.ts +1 -14
- package/src/utils/graphql/graphql-request.ts +1 -1
- package/src/utils/graphql/preview-service.ts +0 -6
- package/src/utils/processData.spec.ts +0 -1
- package/cjs/src/embed/bodyless-conversation.d.ts +0 -26
- package/cjs/src/embed/bodyless-conversation.d.ts.map +0 -1
- package/cjs/src/embed/bodyless-conversation.js +0 -70
- package/cjs/src/embed/bodyless-conversation.js.map +0 -1
- package/cjs/src/embed/bodyless-conversation.spec.d.ts +0 -2
- package/cjs/src/embed/bodyless-conversation.spec.d.ts.map +0 -1
- package/cjs/src/embed/bodyless-conversation.spec.js +0 -125
- package/cjs/src/embed/bodyless-conversation.spec.js.map +0 -1
- package/cjs/src/embed/conversation.d.ts +0 -28
- package/cjs/src/embed/conversation.d.ts.map +0 -1
- package/cjs/src/embed/conversation.js +0 -34
- package/cjs/src/embed/conversation.js.map +0 -1
- package/cjs/src/embed/conversation.spec.d.ts +0 -2
- package/cjs/src/embed/conversation.spec.d.ts.map +0 -1
- package/cjs/src/embed/conversation.spec.js +0 -32
- package/cjs/src/embed/conversation.spec.js.map +0 -1
- package/cjs/src/utils/answerService/answerService.d.ts +0 -34
- package/cjs/src/utils/answerService/answerService.d.ts.map +0 -1
- package/cjs/src/utils/answerService/answerService.js +0 -142
- package/cjs/src/utils/answerService/answerService.js.map +0 -1
- package/cjs/src/utils/answerService/answerService.spec.d.ts +0 -1
- package/cjs/src/utils/answerService/answerService.spec.d.ts.map +0 -1
- package/cjs/src/utils/answerService/answerService.spec.js +0 -1
- package/cjs/src/utils/answerService/answerService.spec.js.map +0 -1
- package/cjs/src/utils/answerService/graphql-queries.d.ts +0 -6
- package/cjs/src/utils/answerService/graphql-queries.d.ts.map +0 -1
- package/cjs/src/utils/answerService/graphql-queries.js +0 -123
- package/cjs/src/utils/answerService/graphql-queries.js.map +0 -1
- package/cjs/src/utils/answerService.d.ts +0 -10
- package/cjs/src/utils/answerService.d.ts.map +0 -1
- package/cjs/src/utils/answerService.js +0 -61
- package/cjs/src/utils/answerService.js.map +0 -1
- package/cjs/src/utils/answerService.spec.d.ts +0 -2
- package/cjs/src/utils/answerService.spec.d.ts.map +0 -1
- package/cjs/src/utils/answerService.spec.js +0 -31
- package/cjs/src/utils/answerService.spec.js.map +0 -1
- package/cjs/src/utils/authService.d.ts +0 -37
- package/cjs/src/utils/authService.d.ts.map +0 -1
- package/cjs/src/utils/authService.js +0 -106
- package/cjs/src/utils/authService.js.map +0 -1
- package/cjs/src/utils/authService.spec.d.ts +0 -2
- package/cjs/src/utils/authService.spec.d.ts.map +0 -1
- package/cjs/src/utils/authService.spec.js +0 -72
- package/cjs/src/utils/authService.spec.js.map +0 -1
- package/cjs/src/utils/global-styles.spec.d.ts +0 -2
- package/cjs/src/utils/global-styles.spec.d.ts.map +0 -1
- package/cjs/src/utils/global-styles.spec.js +0 -21
- package/cjs/src/utils/global-styles.spec.js.map +0 -1
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts +0 -5
- package/cjs/src/utils/graphql/answerService/graphql-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/answerService/graphql-queries.js +0 -80
- package/cjs/src/utils/graphql/answerService/graphql-queries.js.map +0 -1
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts +0 -3
- package/cjs/src/utils/graphql/conversationService/conversation-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js +0 -318
- package/cjs/src/utils/graphql/conversationService/conversation-queries.js.map +0 -1
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts +0 -12
- package/cjs/src/utils/graphql/conversationService/conversation-service.d.ts.map +0 -1
- package/cjs/src/utils/graphql/conversationService/conversation-service.js +0 -89
- package/cjs/src/utils/graphql/conversationService/conversation-service.js.map +0 -1
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts +0 -3
- package/cjs/src/utils/graphql/nlsService/conversation-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js +0 -313
- package/cjs/src/utils/graphql/nlsService/conversation-queries.js.map +0 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts +0 -12
- package/cjs/src/utils/graphql/nlsService/conversation-service.d.ts.map +0 -1
- package/cjs/src/utils/graphql/nlsService/conversation-service.js +0 -75
- package/cjs/src/utils/graphql/nlsService/conversation-service.js.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts +0 -2
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js +0 -403
- package/cjs/src/utils/graphql/nlsService/nls-answer-queries.js.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts +0 -12
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js +0 -55
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.js.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +0 -2
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +0 -1
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js +0 -33
- package/cjs/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +0 -1
- package/cjs/src/utils/graphql/preview-service.spec.d.ts +0 -2
- package/cjs/src/utils/graphql/preview-service.spec.d.ts.map +0 -1
- package/cjs/src/utils/graphql/preview-service.spec.js +0 -20
- package/cjs/src/utils/graphql/preview-service.spec.js.map +0 -1
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts +0 -3
- package/cjs/src/utils/graphql/spotterService/conversation-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js +0 -318
- package/cjs/src/utils/graphql/spotterService/conversation-queries.js.map +0 -1
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts +0 -12
- package/cjs/src/utils/graphql/spotterService/conversation-service.d.ts.map +0 -1
- package/cjs/src/utils/graphql/spotterService/conversation-service.js +0 -89
- package/cjs/src/utils/graphql/spotterService/conversation-service.js.map +0 -1
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts +0 -2
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +0 -1
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js +0 -403
- package/cjs/src/utils/graphql/spotterService/nls-answer-queries.js.map +0 -1
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts +0 -12
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +0 -1
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js +0 -55
- package/cjs/src/utils/graphql/spotterService/nls-answer-service.js.map +0 -1
- package/cjs/src/utils/liveboardService/liveboardService.d.ts +0 -3
- package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +0 -1
- package/cjs/src/utils/liveboardService/liveboardService.js +0 -50
- package/cjs/src/utils/liveboardService/liveboardService.js.map +0 -1
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts +0 -2
- package/cjs/src/utils/liveboardService/liveboardService.spec.d.ts.map +0 -1
- package/cjs/src/utils/liveboardService/liveboardService.spec.js +0 -64
- package/cjs/src/utils/liveboardService/liveboardService.spec.js.map +0 -1
- package/dist/src/embed/bodyless-conversation.d.ts +0 -26
- package/dist/src/embed/bodyless-conversation.d.ts.map +0 -1
- package/dist/src/embed/bodyless-conversation.spec.d.ts +0 -2
- package/dist/src/embed/bodyless-conversation.spec.d.ts.map +0 -1
- package/dist/src/embed/conversation.d.ts +0 -28
- package/dist/src/embed/conversation.d.ts.map +0 -1
- package/dist/src/embed/conversation.spec.d.ts +0 -2
- package/dist/src/embed/conversation.spec.d.ts.map +0 -1
- package/dist/src/utils/global-styles.spec.d.ts +0 -2
- package/dist/src/utils/global-styles.spec.d.ts.map +0 -1
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts +0 -3
- package/dist/src/utils/graphql/nlsService/conversation-queries.d.ts.map +0 -1
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts +0 -12
- package/dist/src/utils/graphql/nlsService/conversation-service.d.ts.map +0 -1
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts +0 -2
- package/dist/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +0 -1
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts +0 -12
- package/dist/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +0 -1
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +0 -2
- package/dist/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +0 -1
- package/dist/src/utils/graphql/preview-service.spec.d.ts +0 -2
- package/dist/src/utils/graphql/preview-service.spec.d.ts.map +0 -1
- package/dist/src/utils/liveboardService/liveboardService.d.ts +0 -3
- package/dist/src/utils/liveboardService/liveboardService.d.ts.map +0 -1
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts +0 -2
- package/dist/src/utils/liveboardService/liveboardService.spec.d.ts.map +0 -1
- package/lib/src/embed/bodyless-conversation.d.ts +0 -26
- package/lib/src/embed/bodyless-conversation.d.ts.map +0 -1
- package/lib/src/embed/bodyless-conversation.js +0 -66
- package/lib/src/embed/bodyless-conversation.js.map +0 -1
- package/lib/src/embed/bodyless-conversation.spec.d.ts +0 -2
- package/lib/src/embed/bodyless-conversation.spec.d.ts.map +0 -1
- package/lib/src/embed/bodyless-conversation.spec.js +0 -122
- package/lib/src/embed/bodyless-conversation.spec.js.map +0 -1
- package/lib/src/embed/conversation.d.ts +0 -28
- package/lib/src/embed/conversation.d.ts.map +0 -1
- package/lib/src/embed/conversation.js +0 -30
- package/lib/src/embed/conversation.js.map +0 -1
- package/lib/src/embed/conversation.spec.d.ts +0 -2
- package/lib/src/embed/conversation.spec.d.ts.map +0 -1
- package/lib/src/embed/conversation.spec.js +0 -29
- package/lib/src/embed/conversation.spec.js.map +0 -1
- package/lib/src/utils/global-styles.spec.d.ts +0 -2
- package/lib/src/utils/global-styles.spec.d.ts.map +0 -1
- package/lib/src/utils/global-styles.spec.js +0 -19
- package/lib/src/utils/global-styles.spec.js.map +0 -1
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts +0 -3
- package/lib/src/utils/graphql/conversationService/conversation-queries.d.ts.map +0 -1
- package/lib/src/utils/graphql/conversationService/conversation-queries.js +0 -315
- package/lib/src/utils/graphql/conversationService/conversation-queries.js.map +0 -1
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts +0 -12
- package/lib/src/utils/graphql/conversationService/conversation-service.d.ts.map +0 -1
- package/lib/src/utils/graphql/conversationService/conversation-service.js +0 -84
- package/lib/src/utils/graphql/conversationService/conversation-service.js.map +0 -1
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts +0 -3
- package/lib/src/utils/graphql/nlsService/conversation-queries.d.ts.map +0 -1
- package/lib/src/utils/graphql/nlsService/conversation-queries.js +0 -310
- package/lib/src/utils/graphql/nlsService/conversation-queries.js.map +0 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts +0 -12
- package/lib/src/utils/graphql/nlsService/conversation-service.d.ts.map +0 -1
- package/lib/src/utils/graphql/nlsService/conversation-service.js +0 -70
- package/lib/src/utils/graphql/nlsService/conversation-service.js.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts +0 -2
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.d.ts.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js +0 -400
- package/lib/src/utils/graphql/nlsService/nls-answer-queries.js.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts +0 -12
- package/lib/src/utils/graphql/nlsService/nls-answer-service.d.ts.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js +0 -50
- package/lib/src/utils/graphql/nlsService/nls-answer-service.js.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts +0 -2
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.d.ts.map +0 -1
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js +0 -31
- package/lib/src/utils/graphql/nlsService/nls-answer-service.spec.js.map +0 -1
- package/lib/src/utils/graphql/preview-service.spec.d.ts +0 -2
- package/lib/src/utils/graphql/preview-service.spec.d.ts.map +0 -1
- package/lib/src/utils/graphql/preview-service.spec.js +0 -18
- package/lib/src/utils/graphql/preview-service.spec.js.map +0 -1
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts +0 -3
- package/lib/src/utils/graphql/spotterService/conversation-queries.d.ts.map +0 -1
- package/lib/src/utils/graphql/spotterService/conversation-queries.js +0 -315
- package/lib/src/utils/graphql/spotterService/conversation-queries.js.map +0 -1
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts +0 -12
- package/lib/src/utils/graphql/spotterService/conversation-service.d.ts.map +0 -1
- package/lib/src/utils/graphql/spotterService/conversation-service.js +0 -84
- package/lib/src/utils/graphql/spotterService/conversation-service.js.map +0 -1
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts +0 -2
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.d.ts.map +0 -1
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js +0 -400
- package/lib/src/utils/graphql/spotterService/nls-answer-queries.js.map +0 -1
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts +0 -12
- package/lib/src/utils/graphql/spotterService/nls-answer-service.d.ts.map +0 -1
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js +0 -50
- package/lib/src/utils/graphql/spotterService/nls-answer-service.js.map +0 -1
- package/lib/src/utils/liveboardService/liveboardService.d.ts +0 -3
- package/lib/src/utils/liveboardService/liveboardService.d.ts.map +0 -1
- package/lib/src/utils/liveboardService/liveboardService.js +0 -46
- package/lib/src/utils/liveboardService/liveboardService.js.map +0 -1
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts +0 -2
- package/lib/src/utils/liveboardService/liveboardService.spec.d.ts.map +0 -1
- package/lib/src/utils/liveboardService/liveboardService.spec.js +0 -61
- package/lib/src/utils/liveboardService/liveboardService.spec.js.map +0 -1
- package/src/embed/bodyless-conversation.spec.ts +0 -141
- package/src/embed/bodyless-conversation.ts +0 -95
- package/src/embed/conversation.spec.ts +0 -46
- package/src/embed/conversation.ts +0 -58
- package/src/utils/global-styles.spec.ts +0 -20
- package/src/utils/graphql/nlsService/conversation-queries.ts +0 -310
- package/src/utils/graphql/nlsService/conversation-service.ts +0 -81
- package/src/utils/graphql/nlsService/nls-answer-queries.ts +0 -399
- package/src/utils/graphql/nlsService/nls-answer-service.spec.ts +0 -35
- package/src/utils/graphql/nlsService/nls-answer-service.ts +0 -58
- package/src/utils/graphql/preview-service.spec.ts +0 -20
- package/src/utils/liveboardService/liveboardService.spec.ts +0 -63
- package/src/utils/liveboardService/liveboardService.ts +0 -55
package/src/auth.spec.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import 'jest-fetch-mock';
|
|
2
1
|
import * as authInstance from './auth';
|
|
3
2
|
import * as authTokenService from './authToken';
|
|
4
3
|
import * as EmbedConfig from './embed/embedConfig';
|
|
5
4
|
import * as mixPanelService from './mixpanel-service';
|
|
6
|
-
import { executeAfterWait
|
|
5
|
+
import { executeAfterWait } from './test/test-utils';
|
|
7
6
|
import { AuthType, EmbedEvent } from './types';
|
|
8
7
|
import * as checkReleaseVersionInBetaInstance from './utils';
|
|
9
8
|
import * as authService from './utils/authService/authService';
|
|
@@ -103,6 +102,17 @@ export const embedConfig: any = {
|
|
|
103
102
|
};
|
|
104
103
|
|
|
105
104
|
const originalWindow = window;
|
|
105
|
+
export const mockSessionInfo = {
|
|
106
|
+
userGUID: '1234',
|
|
107
|
+
mixpanelToken: 'abc123',
|
|
108
|
+
isPublicUser: false,
|
|
109
|
+
sessionId: '6588e7d9-710c-453e-a7b4-535fb3a8cbb2',
|
|
110
|
+
genNo: 3,
|
|
111
|
+
acSession: {
|
|
112
|
+
sessionId: 'cb202c48-b14b-4466-8a70-899ea666d46q',
|
|
113
|
+
genNo: 5,
|
|
114
|
+
},
|
|
115
|
+
};
|
|
106
116
|
|
|
107
117
|
export const mockSessionInfoApiResponse = {
|
|
108
118
|
userGUID: '1234',
|
|
@@ -195,7 +205,6 @@ describe('Unit test for auth', () => {
|
|
|
195
205
|
});
|
|
196
206
|
|
|
197
207
|
test('doTokenAuth: when user is not loggedIn & getAuthToken not present, isLoggedIn should called', async () => {
|
|
198
|
-
fetchMock.mockResponse(JSON.stringify({ mixpanelAccessToken: '' }));
|
|
199
208
|
jest.spyOn(tokenAuthService, 'isActiveService').mockImplementation(async () => false);
|
|
200
209
|
jest.spyOn(authService, 'fetchAuthTokenService').mockImplementation(() => ({
|
|
201
210
|
text: () => Promise.resolve('abc'),
|
package/src/auth.ts
CHANGED
|
@@ -214,6 +214,7 @@ async function isLoggedIn(thoughtSpotHost: string): Promise<boolean> {
|
|
|
214
214
|
* Services to be called after the login is successful,
|
|
215
215
|
* This should be called after the cookie is set for cookie auth or
|
|
216
216
|
* after the token is set for cookieless.
|
|
217
|
+
*
|
|
217
218
|
* @return {Promise<void>}
|
|
218
219
|
* @example
|
|
219
220
|
* ```js
|
|
@@ -230,7 +231,7 @@ export async function postLoginService(): Promise<void> {
|
|
|
230
231
|
initMixpanel(sessionInfo);
|
|
231
232
|
}
|
|
232
233
|
} catch (e) {
|
|
233
|
-
logger.error('Post login services failed.', e.message
|
|
234
|
+
logger.error('Post login services failed.', e.message);
|
|
234
235
|
}
|
|
235
236
|
}
|
|
236
237
|
|
package/src/authToken.ts
CHANGED
|
@@ -6,10 +6,6 @@ import { logger } from './utils/logger';
|
|
|
6
6
|
let cachedAuthToken: string | null = null;
|
|
7
7
|
|
|
8
8
|
// This method can be used to get the authToken using the embedConfig
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param embedConfig
|
|
12
|
-
*/
|
|
13
9
|
export async function getAuthenticationToken(embedConfig: EmbedConfig): Promise<string> {
|
|
14
10
|
// Since we don't have token validation enabled , we cannot tell if the
|
|
15
11
|
// cached token is valid or not. So we will always fetch a new token.
|
package/src/embed/app.ts
CHANGED
|
@@ -346,19 +346,6 @@ export interface AppViewConfig extends Omit<ViewConfig, 'visibleTabs'> {
|
|
|
346
346
|
* @deprecated Use {@link collapseSearchBar} instead
|
|
347
347
|
*/
|
|
348
348
|
collapseSearchBarInitially?: boolean;
|
|
349
|
-
/**
|
|
350
|
-
* To enable custom column groups in data panel v2.
|
|
351
|
-
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
352
|
-
* @default false
|
|
353
|
-
* @example
|
|
354
|
-
* ```js
|
|
355
|
-
* const embed = new AppEmbed('#embed', {
|
|
356
|
-
* ... // other app view config
|
|
357
|
-
* enableCustomColumnGroups: true,
|
|
358
|
-
* });
|
|
359
|
-
* ```
|
|
360
|
-
*/
|
|
361
|
-
enableCustomColumnGroups?: boolean;
|
|
362
349
|
/**
|
|
363
350
|
* This controls the initial behaviour of custom column groups accordion.
|
|
364
351
|
* It takes DataPanelCustomColumnGroupsAccordionState enum values as input.
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -386,6 +386,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
386
386
|
enableAskSage,
|
|
387
387
|
enable2ColumnLayout,
|
|
388
388
|
dataPanelV2 = true,
|
|
389
|
+
enableCustomColumnGroups = false,
|
|
389
390
|
} = this.viewConfig;
|
|
390
391
|
|
|
391
392
|
const preventLiveboardFilterRemoval = this.viewConfig.preventLiveboardFilterRemoval
|
|
@@ -438,6 +439,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
438
439
|
params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
|
|
439
440
|
|
|
440
441
|
params[Param.DataPanelV2Enabled] = dataPanelV2;
|
|
442
|
+
params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
|
|
441
443
|
const queryParams = getQueryParamString(params, true);
|
|
442
444
|
|
|
443
445
|
return queryParams;
|
|
@@ -607,25 +609,6 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
607
609
|
this.render();
|
|
608
610
|
}
|
|
609
611
|
}
|
|
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
|
-
}
|
|
629
612
|
}
|
|
630
613
|
|
|
631
614
|
/**
|
package/src/embed/search.ts
CHANGED
|
@@ -239,19 +239,6 @@ export interface SearchViewConfig
|
|
|
239
239
|
* @deprecated Use {@link collapseSearchBar} instead
|
|
240
240
|
*/
|
|
241
241
|
collapseSearchBarInitially?: boolean;
|
|
242
|
-
/**
|
|
243
|
-
* To enable custom column groups in data panel v2
|
|
244
|
-
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
245
|
-
* @default false
|
|
246
|
-
* @example
|
|
247
|
-
* ```js
|
|
248
|
-
* const embed = new SearchEmbed('#tsEmbed', {
|
|
249
|
-
* ... // other options
|
|
250
|
-
* enableCustomColumnGroups: true,
|
|
251
|
-
* });
|
|
252
|
-
* ```
|
|
253
|
-
*/
|
|
254
|
-
enableCustomColumnGroups?: boolean;
|
|
255
242
|
/**
|
|
256
243
|
* Flag to enable onBeforeSearchExecute Embed Event
|
|
257
244
|
* @version: SDK: 1.29.0 | Thoughtspot: 10.1.0.cl
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { SearchEmbed } from './search';
|
|
2
|
+
import * as baseInstance from './base';
|
|
3
|
+
import * as authService from '../utils/authService';
|
|
4
|
+
import * as authInstance from '../auth';
|
|
5
|
+
import * as config from '../config';
|
|
6
|
+
import * as embedConfigInstance from './embedConfig';
|
|
7
|
+
|
|
8
|
+
import { init } from '../index';
|
|
9
|
+
import { AuthType } from '../types';
|
|
10
|
+
import { getDocumentBody, getRootEl } from '../test/test-utils';
|
|
11
|
+
import { mockSessionInfo } from '../auth.spec';
|
|
12
|
+
import { ERROR_MESSAGE } from '../errors';
|
|
13
|
+
|
|
14
|
+
const thoughtSpotHost = 'tshost';
|
|
15
|
+
init({
|
|
16
|
+
thoughtSpotHost,
|
|
17
|
+
authType: AuthType.Basic,
|
|
18
|
+
username: 'tsadmin',
|
|
19
|
+
password: 'admin',
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
describe('Search embed tests when authType is Basic', () => {
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* @param version
|
|
26
|
+
*/
|
|
27
|
+
function setupVersion(version: string) {
|
|
28
|
+
jest.spyOn(window, 'addEventListener').mockImplementation((event, handler, options) => {
|
|
29
|
+
handler({
|
|
30
|
+
data: {
|
|
31
|
+
type: 'xyz',
|
|
32
|
+
},
|
|
33
|
+
ports: [3000],
|
|
34
|
+
source: null,
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
jest.spyOn(authService, 'fetchSessionInfoService').mockImplementation(async () => ({
|
|
38
|
+
json: () => ({
|
|
39
|
+
...mockSessionInfo,
|
|
40
|
+
releaseVersion: version,
|
|
41
|
+
}),
|
|
42
|
+
status: 200,
|
|
43
|
+
}));
|
|
44
|
+
jest.spyOn(authInstance, 'getReleaseVersion').mockReturnValue(version);
|
|
45
|
+
}
|
|
46
|
+
beforeEach(() => {
|
|
47
|
+
document.body.innerHTML = getDocumentBody();
|
|
48
|
+
jest.spyOn(baseInstance, 'getAuthPromise').mockResolvedValue(true);
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
afterEach(() => {
|
|
52
|
+
jest.clearAllMocks();
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
test('when releaseVersion is empty', async () => {
|
|
56
|
+
setupVersion('');
|
|
57
|
+
const mockAlert = spyOn(window, 'alert');
|
|
58
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
59
|
+
await searchEmbed.render();
|
|
60
|
+
expect(mockAlert).not.toBeCalled();
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
test("when releaseVersion is '7.0.1.cl' ", async () => {
|
|
64
|
+
setupVersion('7.0.1.cl');
|
|
65
|
+
const mockAlert = jest.spyOn(window, 'alert');
|
|
66
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
67
|
+
await searchEmbed.render();
|
|
68
|
+
expect(mockAlert).not.toBeCalled();
|
|
69
|
+
});
|
|
70
|
+
test('when releaseVersion is above 8.4.0.sw', async () => {
|
|
71
|
+
setupVersion('8.4.0.sw');
|
|
72
|
+
const mockAlert = jest.spyOn(window, 'alert');
|
|
73
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
74
|
+
await searchEmbed.render();
|
|
75
|
+
expect(mockAlert).not.toBeCalled();
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
test('releaseVersion is above 8.4.0.sw', async () => {
|
|
79
|
+
setupVersion('8.8.0.sw');
|
|
80
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
81
|
+
const mockAlert = jest.spyOn(window, 'alert');
|
|
82
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
83
|
+
await searchEmbed.render();
|
|
84
|
+
expect(mockAlert).not.toBeCalled();
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is ts7.dec.cl', async () => {
|
|
88
|
+
setupVersion('ts7.dec.cl');
|
|
89
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
90
|
+
jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
|
|
91
|
+
suppressSearchEmbedBetaWarning: true,
|
|
92
|
+
});
|
|
93
|
+
const mockAlert = jest.spyOn(window, 'alert');
|
|
94
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
95
|
+
await searchEmbed.render();
|
|
96
|
+
expect(mockAlert).not.toBeCalled();
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
test('Alert should not appear when suppressSearchEmbedBetaWarning is true and releaseVersion is 8.4.0.sw', async () => {
|
|
100
|
+
setupVersion('8.4.0.sw');
|
|
101
|
+
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
102
|
+
jest.spyOn(embedConfigInstance, 'getEmbedConfig').mockReturnValue({
|
|
103
|
+
suppressSearchEmbedBetaWarning: true,
|
|
104
|
+
});
|
|
105
|
+
const mockAlert = jest.spyOn(window, 'alert');
|
|
106
|
+
const searchEmbed = new SearchEmbed(getRootEl(), {});
|
|
107
|
+
await searchEmbed.render();
|
|
108
|
+
expect(mockAlert).not.toBeCalled();
|
|
109
|
+
});
|
|
110
|
+
});
|
package/src/embed/ts-embed.ts
CHANGED
|
@@ -1020,9 +1020,7 @@ export class TsEmbed {
|
|
|
1020
1020
|
* THOUGHTSPOT URL params starts with a prefix "ts-"
|
|
1021
1021
|
* @version SDK: 1.14.0 | ThoughtSpot: 8.4.0.cl, 8.4.1-sw
|
|
1022
1022
|
*/
|
|
1023
|
-
public getThoughtSpotPostUrlParams(
|
|
1024
|
-
additionalParams: { [key: string]: string | number } = {},
|
|
1025
|
-
): string {
|
|
1023
|
+
public getThoughtSpotPostUrlParams(): string {
|
|
1026
1024
|
const urlHash = window.location.hash;
|
|
1027
1025
|
const queryParams = window.location.search;
|
|
1028
1026
|
const postHashParams = urlHash.split('?');
|
|
@@ -1038,7 +1036,6 @@ export class TsEmbed {
|
|
|
1038
1036
|
};
|
|
1039
1037
|
queryParamsObj.forEach(addKeyValuePairCb);
|
|
1040
1038
|
postURLParamsObj.forEach(addKeyValuePairCb);
|
|
1041
|
-
Object.entries(additionalParams).forEach(([k, v]) => params.append(k, v as string));
|
|
1042
1039
|
|
|
1043
1040
|
let tsParams = params.toString();
|
|
1044
1041
|
tsParams = tsParams ? `?${tsParams}` : '';
|
package/src/index.ts
CHANGED
|
@@ -19,7 +19,6 @@ 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';
|
|
23
22
|
import {
|
|
24
23
|
AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter,
|
|
25
24
|
} from './auth';
|
|
@@ -56,8 +55,6 @@ import { AnswerService, SessionInterface, UnderlyingDataPoint } from './utils/gr
|
|
|
56
55
|
import { getEmbedConfig } from './embed/embedConfig';
|
|
57
56
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from './mixpanel-service';
|
|
58
57
|
import { tokenizedFetch } from './tokenizedFetch';
|
|
59
|
-
import { getAnswerFromQuery } from './utils/graphql/nlsService/nls-answer-service';
|
|
60
|
-
import { createLiveboardWithAnswers } from './utils/liveboardService/liveboardService';
|
|
61
58
|
|
|
62
59
|
export {
|
|
63
60
|
init,
|
|
@@ -70,16 +67,12 @@ export {
|
|
|
70
67
|
getEmbedConfig as getInitConfig,
|
|
71
68
|
getSessionInfo,
|
|
72
69
|
tokenizedFetch,
|
|
73
|
-
getAnswerFromQuery,
|
|
74
|
-
createLiveboardWithAnswers,
|
|
75
70
|
SearchEmbed,
|
|
76
71
|
SearchBarEmbed,
|
|
77
72
|
PinboardEmbed,
|
|
78
73
|
LiveboardEmbed,
|
|
79
74
|
SageEmbed,
|
|
80
75
|
AppEmbed,
|
|
81
|
-
BodylessConversation,
|
|
82
|
-
BodylessConversationViewConfig,
|
|
83
76
|
AuthFailureType,
|
|
84
77
|
AuthStatus,
|
|
85
78
|
AuthEvent,
|
package/src/react/index.tsx
CHANGED
|
@@ -10,7 +10,6 @@ import { TsEmbed } from '../embed/ts-embed';
|
|
|
10
10
|
|
|
11
11
|
import { EmbedEvent, ViewConfig } from '../types';
|
|
12
12
|
import { EmbedProps, getViewPropsAndListeners } from './util';
|
|
13
|
-
import { ConversationEmbed as _ConversationEmbed, ConversationViewConfig } from '../embed/conversation';
|
|
14
13
|
|
|
15
14
|
const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V extends ViewConfig>(
|
|
16
15
|
EmbedConstructor: T,
|
|
@@ -40,11 +39,11 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
|
|
|
40
39
|
tsEmbed.destroy();
|
|
41
40
|
};
|
|
42
41
|
|
|
43
|
-
const handlePreRenderRendering = (tsEmbed: InstanceType<T>) => {
|
|
42
|
+
const handlePreRenderRendering = (tsEmbed : InstanceType<T>) => {
|
|
44
43
|
tsEmbed.preRender();
|
|
45
44
|
};
|
|
46
45
|
|
|
47
|
-
const handleDefaultRendering = (tsEmbed: InstanceType<T>) => {
|
|
46
|
+
const handleDefaultRendering = (tsEmbed : InstanceType<T>) => {
|
|
48
47
|
// if component is connected to a preRendered component
|
|
49
48
|
if (props.preRenderId) {
|
|
50
49
|
tsEmbed.showPreRender();
|
|
@@ -54,7 +53,7 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
|
|
|
54
53
|
tsEmbed.render();
|
|
55
54
|
};
|
|
56
55
|
|
|
57
|
-
const handleRendering = (tsEmbed: InstanceType<T>) => {
|
|
56
|
+
const handleRendering = (tsEmbed : InstanceType<T>) => {
|
|
58
57
|
if (isPreRenderedComponent) {
|
|
59
58
|
handlePreRenderRendering(tsEmbed);
|
|
60
59
|
return;
|
|
@@ -64,16 +63,16 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
|
|
|
64
63
|
|
|
65
64
|
useDeepCompareEffect(() => {
|
|
66
65
|
const tsEmbed = new EmbedConstructor(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
66
|
+
ref!.current,
|
|
67
|
+
deepMerge(
|
|
68
|
+
{
|
|
69
|
+
insertAsSibling: viewConfig.insertAsSibling,
|
|
70
|
+
frameParams: {
|
|
71
|
+
class: viewConfig.insertAsSibling ? className || '' : '',
|
|
72
|
+
},
|
|
73
73
|
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
),
|
|
74
|
+
viewConfig,
|
|
75
|
+
),
|
|
77
76
|
) as InstanceType<T>;
|
|
78
77
|
Object.keys(listeners).forEach((eventName) => {
|
|
79
78
|
tsEmbed.on(eventName as EmbedEvent, listeners[eventName as EmbedEvent]);
|
|
@@ -99,33 +98,33 @@ const componentFactory = <T extends typeof TsEmbed, U extends EmbedProps, V exte
|
|
|
99
98
|
interface SearchProps extends EmbedProps, SearchViewConfig { }
|
|
100
99
|
|
|
101
100
|
interface PreRenderProps {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
101
|
+
/**
|
|
102
|
+
* PreRender id to be used for PreRendering the embed.
|
|
103
|
+
* Use PreRender to render the embed in the background and then
|
|
104
|
+
* show or hide the rendered embed using showPreRender or hidePreRender respectively.
|
|
105
|
+
* @example
|
|
106
|
+
* ```js
|
|
107
|
+
* const embed = new LiveboardEmbed('#embed', {
|
|
108
|
+
* ... // other liveboard view config
|
|
109
|
+
* preRenderId: "preRenderId-123"
|
|
110
|
+
* });
|
|
111
|
+
* embed.showPreRender();
|
|
112
|
+
* ```
|
|
113
|
+
*
|
|
114
|
+
* Use PreRendered react component for pre rendering embed components.
|
|
115
|
+
* @example
|
|
116
|
+
* ```tsx
|
|
117
|
+
* function LandingPageComponent() {
|
|
118
|
+
* return <PreRenderedLiveboardEmbed preRenderId="someId" liveboardId="libId" />
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
* function MyComponent() {
|
|
122
|
+
* return <LiveboardEmbed preRenderId="someId" liveboardId="libId" />
|
|
123
|
+
* }
|
|
124
|
+
* ```
|
|
125
|
+
* @version SDK: 1.25.0 | Thoughtspot: 9.6.0.cl
|
|
126
|
+
*/
|
|
127
|
+
preRenderId: string;
|
|
129
128
|
}
|
|
130
129
|
|
|
131
130
|
/**
|
|
@@ -330,58 +329,11 @@ export const PreRenderedSageEmbed = componentFactory<
|
|
|
330
329
|
SageViewConfig
|
|
331
330
|
>(_SageEmbed, true);
|
|
332
331
|
|
|
333
|
-
interface ConversationEmbedProps extends EmbedProps, ConversationViewConfig { }
|
|
334
|
-
|
|
335
|
-
/**
|
|
336
|
-
* React component for LLM based conversation BI.
|
|
337
|
-
* @example
|
|
338
|
-
* ```tsx
|
|
339
|
-
* function Sage() {
|
|
340
|
-
* return <ConversationEmbed
|
|
341
|
-
* worksheetId="<worksheet-id-here>"
|
|
342
|
-
* searchOptions={{
|
|
343
|
-
* searchQuery: "<search query to start with>"
|
|
344
|
-
* }}
|
|
345
|
-
* ... other view config props or event listeners.
|
|
346
|
-
* />
|
|
347
|
-
* }
|
|
348
|
-
* ```
|
|
349
|
-
*/
|
|
350
|
-
export const ConversationEmbed = componentFactory<
|
|
351
|
-
typeof _ConversationEmbed, ConversationEmbedProps, ConversationViewConfig>(
|
|
352
|
-
_ConversationEmbed,
|
|
353
|
-
);
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* React component for PreRendered Conversation embed.
|
|
357
|
-
*
|
|
358
|
-
* PreRenderedConversationEmbed will preRender the ConversationEmbed and will be hidden by
|
|
359
|
-
* default.
|
|
360
|
-
*
|
|
361
|
-
* SageEmbed with preRenderId passed will call showPreRender on the embed.
|
|
362
|
-
* @example
|
|
363
|
-
* ```tsx
|
|
364
|
-
* function LandingPageComponent() {
|
|
365
|
-
* return <PreRenderedConversationEmbed preRenderId="someId" worksheetId={"id-"} />
|
|
366
|
-
* }
|
|
367
|
-
* ```
|
|
368
|
-
* function MyComponent() {
|
|
369
|
-
* return <ConversationEmbed preRenderId="someId" worksheetId="id" />
|
|
370
|
-
* }
|
|
371
|
-
* ```
|
|
372
|
-
*/
|
|
373
|
-
export const PreRenderedConversationEmbed = componentFactory<
|
|
374
|
-
typeof _ConversationEmbed,
|
|
375
|
-
SageEmbedProps & PreRenderProps,
|
|
376
|
-
ConversationViewConfig
|
|
377
|
-
>(_ConversationEmbed, true);
|
|
378
|
-
|
|
379
332
|
type EmbedComponent = typeof SearchEmbed
|
|
380
333
|
| typeof AppEmbed
|
|
381
334
|
| typeof LiveboardEmbed
|
|
382
335
|
| typeof SearchBarEmbed
|
|
383
|
-
| typeof SageEmbed
|
|
384
|
-
| typeof ConversationEmbed;
|
|
336
|
+
| typeof SageEmbed;
|
|
385
337
|
|
|
386
338
|
/**
|
|
387
339
|
* Get a reference to the embed component to trigger events on the component.
|
|
@@ -400,7 +352,7 @@ type EmbedComponent = typeof SearchEmbed
|
|
|
400
352
|
* @returns {React.MutableRefObject<T extends TsEmbed>} ref
|
|
401
353
|
*/
|
|
402
354
|
export function useEmbedRef<T extends EmbedComponent>():
|
|
403
|
-
|
|
355
|
+
React.MutableRefObject<React.ComponentRef<T>> {
|
|
404
356
|
return React.useRef<React.ComponentRef<T>>(null);
|
|
405
357
|
}
|
|
406
358
|
|
package/src/test/test-utils.ts
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { has } from 'lodash';
|
|
2
1
|
import { version } from '../../package.json';
|
|
3
2
|
import { Action, AuthType } from '../types';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
Initialises fetch to the global object
|
|
7
6
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
json: () => ({ mixpanelAccessToken: '' }),
|
|
12
|
-
}));
|
|
13
|
-
}
|
|
7
|
+
global.fetch = jest.fn(() => Promise.resolve({
|
|
8
|
+
json: () => ({ mixpanelAccessToken: '' }),
|
|
9
|
+
}));
|
|
14
10
|
|
|
15
11
|
export const defaultParamsWithoutHiddenActions = `hostAppUrl=local-host&viewPortHeight=768&viewPortWidth=1024&sdkVersion=${version}&authType=${AuthType.None}&blockNonEmbedFullAppAccess=true`;
|
|
16
12
|
export const defaultParams = `&${defaultParamsWithoutHiddenActions}&hideAction=[%22${Action.ReportError}%22]`;
|
|
@@ -110,27 +106,6 @@ export const expectUrlMatchesWithParams = (source: string, target: string) => {
|
|
|
110
106
|
const sourceParamsObj = Object.fromEntries(sourceUrl.searchParams);
|
|
111
107
|
const targetParamsObj = Object.fromEntries(targetUrl.searchParams);
|
|
112
108
|
expect(sourceParamsObj).toMatchObject(targetParamsObj);
|
|
113
|
-
|
|
114
|
-
const sourceHashParams = getHashQueryParams(sourceUrl.hash);
|
|
115
|
-
const targetHashParams = getHashQueryParams(targetUrl.hash);
|
|
116
|
-
expect(sourceHashParams).toMatchObject(targetHashParams);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export const expectUrlToHaveParamsWithValues = (
|
|
120
|
-
url: string, paramsWithValues: Record<string, any>,
|
|
121
|
-
) => {
|
|
122
|
-
const urlObj = new URL(url);
|
|
123
|
-
const urlParams = Object.fromEntries(urlObj.searchParams);
|
|
124
|
-
|
|
125
|
-
const sourceHashParams = getHashQueryParams(urlObj.hash);
|
|
126
|
-
const sourceParams = {
|
|
127
|
-
...urlParams, ...sourceHashParams,
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
Object.entries(paramsWithValues).forEach(([key, value]) => {
|
|
131
|
-
expect(has(sourceParams, key)).toBeTruthy();
|
|
132
|
-
expect(`${sourceParams[key]}`).toBe(`${value}`);
|
|
133
|
-
});
|
|
134
109
|
};
|
|
135
110
|
|
|
136
111
|
export const expectUrlMatch = (source: string, target: string) => {
|
|
@@ -148,21 +123,3 @@ export const createRootEleForEmbed = () => {
|
|
|
148
123
|
rootEle.appendChild(tsEmbedDiv);
|
|
149
124
|
document.body.appendChild(rootEle);
|
|
150
125
|
};
|
|
151
|
-
|
|
152
|
-
export const getHashQueryParams = (hash: string): any => {
|
|
153
|
-
const params = hash.split('?')[1];
|
|
154
|
-
const hashParams = new URLSearchParams(params);
|
|
155
|
-
return Object.fromEntries(hashParams);
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
export const mockSessionInfo = {
|
|
159
|
-
userGUID: '1234',
|
|
160
|
-
mixpanelToken: 'abc123',
|
|
161
|
-
isPublicUser: false,
|
|
162
|
-
sessionId: '6588e7d9-710c-453e-a7b4-535fb3a8cbb2',
|
|
163
|
-
genNo: 3,
|
|
164
|
-
acSession: {
|
|
165
|
-
sessionId: 'cb202c48-b14b-4466-8a70-899ea666d46q',
|
|
166
|
-
genNo: 5,
|
|
167
|
-
},
|
|
168
|
-
};
|
package/src/types.ts
CHANGED
|
@@ -1054,6 +1054,19 @@ export interface ViewConfig {
|
|
|
1054
1054
|
* ```
|
|
1055
1055
|
*/
|
|
1056
1056
|
dataPanelV2?: boolean;
|
|
1057
|
+
/**
|
|
1058
|
+
* To enable custom column groups in data panel v2
|
|
1059
|
+
* @version SDK: 1.32.0 | Thoughtspot: 10.0.0.cl
|
|
1060
|
+
* @default false
|
|
1061
|
+
* @example
|
|
1062
|
+
* ```js
|
|
1063
|
+
* const embed = new SearchEmbed('#tsEmbed', {
|
|
1064
|
+
* ... // other options
|
|
1065
|
+
* enableCustomColumnGroups: true,
|
|
1066
|
+
* });
|
|
1067
|
+
* ```
|
|
1068
|
+
*/
|
|
1069
|
+
enableCustomColumnGroups?: boolean;
|
|
1057
1070
|
}
|
|
1058
1071
|
|
|
1059
1072
|
/**
|
|
@@ -113,17 +113,10 @@ describe('Unit test for authService', () => {
|
|
|
113
113
|
}));
|
|
114
114
|
try {
|
|
115
115
|
await fetchSessionInfoService(authVerificationUrl);
|
|
116
|
-
} catch (e) {
|
|
117
|
-
//
|
|
118
|
-
}
|
|
119
|
-
expect(logger.error).toHaveBeenCalledWith('Failed to fetch http://localhost:3000/callosum/v1/session/info', 'error');
|
|
120
|
-
|
|
121
|
-
try {
|
|
122
|
-
await fetchBasicAuthService(thoughtSpotHost, username, password);
|
|
123
116
|
} catch (e) {
|
|
124
117
|
expect(e.message).toContain('Failed to fetch session info');
|
|
125
118
|
}
|
|
126
|
-
expect(logger.error).toHaveBeenCalledWith('
|
|
119
|
+
expect(logger.error).toHaveBeenCalledWith('Failed to fetch http://localhost:3000/callosum/v1/session/info', 'error');
|
|
127
120
|
});
|
|
128
121
|
|
|
129
122
|
test('verifyTokenService if token api works', async () => {
|
|
@@ -18,6 +18,7 @@ function tokenizedFailureLoggedFetch(url: string, options: RequestInit = {}): Pr
|
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Fetches the session info from the ThoughtSpot server.
|
|
21
|
+
*
|
|
21
22
|
* @param thoughtspotHost
|
|
22
23
|
* @returns {Promise<any>}
|
|
23
24
|
* @example
|
|
@@ -51,6 +52,7 @@ export async function fetchLogoutService(thoughtSpotHost: string): Promise<any>
|
|
|
51
52
|
|
|
52
53
|
/**
|
|
53
54
|
* Is active service to check if the user is logged in.
|
|
55
|
+
*
|
|
54
56
|
* @param thoughtSpotHost
|
|
55
57
|
* @version SDK: 1.28.4 | ThoughtSpot: *
|
|
56
58
|
*/
|
|
@@ -104,7 +104,6 @@ export const getAnswer = `
|
|
|
104
104
|
}
|
|
105
105
|
visualizations {
|
|
106
106
|
... on TableViz {
|
|
107
|
-
id
|
|
108
107
|
columns {
|
|
109
108
|
column {
|
|
110
109
|
id
|
|
@@ -116,9 +115,6 @@ export const getAnswer = `
|
|
|
116
115
|
}
|
|
117
116
|
}
|
|
118
117
|
}
|
|
119
|
-
... on ChartViz {
|
|
120
|
-
id
|
|
121
|
-
}
|
|
122
118
|
}
|
|
123
119
|
}
|
|
124
120
|
}
|
|
@@ -176,23 +172,3 @@ export const getSQLQuery = `
|
|
|
176
172
|
}
|
|
177
173
|
}
|
|
178
174
|
`;
|
|
179
|
-
|
|
180
|
-
export const getAnswerTML = `
|
|
181
|
-
mutation GetUnsavedAnswerTML($session: BachSessionIdInput!, $exportDependencies: Boolean, $formatType: EDocFormatType, $exportPermissions: Boolean, $exportFqn: Boolean) {
|
|
182
|
-
UnsavedAnswer_getTML(
|
|
183
|
-
session: $session
|
|
184
|
-
exportDependencies: $exportDependencies
|
|
185
|
-
formatType: $formatType
|
|
186
|
-
exportPermissions: $exportPermissions
|
|
187
|
-
exportFqn: $exportFqn
|
|
188
|
-
) {
|
|
189
|
-
zipFile
|
|
190
|
-
object {
|
|
191
|
-
edoc
|
|
192
|
-
name
|
|
193
|
-
type
|
|
194
|
-
__typename
|
|
195
|
-
}
|
|
196
|
-
__typename
|
|
197
|
-
}
|
|
198
|
-
}`;
|