@thoughtspot/visual-embed-sdk 1.32.4-dc.5 → 1.32.4-dc.7
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 +4 -3
- package/cjs/src/embed/base.d.ts +2 -0
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +2 -0
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/index.d.ts +2 -1
- package/cjs/src/index.d.ts.map +1 -1
- package/cjs/src/index.js +3 -1
- package/cjs/src/index.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
- package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.js +24 -1
- package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -0
- package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/cjs/src/utils/graphql/answerService/answerService.js +34 -8
- package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
- 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 +45 -0
- package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/dist/src/embed/base.d.ts +2 -0
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
- package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -0
- package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
- package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
- package/dist/tsembed-react.es.js +74 -10
- package/dist/tsembed-react.js +74 -10
- package/dist/tsembed.es.js +115 -11
- package/dist/tsembed.js +115 -10
- package/dist/visual-embed-sdk-react-full.d.ts +7 -1
- package/dist/visual-embed-sdk-react.d.ts +7 -1
- package/dist/visual-embed-sdk.d.ts +7 -1
- package/lib/package.json +4 -3
- package/lib/src/embed/base.d.ts +2 -0
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +2 -0
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/index.d.ts +2 -1
- package/lib/src/index.d.ts.map +1 -1
- package/lib/src/index.js +2 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
- package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answer-queries.js +23 -0
- package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -0
- package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
- package/lib/src/utils/graphql/answerService/answerService.js +34 -8
- package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
- 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 +41 -0
- package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
- package/lib/src/visual-embed-sdk.d.ts +11 -1
- package/package.json +4 -3
- package/src/embed/base.ts +2 -0
- package/src/index.ts +2 -0
- package/src/utils/graphql/answerService/answer-queries.ts +24 -0
- package/src/utils/graphql/answerService/answerService.ts +49 -10
- package/src/utils/liveboardService/liveboardService.ts +51 -0
- package/dist/assets/main-DT_ac2DB.js +0 -264
- package/dist/local/index.html +0 -34
- package/dist/src/utils/graphql/conversationService/conversation-queries.d.ts +0 -3
- package/dist/src/utils/graphql/conversationService/conversation-queries.d.ts.map +0 -1
- package/dist/src/utils/graphql/conversationService/conversation-service.d.ts +0 -12
- package/dist/src/utils/graphql/conversationService/conversation-service.d.ts.map +0 -1
|
@@ -49,19 +49,14 @@ export class AnswerService {
|
|
|
49
49
|
this.thoughtSpotHost = thoughtSpotHost;
|
|
50
50
|
this.selectedPoints = selectedPoints;
|
|
51
51
|
this.session = removeTypename(session);
|
|
52
|
-
|
|
53
|
-
this.answer = this.executeQuery(queries.getAnswer, {}).then((data) => data === null || data === void 0 ? void 0 : data.answer);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
this.answer = answer;
|
|
57
|
-
}
|
|
52
|
+
this.answer = answer;
|
|
58
53
|
}
|
|
59
54
|
/**
|
|
60
55
|
* Get the details about the source used in the answer.
|
|
61
56
|
* This can be used to get the list of all columns in the data source for example.
|
|
62
57
|
*/
|
|
63
58
|
async getSourceDetail() {
|
|
64
|
-
const sourceId = (await this.
|
|
59
|
+
const sourceId = (await this.getAnswer()).sources[0].header.guid;
|
|
65
60
|
return getSourceDetail(this.thoughtSpotHost, sourceId);
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
@@ -253,9 +248,30 @@ export class AnswerService {
|
|
|
253
248
|
getSession() {
|
|
254
249
|
return this.session;
|
|
255
250
|
}
|
|
256
|
-
getAnswer() {
|
|
251
|
+
async getAnswer() {
|
|
252
|
+
if (this.answer) {
|
|
253
|
+
return this.answer;
|
|
254
|
+
}
|
|
255
|
+
this.answer = this.executeQuery(queries.getAnswer, {}).then((data) => data === null || data === void 0 ? void 0 : data.answer);
|
|
257
256
|
return this.answer;
|
|
258
257
|
}
|
|
258
|
+
async getTML() {
|
|
259
|
+
const { object } = await this.executeQuery(queries.getAnswerTML, {});
|
|
260
|
+
const edoc = object[0].edoc;
|
|
261
|
+
const YAML = await import(
|
|
262
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
263
|
+
// @ts-ignore
|
|
264
|
+
'https://cdn.skypack.dev/pin/yaml@v2.5.1-LhrxfZlDiReVYvv4kH95/mode=imports,min/optimized/yaml.js');
|
|
265
|
+
return YAML.parse(edoc);
|
|
266
|
+
}
|
|
267
|
+
async addDisplayedVizToLiveboard(liveboardId) {
|
|
268
|
+
const { displayMode, visualizations } = await this.getAnswer();
|
|
269
|
+
const viz = getDisplayedViz(visualizations, displayMode);
|
|
270
|
+
return this.executeQuery(queries.addVizToLiveboard, {
|
|
271
|
+
liveboardId,
|
|
272
|
+
vizId: viz.id,
|
|
273
|
+
});
|
|
274
|
+
}
|
|
259
275
|
}
|
|
260
276
|
/**
|
|
261
277
|
*
|
|
@@ -318,4 +334,14 @@ function getSelectedPointsForUnderlyingDataQuery(selectedPoints) {
|
|
|
318
334
|
});
|
|
319
335
|
return underlyingDataPoint;
|
|
320
336
|
}
|
|
337
|
+
function getDisplayedViz(visualizations, displayMode) {
|
|
338
|
+
if (displayMode === 'CHART_MODE') {
|
|
339
|
+
return visualizations.find(
|
|
340
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
341
|
+
(viz) => viz.__typename === 'ChartViz');
|
|
342
|
+
}
|
|
343
|
+
return visualizations.find(
|
|
344
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
345
|
+
(viz) => viz.__typename === 'TableViz');
|
|
346
|
+
}
|
|
321
347
|
//# sourceMappingURL=answerService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"answerService.js","sourceRoot":"","sources":["../../../../../src/utils/graphql/answerService/answerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAIzD,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAQ5C,qCAAqC;AACrC,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACrB,sDAAqC,CAAA;IACrC,sEAAqD,CAAA;AACzD,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,aAAa;IAGtB;;;;;;OAMG;IACH,YACY,OAAyB,EACjC,MAAW,EACH,eAAuB,EACvB,cAA2B;QAH3B,YAAO,GAAP,OAAO,CAAkB;QAEzB,oBAAe,GAAf,eAAe,CAAQ;QACvB,mBAAc,GAAd,cAAc,CAAa;QAEnC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"answerService.js","sourceRoot":"","sources":["../../../../../src/utils/graphql/answerService/answerService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveboardService.d.ts","sourceRoot":"","sources":["../../../../src/utils/liveboardService/liveboardService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAIvE,eAAO,MAAM,0BAA0B,YAC1B,aAAa,EAAE,QAClB,MAAM,KACb,QAAQ,GAAG,CA0Cb,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { tokenizedFetch } from '../../tokenizedFetch';
|
|
2
|
+
import { getEmbedConfig } from '../../embed/embedConfig';
|
|
3
|
+
import { executeTML } from '../../embed/base';
|
|
4
|
+
export const createLiveboardWithAnswers = async (answers, name) => {
|
|
5
|
+
const { thoughtSpotHost, authType } = getEmbedConfig();
|
|
6
|
+
const resp = await tokenizedFetch(`${thoughtSpotHost}/api/rest/2.0/metadata/search`, {
|
|
7
|
+
method: 'POST',
|
|
8
|
+
credentials: 'include',
|
|
9
|
+
body: JSON.stringify({
|
|
10
|
+
metadata: [{
|
|
11
|
+
type: 'LIVEBOARD',
|
|
12
|
+
identifier: name,
|
|
13
|
+
}],
|
|
14
|
+
}),
|
|
15
|
+
});
|
|
16
|
+
const lbList = await resp.json();
|
|
17
|
+
const liveboardId = lbList[0];
|
|
18
|
+
const answerTMLs = await Promise.all(answers.map((a) => a.getTML()));
|
|
19
|
+
const lbTml = {
|
|
20
|
+
liveboard: {
|
|
21
|
+
name,
|
|
22
|
+
guid: liveboardId,
|
|
23
|
+
visualizations: answerTMLs.map((tml, idx) => ({
|
|
24
|
+
id: `Viz_${idx}`,
|
|
25
|
+
answer: tml,
|
|
26
|
+
})),
|
|
27
|
+
layout: {
|
|
28
|
+
tiles: answerTMLs.map((tml, idx) => ({
|
|
29
|
+
visualization_id: `Viz_${idx}`,
|
|
30
|
+
size: 'MEDIUM_SMALL',
|
|
31
|
+
})),
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
const result = await executeTML({
|
|
36
|
+
metadata_tmls: [JSON.stringify(lbTml)],
|
|
37
|
+
import_policy: 'ALL_OR_NONE',
|
|
38
|
+
});
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=liveboardService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveboardService.js","sourceRoot":"","sources":["../../../../src/utils/liveboardService/liveboardService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC3C,OAAwB,EACxB,IAAY,EACA,EAAE;IACd,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,MAAM,cAAc,CAC7B,GAAG,eAAe,+BAA+B,EAAE;QAC/C,MAAM,EAAE,MAAM;QACd,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACjB,QAAQ,EAAE,CAAC;oBACP,IAAI,EAAE,WAAW;oBACjB,UAAU,EAAE,IAAI;iBACnB,CAAC;SACL,CAAC;KACL,CACJ,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAQ;QACf,SAAS,EAAE;YACP,IAAI;YACJ,IAAI,EAAE,WAAW;YACjB,cAAc,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC/C,EAAE,EAAE,OAAO,GAAG,EAAE;gBAChB,MAAM,EAAE,GAAG;aACd,CAAC,CAAC;YACH,MAAM,EAAE;gBACJ,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;oBACtC,gBAAgB,EAAE,OAAO,GAAG,EAAE;oBAC9B,IAAI,EAAE,cAAc;iBACvB,CAAC,CAAC;aACN;SACJ;KACJ,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;QAC5B,aAAa,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,aAAa,EAAE,aAAa;KAC/B,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -27,7 +27,8 @@ declare module '@thoughtspot/visual-embed-sdk' {
|
|
|
27
27
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from '@thoughtspot/visual-embed-sdk/mixpanel-service';
|
|
28
28
|
import { tokenizedFetch } from '@thoughtspot/visual-embed-sdk/tokenizedFetch';
|
|
29
29
|
import { getAnswerFromQuery } from '@thoughtspot/visual-embed-sdk/utils/graphql/spotterService/nls-answer-service';
|
|
30
|
-
|
|
30
|
+
import { createLiveboardWithAnswers } from '@thoughtspot/visual-embed-sdk/utils/liveboardService/liveboardService';
|
|
31
|
+
export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, createLiveboardWithAnswers, SearchEmbed, SearchBarEmbed, PinboardEmbed, LiveboardEmbed, SageEmbed, AppEmbed, Conversation, ConversationViewConfig, AuthFailureType, AuthStatus, AuthEvent, AuthEventEmitter, AnswerService, SessionInterface, UnderlyingDataPoint, Page, AuthType, RuntimeFilter, RuntimeFilterOp, EmbedEvent, HostEvent, DataSourceVisualMode, Action, ContextMenuTriggerOptions, EmbedConfig, SearchViewConfig, SearchBarViewConfig, LiveboardViewConfig, SageViewConfig, AppViewConfig, PrefetchFeatures, FrameParams, HomeLeftNavItem, HomepageModule, DOMSelector, MessageOptions, MessageCallback, MessagePayload, CustomisationsInterface, CustomStyles, customCssInterface, CustomCssVariables, RuntimeParameter, LogLevel, uploadMixpanelEvent, MIXPANEL_EVENT, VizPoint, CustomActionPayload, };
|
|
31
32
|
export { resetCachedAuthToken } from '@thoughtspot/visual-embed-sdk/authToken';
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -547,6 +548,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
|
|
|
547
548
|
/**
|
|
548
549
|
* Imports TML representation of the metadata objects into ThoughtSpot.
|
|
549
550
|
* @param data
|
|
551
|
+
* @returns Promise
|
|
550
552
|
* @example
|
|
551
553
|
* ```js
|
|
552
554
|
* executeTML({
|
|
@@ -571,6 +573,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
|
|
|
571
573
|
* Exports TML representation of the metadata objects from ThoughtSpot in JSON or YAML
|
|
572
574
|
* format.
|
|
573
575
|
* @param data
|
|
576
|
+
* @returns Promise
|
|
574
577
|
* @example
|
|
575
578
|
* ```js
|
|
576
579
|
exportTML({
|
|
@@ -6464,6 +6467,8 @@ declare module '@thoughtspot/visual-embed-sdk/utils/graphql/answerService/answer
|
|
|
6464
6467
|
*/
|
|
6465
6468
|
getSession(): SessionInterface;
|
|
6466
6469
|
getAnswer(): Promise<any>;
|
|
6470
|
+
getTML(): Promise<string>;
|
|
6471
|
+
addDisplayedVizToLiveboard(liveboardId: string): Promise<any>;
|
|
6467
6472
|
}
|
|
6468
6473
|
}
|
|
6469
6474
|
|
|
@@ -6553,6 +6558,11 @@ declare module '@thoughtspot/visual-embed-sdk/utils/graphql/spotterService/nls-a
|
|
|
6553
6558
|
export const getAnswerFromQuery: (query: string, worksheetId: string) => Promise<AnswerService>;
|
|
6554
6559
|
}
|
|
6555
6560
|
|
|
6561
|
+
declare module '@thoughtspot/visual-embed-sdk/utils/liveboardService/liveboardService' {
|
|
6562
|
+
import { AnswerService } from '@thoughtspot/visual-embed-sdk/utils/graphql/answerService/answerService';
|
|
6563
|
+
export const createLiveboardWithAnswers: (answers: AnswerService[], name: string) => Promise<any>;
|
|
6564
|
+
}
|
|
6565
|
+
|
|
6556
6566
|
declare module '@thoughtspot/visual-embed-sdk/authToken' {
|
|
6557
6567
|
import { EmbedConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
6558
6568
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thoughtspot/visual-embed-sdk",
|
|
3
|
-
"version": "1.32.4-dc.
|
|
3
|
+
"version": "1.32.4-dc.7",
|
|
4
4
|
"description": "ThoughtSpot Embed SDK",
|
|
5
5
|
"module": "lib/src/index.js",
|
|
6
6
|
"main": "dist/tsembed.js",
|
|
@@ -80,7 +80,8 @@
|
|
|
80
80
|
"mixpanel-browser": "^2.45.0",
|
|
81
81
|
"ts-deepmerge": "^6.0.2",
|
|
82
82
|
"tslib": "^2.5.3",
|
|
83
|
-
"use-deep-compare-effect": "^1.8.1"
|
|
83
|
+
"use-deep-compare-effect": "^1.8.1",
|
|
84
|
+
"yaml": "^2.5.1"
|
|
84
85
|
},
|
|
85
86
|
"devDependencies": {
|
|
86
87
|
"@mdx-js/mdx": "^1.6.22",
|
|
@@ -96,8 +97,8 @@
|
|
|
96
97
|
"@testing-library/react": "^11.2.7",
|
|
97
98
|
"@testing-library/user-event": "^13.1.8",
|
|
98
99
|
"@types/jest": "^22.2.3",
|
|
99
|
-
"@types/mixpanel-browser": "^2.35.6",
|
|
100
100
|
"@types/lodash": "^4.17.0",
|
|
101
|
+
"@types/mixpanel-browser": "^2.35.6",
|
|
101
102
|
"@types/react-test-renderer": "^17.0.1",
|
|
102
103
|
"@typescript-eslint/eslint-plugin": "^4.6.0",
|
|
103
104
|
"@typescript-eslint/parser": "^4.6.0",
|
package/src/embed/base.ts
CHANGED
|
@@ -259,6 +259,7 @@ export const renderInQueue = (fn: (next?: (val?: any) => void) => Promise<any>):
|
|
|
259
259
|
/**
|
|
260
260
|
* Imports TML representation of the metadata objects into ThoughtSpot.
|
|
261
261
|
* @param data
|
|
262
|
+
* @returns Promise
|
|
262
263
|
* @example
|
|
263
264
|
* ```js
|
|
264
265
|
* executeTML({
|
|
@@ -319,6 +320,7 @@ export const executeTML = async (data: executeTMLInput): Promise<any> => {
|
|
|
319
320
|
* Exports TML representation of the metadata objects from ThoughtSpot in JSON or YAML
|
|
320
321
|
* format.
|
|
321
322
|
* @param data
|
|
323
|
+
* @returns Promise
|
|
322
324
|
* @example
|
|
323
325
|
* ```js
|
|
324
326
|
exportTML({
|
package/src/index.ts
CHANGED
|
@@ -57,6 +57,7 @@ import { getEmbedConfig } from './embed/embedConfig';
|
|
|
57
57
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from './mixpanel-service';
|
|
58
58
|
import { tokenizedFetch } from './tokenizedFetch';
|
|
59
59
|
import { getAnswerFromQuery } from './utils/graphql/spotterService/nls-answer-service';
|
|
60
|
+
import { createLiveboardWithAnswers } from './utils/liveboardService/liveboardService';
|
|
60
61
|
|
|
61
62
|
export {
|
|
62
63
|
init,
|
|
@@ -70,6 +71,7 @@ export {
|
|
|
70
71
|
getSessionInfo,
|
|
71
72
|
tokenizedFetch,
|
|
72
73
|
getAnswerFromQuery,
|
|
74
|
+
createLiveboardWithAnswers,
|
|
73
75
|
SearchEmbed,
|
|
74
76
|
SearchBarEmbed,
|
|
75
77
|
PinboardEmbed,
|
|
@@ -104,6 +104,7 @@ export const getAnswer = `
|
|
|
104
104
|
}
|
|
105
105
|
visualizations {
|
|
106
106
|
... on TableViz {
|
|
107
|
+
id
|
|
107
108
|
columns {
|
|
108
109
|
column {
|
|
109
110
|
id
|
|
@@ -115,6 +116,9 @@ export const getAnswer = `
|
|
|
115
116
|
}
|
|
116
117
|
}
|
|
117
118
|
}
|
|
119
|
+
... on ChartViz {
|
|
120
|
+
id
|
|
121
|
+
}
|
|
118
122
|
}
|
|
119
123
|
}
|
|
120
124
|
}
|
|
@@ -172,3 +176,23 @@ export const getSQLQuery = `
|
|
|
172
176
|
}
|
|
173
177
|
}
|
|
174
178
|
`;
|
|
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
|
+
}`;
|
|
@@ -68,14 +68,7 @@ export class AnswerService {
|
|
|
68
68
|
private selectedPoints?: VizPoint[],
|
|
69
69
|
) {
|
|
70
70
|
this.session = removeTypename(session);
|
|
71
|
-
|
|
72
|
-
this.answer = this.executeQuery(
|
|
73
|
-
queries.getAnswer,
|
|
74
|
-
{},
|
|
75
|
-
).then((data) => data?.answer);
|
|
76
|
-
} else {
|
|
77
|
-
this.answer = answer;
|
|
78
|
-
}
|
|
71
|
+
this.answer = answer;
|
|
79
72
|
}
|
|
80
73
|
|
|
81
74
|
/**
|
|
@@ -83,7 +76,7 @@ export class AnswerService {
|
|
|
83
76
|
* This can be used to get the list of all columns in the data source for example.
|
|
84
77
|
*/
|
|
85
78
|
public async getSourceDetail() {
|
|
86
|
-
const sourceId = (await this.
|
|
79
|
+
const sourceId = (await this.getAnswer()).sources[0].header.guid;
|
|
87
80
|
return getSourceDetail(
|
|
88
81
|
this.thoughtSpotHost,
|
|
89
82
|
sourceId,
|
|
@@ -328,9 +321,42 @@ export class AnswerService {
|
|
|
328
321
|
return this.session;
|
|
329
322
|
}
|
|
330
323
|
|
|
331
|
-
public getAnswer() {
|
|
324
|
+
public async getAnswer() {
|
|
325
|
+
if (this.answer) {
|
|
326
|
+
return this.answer;
|
|
327
|
+
}
|
|
328
|
+
this.answer = this.executeQuery(
|
|
329
|
+
queries.getAnswer,
|
|
330
|
+
{},
|
|
331
|
+
).then((data) => data?.answer);
|
|
332
332
|
return this.answer;
|
|
333
333
|
}
|
|
334
|
+
|
|
335
|
+
public async getTML(): Promise<string> {
|
|
336
|
+
const { object } = await this.executeQuery(
|
|
337
|
+
queries.getAnswerTML,
|
|
338
|
+
{},
|
|
339
|
+
);
|
|
340
|
+
const edoc = object[0].edoc;
|
|
341
|
+
const YAML = await import(
|
|
342
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
343
|
+
// @ts-ignore
|
|
344
|
+
'https://cdn.skypack.dev/pin/yaml@v2.5.1-LhrxfZlDiReVYvv4kH95/mode=imports,min/optimized/yaml.js'
|
|
345
|
+
);
|
|
346
|
+
return YAML.parse(edoc);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
public async addDisplayedVizToLiveboard(liveboardId: string) {
|
|
350
|
+
const { displayMode, visualizations } = await this.getAnswer();
|
|
351
|
+
const viz = getDisplayedViz(visualizations, displayMode);
|
|
352
|
+
return this.executeQuery(
|
|
353
|
+
queries.addVizToLiveboard,
|
|
354
|
+
{
|
|
355
|
+
liveboardId,
|
|
356
|
+
vizId: viz.id,
|
|
357
|
+
},
|
|
358
|
+
);
|
|
359
|
+
}
|
|
334
360
|
}
|
|
335
361
|
|
|
336
362
|
/**
|
|
@@ -396,3 +422,16 @@ function getSelectedPointsForUnderlyingDataQuery(
|
|
|
396
422
|
});
|
|
397
423
|
return underlyingDataPoint;
|
|
398
424
|
}
|
|
425
|
+
|
|
426
|
+
function getDisplayedViz(visualizations: any[], displayMode: string) {
|
|
427
|
+
if (displayMode === 'CHART_MODE') {
|
|
428
|
+
return visualizations.find(
|
|
429
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
430
|
+
(viz: any) => viz.__typename === 'ChartViz',
|
|
431
|
+
);
|
|
432
|
+
}
|
|
433
|
+
return visualizations.find(
|
|
434
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
435
|
+
(viz: any) => viz.__typename === 'TableViz',
|
|
436
|
+
);
|
|
437
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { tokenizedFetch } from '../../tokenizedFetch';
|
|
2
|
+
import { AnswerService } from '../graphql/answerService/answerService';
|
|
3
|
+
import { getEmbedConfig } from '../../embed/embedConfig';
|
|
4
|
+
import { executeTML } from '../../embed/base';
|
|
5
|
+
|
|
6
|
+
export const createLiveboardWithAnswers = async (
|
|
7
|
+
answers: AnswerService[],
|
|
8
|
+
name: string,
|
|
9
|
+
): Promise<any> => {
|
|
10
|
+
const { thoughtSpotHost, authType } = getEmbedConfig();
|
|
11
|
+
const resp = await tokenizedFetch(
|
|
12
|
+
`${thoughtSpotHost}/api/rest/2.0/metadata/search`, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
credentials: 'include',
|
|
15
|
+
body: JSON.stringify({
|
|
16
|
+
metadata: [{
|
|
17
|
+
type: 'LIVEBOARD',
|
|
18
|
+
identifier: name,
|
|
19
|
+
}],
|
|
20
|
+
}),
|
|
21
|
+
},
|
|
22
|
+
);
|
|
23
|
+
const lbList = await resp.json();
|
|
24
|
+
const liveboardId = lbList[0];
|
|
25
|
+
|
|
26
|
+
const answerTMLs = await Promise.all(answers.map((a) => a.getTML()));
|
|
27
|
+
|
|
28
|
+
const lbTml: any = {
|
|
29
|
+
liveboard: {
|
|
30
|
+
name,
|
|
31
|
+
guid: liveboardId,
|
|
32
|
+
visualizations: answerTMLs.map((tml: any, idx) => ({
|
|
33
|
+
id: `Viz_${idx}`,
|
|
34
|
+
answer: tml,
|
|
35
|
+
})),
|
|
36
|
+
layout: {
|
|
37
|
+
tiles: answerTMLs.map((tml: any, idx) => ({
|
|
38
|
+
visualization_id: `Viz_${idx}`,
|
|
39
|
+
size: 'MEDIUM_SMALL',
|
|
40
|
+
})),
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const result = await executeTML({
|
|
46
|
+
metadata_tmls: [JSON.stringify(lbTml)],
|
|
47
|
+
import_policy: 'ALL_OR_NONE',
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
return result;
|
|
51
|
+
};
|