@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.
Files changed (72) hide show
  1. package/cjs/package.json +4 -3
  2. package/cjs/src/embed/base.d.ts +2 -0
  3. package/cjs/src/embed/base.d.ts.map +1 -1
  4. package/cjs/src/embed/base.js +2 -0
  5. package/cjs/src/embed/base.js.map +1 -1
  6. package/cjs/src/index.d.ts +2 -1
  7. package/cjs/src/index.d.ts.map +1 -1
  8. package/cjs/src/index.js +3 -1
  9. package/cjs/src/index.js.map +1 -1
  10. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  11. package/cjs/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  12. package/cjs/src/utils/graphql/answerService/answer-queries.js +24 -1
  13. package/cjs/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  14. package/cjs/src/utils/graphql/answerService/answerService.d.ts +2 -0
  15. package/cjs/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  16. package/cjs/src/utils/graphql/answerService/answerService.js +34 -8
  17. package/cjs/src/utils/graphql/answerService/answerService.js.map +1 -1
  18. package/cjs/src/utils/liveboardService/liveboardService.d.ts +3 -0
  19. package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  20. package/cjs/src/utils/liveboardService/liveboardService.js +45 -0
  21. package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -0
  22. package/dist/src/embed/base.d.ts +2 -0
  23. package/dist/src/embed/base.d.ts.map +1 -1
  24. package/dist/src/index.d.ts +2 -1
  25. package/dist/src/index.d.ts.map +1 -1
  26. package/dist/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  27. package/dist/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  28. package/dist/src/utils/graphql/answerService/answerService.d.ts +2 -0
  29. package/dist/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  30. package/dist/src/utils/liveboardService/liveboardService.d.ts +3 -0
  31. package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  32. package/dist/tsembed-react.es.js +74 -10
  33. package/dist/tsembed-react.js +74 -10
  34. package/dist/tsembed.es.js +115 -11
  35. package/dist/tsembed.js +115 -10
  36. package/dist/visual-embed-sdk-react-full.d.ts +7 -1
  37. package/dist/visual-embed-sdk-react.d.ts +7 -1
  38. package/dist/visual-embed-sdk.d.ts +7 -1
  39. package/lib/package.json +4 -3
  40. package/lib/src/embed/base.d.ts +2 -0
  41. package/lib/src/embed/base.d.ts.map +1 -1
  42. package/lib/src/embed/base.js +2 -0
  43. package/lib/src/embed/base.js.map +1 -1
  44. package/lib/src/index.d.ts +2 -1
  45. package/lib/src/index.d.ts.map +1 -1
  46. package/lib/src/index.js +2 -1
  47. package/lib/src/index.js.map +1 -1
  48. package/lib/src/utils/graphql/answerService/answer-queries.d.ts +1 -0
  49. package/lib/src/utils/graphql/answerService/answer-queries.d.ts.map +1 -1
  50. package/lib/src/utils/graphql/answerService/answer-queries.js +23 -0
  51. package/lib/src/utils/graphql/answerService/answer-queries.js.map +1 -1
  52. package/lib/src/utils/graphql/answerService/answerService.d.ts +2 -0
  53. package/lib/src/utils/graphql/answerService/answerService.d.ts.map +1 -1
  54. package/lib/src/utils/graphql/answerService/answerService.js +34 -8
  55. package/lib/src/utils/graphql/answerService/answerService.js.map +1 -1
  56. package/lib/src/utils/liveboardService/liveboardService.d.ts +3 -0
  57. package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -0
  58. package/lib/src/utils/liveboardService/liveboardService.js +41 -0
  59. package/lib/src/utils/liveboardService/liveboardService.js.map +1 -0
  60. package/lib/src/visual-embed-sdk.d.ts +11 -1
  61. package/package.json +4 -3
  62. package/src/embed/base.ts +2 -0
  63. package/src/index.ts +2 -0
  64. package/src/utils/graphql/answerService/answer-queries.ts +24 -0
  65. package/src/utils/graphql/answerService/answerService.ts +49 -10
  66. package/src/utils/liveboardService/liveboardService.ts +51 -0
  67. package/dist/assets/main-DT_ac2DB.js +0 -264
  68. package/dist/local/index.html +0 -34
  69. package/dist/src/utils/graphql/conversationService/conversation-queries.d.ts +0 -3
  70. package/dist/src/utils/graphql/conversationService/conversation-queries.d.ts.map +0 -1
  71. package/dist/src/utils/graphql/conversationService/conversation-service.d.ts +0 -12
  72. 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
- if (!answer) {
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.answer).sources[0].header.guid;
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":"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"}
1
+ {"version":3,"file":"answerService.js","sourceRoot":"","sources":["../../../../../src/utils/graphql/answerService/answerService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AnswerService } from '../graphql/answerService/answerService';
2
+ export declare const createLiveboardWithAnswers: (answers: AnswerService[], name: string) => Promise<any>;
3
+ //# sourceMappingURL=liveboardService.d.ts.map
@@ -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
- export { init, logout, prefetch, executeTML, exportTML, executeTMLInput, exportTMLInput, getEmbedConfig as getInitConfig, getSessionInfo, tokenizedFetch, getAnswerFromQuery, 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, };
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.5",
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
- if (!answer) {
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.answer).sources[0].header.guid;
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
+ };