@thoughtspot/visual-embed-sdk 1.27.9 → 1.27.11
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 +2 -2
- package/cjs/src/embed/app.d.ts +144 -7
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +5 -5
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/app.spec.js +19 -1
- package/cjs/src/embed/app.spec.js.map +1 -1
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +0 -3
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/embed.spec.js +0 -15
- package/cjs/src/embed/embed.spec.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +113 -4
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +2 -2
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +20 -1
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/pinboard.spec.js +20 -1
- package/cjs/src/embed/pinboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts +1 -1
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +2 -2
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts +37 -6
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js +2 -2
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts +80 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +3 -3
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/search.spec.js +25 -1
- package/cjs/src/embed/search.spec.js.map +1 -1
- package/cjs/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/cjs/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/cjs/src/embed/ts-embed-trigger.spec.js +34 -0
- package/cjs/src/embed/ts-embed-trigger.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.d.ts +1 -1
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +14 -11
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +50 -17
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/index.d.ts +5 -3
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +6 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/mixpanel-service.d.ts +1 -0
- package/cjs/src/mixpanel-service.d.ts.map +1 -1
- package/cjs/src/mixpanel-service.js +1 -0
- package/cjs/src/mixpanel-service.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.spec.js +1 -1
- package/cjs/src/react/index.spec.js.map +1 -1
- package/cjs/src/test/test-utils.d.ts +1 -0
- package/cjs/src/test/test-utils.d.ts.map +1 -1
- package/cjs/src/test/test-utils.js +10 -1
- package/cjs/src/test/test-utils.js.map +1 -1
- package/cjs/src/tokenizedFetch.d.ts +9 -0
- package/cjs/src/tokenizedFetch.d.ts.map +1 -1
- package/cjs/src/tokenizedFetch.js +9 -0
- package/cjs/src/tokenizedFetch.js.map +1 -1
- package/cjs/src/types.d.ts +295 -44
- package/cjs/src/types.d.ts.map +1 -1
- package/cjs/src/types.js +119 -21
- package/cjs/src/types.js.map +1 -1
- package/cjs/src/utils/authService/authService.d.ts.map +1 -1
- package/cjs/src/utils/authService/authService.js +8 -2
- package/cjs/src/utils/authService/authService.js.map +1 -1
- package/cjs/src/utils/authService/authService.spec.js +22 -0
- package/cjs/src/utils/authService/authService.spec.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +56 -2
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +55 -0
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/dist/src/embed/app.d.ts +144 -7
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +113 -4
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts +1 -1
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts +37 -6
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts +80 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/dist/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.d.ts +1 -1
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/mixpanel-service.d.ts +1 -0
- package/dist/src/mixpanel-service.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/test/test-utils.d.ts +1 -0
- package/dist/src/test/test-utils.d.ts.map +1 -1
- package/dist/src/tokenizedFetch.d.ts +9 -0
- package/dist/src/tokenizedFetch.d.ts.map +1 -1
- package/dist/src/types.d.ts +295 -44
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/authService/authService.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +56 -2
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +219 -47
- package/dist/tsembed-react.js +212 -47
- package/dist/tsembed.es.js +336 -167
- package/dist/tsembed.js +15335 -15170
- package/dist/visual-embed-sdk-react-full.d.ts +769 -66
- package/dist/visual-embed-sdk-react.d.ts +769 -66
- package/dist/visual-embed-sdk.d.ts +769 -66
- package/lib/package.json +2 -2
- package/lib/src/embed/app.d.ts +144 -7
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +5 -5
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/app.spec.js +19 -1
- package/lib/src/embed/app.spec.js.map +1 -1
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +0 -3
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/embed.spec.js +2 -17
- package/lib/src/embed/embed.spec.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +113 -4
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +3 -3
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +20 -1
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/pinboard.spec.js +20 -1
- package/lib/src/embed/pinboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts +1 -1
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +2 -2
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts +37 -6
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +2 -2
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts +80 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +3 -3
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/search.spec.js +25 -1
- package/lib/src/embed/search.spec.js.map +1 -1
- package/lib/src/embed/ts-embed-trigger.spec.d.ts +2 -0
- package/lib/src/embed/ts-embed-trigger.spec.d.ts.map +1 -0
- package/lib/src/embed/ts-embed-trigger.spec.js +32 -0
- package/lib/src/embed/ts-embed-trigger.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.d.ts +1 -1
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +14 -11
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +44 -11
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/index.d.ts +5 -3
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +3 -3
- package/lib/src/index.js.map +1 -1
- package/lib/src/mixpanel-service.d.ts +1 -0
- package/lib/src/mixpanel-service.d.ts.map +1 -1
- package/lib/src/mixpanel-service.js +1 -0
- package/lib/src/mixpanel-service.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.spec.js +1 -1
- package/lib/src/react/index.spec.js.map +1 -1
- package/lib/src/test/test-utils.d.ts +1 -0
- package/lib/src/test/test-utils.d.ts.map +1 -1
- package/lib/src/test/test-utils.js +8 -0
- package/lib/src/test/test-utils.js.map +1 -1
- package/lib/src/tokenizedFetch.d.ts +9 -0
- package/lib/src/tokenizedFetch.d.ts.map +1 -1
- package/lib/src/tokenizedFetch.js +9 -0
- package/lib/src/tokenizedFetch.js.map +1 -1
- package/lib/src/types.d.ts +295 -44
- package/lib/src/types.d.ts.map +1 -1
- package/lib/src/types.js +119 -21
- package/lib/src/types.js.map +1 -1
- package/lib/src/utils/authService/authService.d.ts.map +1 -1
- package/lib/src/utils/authService/authService.js +8 -2
- package/lib/src/utils/authService/authService.js.map +1 -1
- package/lib/src/utils/authService/authService.spec.js +22 -0
- package/lib/src/utils/authService/authService.spec.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +56 -2
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +55 -0
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +778 -69
- package/package.json +2 -2
- package/src/embed/app.spec.ts +24 -1
- package/src/embed/app.ts +148 -13
- package/src/embed/base.ts +1 -5
- package/src/embed/embed.spec.ts +0 -18
- package/src/embed/liveboard.spec.ts +24 -1
- package/src/embed/liveboard.ts +121 -15
- package/src/embed/pinboard.spec.ts +24 -1
- package/src/embed/sage.ts +2 -2
- package/src/embed/search-bar.tsx +38 -7
- package/src/embed/search.spec.ts +29 -1
- package/src/embed/search.ts +82 -3
- package/src/embed/ts-embed-trigger.spec.ts +39 -0
- package/src/embed/ts-embed.spec.ts +46 -11
- package/src/embed/ts-embed.ts +18 -14
- package/src/index.ts +12 -1
- package/src/mixpanel-service.ts +1 -0
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.spec.tsx +1 -0
- package/src/test/test-utils.ts +9 -0
- package/src/tokenizedFetch.ts +9 -0
- package/src/types.ts +296 -42
- package/src/utils/authService/authService.spec.ts +27 -0
- package/src/utils/authService/authService.ts +13 -12
- package/src/utils/graphql/answerService/answerService.ts +56 -1
|
@@ -72,15 +72,15 @@ export async function fetchAuthService(
|
|
|
72
72
|
username: string,
|
|
73
73
|
authToken: string,
|
|
74
74
|
): Promise<any> {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
{
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
);
|
|
75
|
+
const fetchUrlParams = username
|
|
76
|
+
? `username=${username}&auth_token=${authToken}`
|
|
77
|
+
: `auth_token=${authToken}`;
|
|
78
|
+
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}?${fetchUrlParams}`, {
|
|
79
|
+
credentials: 'include',
|
|
80
|
+
// We do not want to follow the redirect, as it starts giving a CORS
|
|
81
|
+
// error
|
|
82
|
+
redirect: 'manual',
|
|
83
|
+
});
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
@@ -94,15 +94,16 @@ export async function fetchAuthPostService(
|
|
|
94
94
|
username: string,
|
|
95
95
|
authToken: string,
|
|
96
96
|
): Promise<any> {
|
|
97
|
+
const bodyPrams = username
|
|
98
|
+
? `username=${encodeURIComponent(username)}&auth_token=${encodeURIComponent(authToken)}`
|
|
99
|
+
: `auth_token=${encodeURIComponent(authToken)}`;
|
|
97
100
|
return failureLoggedFetch(`${thoughtSpotHost}${EndPoints.TOKEN_LOGIN}`, {
|
|
98
101
|
method: 'POST',
|
|
99
102
|
headers: {
|
|
100
103
|
'content-type': 'application/x-www-form-urlencoded',
|
|
101
104
|
'x-requested-by': 'ThoughtSpot',
|
|
102
105
|
},
|
|
103
|
-
body:
|
|
104
|
-
authToken,
|
|
105
|
-
)}`,
|
|
106
|
+
body: bodyPrams,
|
|
106
107
|
credentials: 'include',
|
|
107
108
|
// We do not want to follow the redirect, as it starts giving a CORS
|
|
108
109
|
// error
|
|
@@ -17,7 +17,7 @@ export enum OperationType {
|
|
|
17
17
|
GetTableWithHeadlineData = 'GetTableWithHeadlineData',
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
interface UnderlyingDataPoint {
|
|
20
|
+
export interface UnderlyingDataPoint {
|
|
21
21
|
columnId: string;
|
|
22
22
|
dataValue: any;
|
|
23
23
|
}
|
|
@@ -41,6 +41,14 @@ interface UnderlyingDataPoint {
|
|
|
41
41
|
* @group Events
|
|
42
42
|
*/
|
|
43
43
|
export class AnswerService {
|
|
44
|
+
/**
|
|
45
|
+
* Should not need to be called directly.
|
|
46
|
+
*
|
|
47
|
+
* @param session
|
|
48
|
+
* @param answer
|
|
49
|
+
* @param thoughtSpotHost
|
|
50
|
+
* @param selectedPoints
|
|
51
|
+
*/
|
|
44
52
|
constructor(
|
|
45
53
|
private session: SessionInterface,
|
|
46
54
|
private answer: any,
|
|
@@ -50,6 +58,10 @@ export class AnswerService {
|
|
|
50
58
|
this.session = removeTypename(session);
|
|
51
59
|
}
|
|
52
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Get the details about the source used in the answer.
|
|
63
|
+
* This can be used to get the list of all columns in the data source for example.
|
|
64
|
+
*/
|
|
53
65
|
public async getSourceDetail() {
|
|
54
66
|
const sourceId = this.answer.sources[0].header.guid;
|
|
55
67
|
return getSourceDetail(
|
|
@@ -58,6 +70,12 @@ export class AnswerService {
|
|
|
58
70
|
);
|
|
59
71
|
}
|
|
60
72
|
|
|
73
|
+
/**
|
|
74
|
+
* Remove columnIds and return updated answer session.
|
|
75
|
+
*
|
|
76
|
+
* @param columnIds
|
|
77
|
+
* @returns
|
|
78
|
+
*/
|
|
61
79
|
public async removeColumns(columnIds: string[]) {
|
|
62
80
|
return this.executeQuery(
|
|
63
81
|
queries.removeColumns,
|
|
@@ -67,6 +85,12 @@ export class AnswerService {
|
|
|
67
85
|
);
|
|
68
86
|
}
|
|
69
87
|
|
|
88
|
+
/**
|
|
89
|
+
* Add columnIds and return updated answer session.
|
|
90
|
+
*
|
|
91
|
+
* @param columnIds
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
70
94
|
public async addColumns(columnIds: string[]) {
|
|
71
95
|
return this.executeQuery(
|
|
72
96
|
queries.addColumns,
|
|
@@ -76,6 +100,13 @@ export class AnswerService {
|
|
|
76
100
|
);
|
|
77
101
|
}
|
|
78
102
|
|
|
103
|
+
/**
|
|
104
|
+
* Fetch data from the answer.
|
|
105
|
+
*
|
|
106
|
+
* @param offset
|
|
107
|
+
* @param size
|
|
108
|
+
* @returns
|
|
109
|
+
*/
|
|
79
110
|
public async fetchData(offset = 0, size = 1000) {
|
|
80
111
|
const { answer } = await this.executeQuery(
|
|
81
112
|
queries.getAnswerData,
|
|
@@ -98,6 +129,8 @@ export class AnswerService {
|
|
|
98
129
|
}
|
|
99
130
|
|
|
100
131
|
/**
|
|
132
|
+
* Fetch the data for the answer as a CSV blob. This might be
|
|
133
|
+
* quicker for larger data.
|
|
101
134
|
*
|
|
102
135
|
* @param userLocale
|
|
103
136
|
* @param includeInfo Include the CSV header in the output
|
|
@@ -110,12 +143,22 @@ export class AnswerService {
|
|
|
110
143
|
});
|
|
111
144
|
}
|
|
112
145
|
|
|
146
|
+
/**
|
|
147
|
+
* Just get the internal URL for this answer's data
|
|
148
|
+
* as a CSV blob.
|
|
149
|
+
*
|
|
150
|
+
* @param userLocale
|
|
151
|
+
* @param includeInfo
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
113
154
|
public getFetchCSVBlobUrl(userLocale = 'en-us', includeInfo = false): string {
|
|
114
155
|
return `${this.thoughtSpotHost}/prism/download/answer/csv?sessionId=${this.session.sessionId}&genNo=${this.session.genNo}&userLocale=${userLocale}&exportFileName=data&hideCsvHeader=${!includeInfo}`;
|
|
115
156
|
}
|
|
116
157
|
|
|
117
158
|
/**
|
|
118
159
|
* Get underlying data given a point and the output column names.
|
|
160
|
+
* In case of a context menu action, the selectedPoints are
|
|
161
|
+
* automatically passed.
|
|
119
162
|
*
|
|
120
163
|
* @param outputColumnNames
|
|
121
164
|
* @param selectedPoints
|
|
@@ -179,6 +222,13 @@ export class AnswerService {
|
|
|
179
222
|
return unaggAnswerSession;
|
|
180
223
|
}
|
|
181
224
|
|
|
225
|
+
/**
|
|
226
|
+
* Execute a custom graphql query in the context of the answer.
|
|
227
|
+
*
|
|
228
|
+
* @param query graphql query
|
|
229
|
+
* @param variables graphql variables
|
|
230
|
+
* @returns
|
|
231
|
+
*/
|
|
182
232
|
public async executeQuery(query: string, variables: any): Promise<any> {
|
|
183
233
|
const data = await graphqlQuery({
|
|
184
234
|
query,
|
|
@@ -194,6 +244,11 @@ export class AnswerService {
|
|
|
194
244
|
return data;
|
|
195
245
|
}
|
|
196
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Get the internal session details for the answer.
|
|
249
|
+
*
|
|
250
|
+
* @returns
|
|
251
|
+
*/
|
|
197
252
|
public getSession() {
|
|
198
253
|
return this.session;
|
|
199
254
|
}
|