@thoughtspot/visual-embed-sdk 1.40.1-alpha.2 → 1.40.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/cjs/package.json +7 -6
  2. package/cjs/src/css-variables.d.ts +316 -0
  3. package/cjs/src/css-variables.d.ts.map +1 -1
  4. package/cjs/src/embed/app.d.ts +6 -1
  5. package/cjs/src/embed/app.d.ts.map +1 -1
  6. package/cjs/src/embed/app.js +22 -0
  7. package/cjs/src/embed/app.js.map +1 -1
  8. package/cjs/src/embed/app.spec.js +39 -2
  9. package/cjs/src/embed/app.spec.js.map +1 -1
  10. package/cjs/src/embed/bodyless-conversation.d.ts +0 -1
  11. package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
  12. package/cjs/src/embed/bodyless-conversation.js +3 -7
  13. package/cjs/src/embed/bodyless-conversation.js.map +1 -1
  14. package/cjs/src/embed/conversation.d.ts +63 -3
  15. package/cjs/src/embed/conversation.d.ts.map +1 -1
  16. package/cjs/src/embed/conversation.js +11 -8
  17. package/cjs/src/embed/conversation.js.map +1 -1
  18. package/cjs/src/embed/conversation.spec.js +102 -0
  19. package/cjs/src/embed/conversation.spec.js.map +1 -1
  20. package/cjs/src/embed/liveboard.d.ts +11 -3
  21. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  22. package/cjs/src/embed/liveboard.js +23 -33
  23. package/cjs/src/embed/liveboard.js.map +1 -1
  24. package/cjs/src/embed/liveboard.spec.js +182 -29
  25. package/cjs/src/embed/liveboard.spec.js.map +1 -1
  26. package/cjs/src/embed/sage.d.ts +0 -1
  27. package/cjs/src/embed/sage.d.ts.map +1 -1
  28. package/cjs/src/embed/sage.js +6 -10
  29. package/cjs/src/embed/sage.js.map +1 -1
  30. package/cjs/src/embed/search-bar.d.ts +0 -1
  31. package/cjs/src/embed/search-bar.d.ts.map +1 -1
  32. package/cjs/src/embed/search-bar.js +7 -11
  33. package/cjs/src/embed/search-bar.js.map +1 -1
  34. package/cjs/src/embed/search.d.ts +0 -1
  35. package/cjs/src/embed/search.d.ts.map +1 -1
  36. package/cjs/src/embed/search.js +8 -7
  37. package/cjs/src/embed/search.js.map +1 -1
  38. package/cjs/src/embed/ts-embed.d.ts +22 -9
  39. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  40. package/cjs/src/embed/ts-embed.js +75 -59
  41. package/cjs/src/embed/ts-embed.js.map +1 -1
  42. package/cjs/src/embed/ts-embed.spec.js +173 -1
  43. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  44. package/cjs/src/types.d.ts +154 -54
  45. package/cjs/src/types.d.ts.map +1 -1
  46. package/cjs/src/types.js +140 -52
  47. package/cjs/src/types.js.map +1 -1
  48. package/cjs/src/utils/liveboardService/liveboardService.d.ts +21 -6
  49. package/cjs/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  50. package/cjs/src/utils/liveboardService/liveboardService.js +21 -6
  51. package/cjs/src/utils/liveboardService/liveboardService.js.map +1 -1
  52. package/dist/{index-CmEQfuE3.js → index-P5YjBOuJ.js} +1 -1
  53. package/dist/src/css-variables.d.ts +316 -0
  54. package/dist/src/css-variables.d.ts.map +1 -1
  55. package/dist/src/embed/app.d.ts +6 -1
  56. package/dist/src/embed/app.d.ts.map +1 -1
  57. package/dist/src/embed/bodyless-conversation.d.ts +0 -1
  58. package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
  59. package/dist/src/embed/conversation.d.ts +63 -3
  60. package/dist/src/embed/conversation.d.ts.map +1 -1
  61. package/dist/src/embed/liveboard.d.ts +11 -3
  62. package/dist/src/embed/liveboard.d.ts.map +1 -1
  63. package/dist/src/embed/sage.d.ts +0 -1
  64. package/dist/src/embed/sage.d.ts.map +1 -1
  65. package/dist/src/embed/search-bar.d.ts +0 -1
  66. package/dist/src/embed/search-bar.d.ts.map +1 -1
  67. package/dist/src/embed/search.d.ts +0 -1
  68. package/dist/src/embed/search.d.ts.map +1 -1
  69. package/dist/src/embed/ts-embed.d.ts +22 -9
  70. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  71. package/dist/src/types.d.ts +154 -54
  72. package/dist/src/types.d.ts.map +1 -1
  73. package/dist/src/utils/liveboardService/liveboardService.d.ts +21 -6
  74. package/dist/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  75. package/dist/tsembed-react.es.js +298 -190
  76. package/dist/tsembed-react.js +297 -189
  77. package/dist/tsembed.es.js +319 -196
  78. package/dist/tsembed.js +318 -195
  79. package/dist/visual-embed-sdk-react-full.d.ts +583 -76
  80. package/dist/visual-embed-sdk-react.d.ts +583 -76
  81. package/dist/visual-embed-sdk.d.ts +583 -76
  82. package/lib/package.json +7 -6
  83. package/lib/src/css-variables.d.ts +316 -0
  84. package/lib/src/css-variables.d.ts.map +1 -1
  85. package/lib/src/embed/app.d.ts +6 -1
  86. package/lib/src/embed/app.d.ts.map +1 -1
  87. package/lib/src/embed/app.js +22 -0
  88. package/lib/src/embed/app.js.map +1 -1
  89. package/lib/src/embed/app.spec.js +39 -2
  90. package/lib/src/embed/app.spec.js.map +1 -1
  91. package/lib/src/embed/bodyless-conversation.d.ts +0 -1
  92. package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
  93. package/lib/src/embed/bodyless-conversation.js +3 -7
  94. package/lib/src/embed/bodyless-conversation.js.map +1 -1
  95. package/lib/src/embed/conversation.d.ts +63 -3
  96. package/lib/src/embed/conversation.d.ts.map +1 -1
  97. package/lib/src/embed/conversation.js +12 -9
  98. package/lib/src/embed/conversation.js.map +1 -1
  99. package/lib/src/embed/conversation.spec.js +104 -2
  100. package/lib/src/embed/conversation.spec.js.map +1 -1
  101. package/lib/src/embed/liveboard.d.ts +11 -3
  102. package/lib/src/embed/liveboard.d.ts.map +1 -1
  103. package/lib/src/embed/liveboard.js +23 -33
  104. package/lib/src/embed/liveboard.js.map +1 -1
  105. package/lib/src/embed/liveboard.spec.js +182 -29
  106. package/lib/src/embed/liveboard.spec.js.map +1 -1
  107. package/lib/src/embed/sage.d.ts +0 -1
  108. package/lib/src/embed/sage.d.ts.map +1 -1
  109. package/lib/src/embed/sage.js +6 -10
  110. package/lib/src/embed/sage.js.map +1 -1
  111. package/lib/src/embed/search-bar.d.ts +0 -1
  112. package/lib/src/embed/search-bar.d.ts.map +1 -1
  113. package/lib/src/embed/search-bar.js +7 -11
  114. package/lib/src/embed/search-bar.js.map +1 -1
  115. package/lib/src/embed/search.d.ts +0 -1
  116. package/lib/src/embed/search.d.ts.map +1 -1
  117. package/lib/src/embed/search.js +8 -7
  118. package/lib/src/embed/search.js.map +1 -1
  119. package/lib/src/embed/ts-embed.d.ts +22 -9
  120. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  121. package/lib/src/embed/ts-embed.js +75 -59
  122. package/lib/src/embed/ts-embed.js.map +1 -1
  123. package/lib/src/embed/ts-embed.spec.js +173 -1
  124. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  125. package/lib/src/types.d.ts +154 -54
  126. package/lib/src/types.d.ts.map +1 -1
  127. package/lib/src/types.js +140 -52
  128. package/lib/src/types.js.map +1 -1
  129. package/lib/src/utils/liveboardService/liveboardService.d.ts +21 -6
  130. package/lib/src/utils/liveboardService/liveboardService.d.ts.map +1 -1
  131. package/lib/src/utils/liveboardService/liveboardService.js +21 -6
  132. package/lib/src/utils/liveboardService/liveboardService.js.map +1 -1
  133. package/lib/src/visual-embed-sdk.d.ts +584 -77
  134. package/package.json +7 -6
  135. package/src/css-variables.ts +396 -1
  136. package/src/embed/app.spec.ts +54 -2
  137. package/src/embed/app.ts +24 -0
  138. package/src/embed/bodyless-conversation.ts +3 -9
  139. package/src/embed/conversation.spec.ts +131 -5
  140. package/src/embed/conversation.ts +87 -23
  141. package/src/embed/liveboard.spec.ts +233 -32
  142. package/src/embed/liveboard.ts +24 -39
  143. package/src/embed/sage.ts +6 -11
  144. package/src/embed/search-bar.tsx +7 -14
  145. package/src/embed/search.ts +7 -18
  146. package/src/embed/ts-embed.spec.ts +344 -112
  147. package/src/embed/ts-embed.ts +82 -70
  148. package/src/types.ts +153 -54
  149. package/src/utils/liveboardService/liveboardService.ts +21 -6
  150. package/dist/index-D1pyb7RG.js +0 -7371
  151. package/dist/index-DeFzsyFF.js +0 -7371
  152. package/dist/index-Dpf0rd6w.js +0 -7371
  153. package/dist/index-UuEbsISo.js +0 -7447
  154. package/dist/index-e3Uw3YFO.js +0 -7371
  155. package/dist/index-k7pkZMhx.js +0 -7371
@@ -408,12 +408,6 @@ export class LiveboardEmbed extends V1Embed {
408
408
  * embedded Liveboard or visualization.
409
409
  */
410
410
  protected getEmbedParams() {
411
- const params = this.getEmbedParamsObject();
412
- const queryParams = getQueryParamString(params, true);
413
- return queryParams;
414
- }
415
-
416
- protected getEmbedParamsObject() {
417
411
  let params: any = {};
418
412
  params = this.getBaseQueryParams(params);
419
413
  const {
@@ -517,33 +511,9 @@ export class LiveboardEmbed extends V1Embed {
517
511
  params[Param.DataPanelV2Enabled] = dataPanelV2;
518
512
  params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
519
513
  params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
514
+ const queryParams = getQueryParamString(params, true);
520
515
 
521
- if (oAuthPollingInterval !== undefined) {
522
- params[Param.OauthPollingInterval] = oAuthPollingInterval;
523
- }
524
-
525
- if (isForceRedirect) {
526
- params[Param.IsForceRedirect] = isForceRedirect;
527
- }
528
-
529
- if (dataSourceId !== undefined) {
530
- params[Param.DataSourceId] = dataSourceId;
531
- }
532
-
533
-
534
- if (isLiveboardStylingAndGroupingEnabled !== undefined) {
535
- params[Param.IsLiveboardStylingAndGroupingEnabled] = isLiveboardStylingAndGroupingEnabled;
536
- }
537
-
538
- params[Param.LiveboardHeaderSticky] = isLiveboardHeaderSticky;
539
- params[Param.LiveboardHeaderV2] = isLiveboardCompactHeaderEnabled;
540
- params[Param.ShowLiveboardVerifiedBadge] = showLiveboardVerifiedBadge;
541
- params[Param.ShowLiveboardReverifyBanner] = showLiveboardReverifyBanner;
542
- params[Param.HideIrrelevantFiltersInTab] = hideIrrelevantChipsInLiveboardTabs;
543
- params[Param.DataPanelV2Enabled] = dataPanelV2;
544
- params[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
545
- params[Param.CoverAndFilterOptionInPDF] = coverAndFilterOptionInPDF;
546
- return params;
516
+ return queryParams;
547
517
  }
548
518
 
549
519
  private getIframeSuffixSrc(liveboardId: string, vizId: string, activeTabId: string) {
@@ -674,12 +644,29 @@ export class LiveboardEmbed extends V1Embed {
674
644
  }
675
645
  }
676
646
 
647
+ /**
648
+ * @hidden
649
+ * Internal state to track the current liveboard id.
650
+ * This is used to navigate to the correct liveboard when the prerender is visible.
651
+ */
652
+ public currentLiveboardState = {
653
+ liveboardId: this.viewConfig.liveboardId,
654
+ vizId: this.viewConfig.vizId,
655
+ activeTabId: this.viewConfig.activeTabId,
656
+ };
657
+
677
658
  protected beforePrerenderVisible(): void {
678
659
  const embedObj = this.getPreRenderObj<LiveboardEmbed>();
679
660
 
680
- const libId = this.currentLiveboardId;
681
- this.navigateToLiveboard(libId, this.viewConfig.vizId, this.viewConfig.activeTabId, () => {
682
- if (embedObj) embedObj.currentLiveboardId = libId;
661
+ this.executeAfterEmbedContainerLoaded(() => {
662
+ this.navigateToLiveboard(this.viewConfig.liveboardId, this.viewConfig.vizId, this.viewConfig.activeTabId);
663
+ if (embedObj) {
664
+ embedObj.currentLiveboardState = {
665
+ liveboardId: this.viewConfig.liveboardId,
666
+ vizId: this.viewConfig.vizId,
667
+ activeTabId: this.viewConfig.activeTabId,
668
+ };
669
+ }
683
670
  });
684
671
  }
685
672
 
@@ -754,15 +741,13 @@ export class LiveboardEmbed extends V1Embed {
754
741
  return this;
755
742
  }
756
743
 
757
- public currentLiveboardId: string = this.viewConfig.liveboardId;
758
-
759
- public navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string, onNavigateCalled?: () => void) {
744
+ public navigateToLiveboard(liveboardId: string, vizId?: string, activeTabId?: string) {
760
745
  const path = this.getIframeSuffixSrc(liveboardId, vizId, activeTabId);
761
746
  this.viewConfig.liveboardId = liveboardId;
762
747
  this.viewConfig.activeTabId = activeTabId;
763
748
  this.viewConfig.vizId = vizId;
764
749
  if (this.isRendered) {
765
- this.triggerAfterLoad(HostEvent.Navigate, path.substring(1), onNavigateCalled);
750
+ this.trigger(HostEvent.Navigate, path.substring(1));
766
751
  } else if (this.viewConfig.preRenderId) {
767
752
  this.preRender(true);
768
753
  } else {
package/src/embed/sage.ts CHANGED
@@ -153,7 +153,12 @@ export class SageEmbed extends V1Embed {
153
153
  super(domSelector, viewConfig);
154
154
  }
155
155
 
156
- protected getEmbedParamsObject() {
156
+ /**
157
+ * Constructs a map of parameters to be passed on to the
158
+ * embedded Eureka or Sage search page.
159
+ * @returns {string} query string
160
+ */
161
+ protected getEmbedParams(): string {
157
162
  const {
158
163
  disableWorksheetChange,
159
164
  hideWorksheetSelector,
@@ -179,16 +184,6 @@ export class SageEmbed extends V1Embed {
179
184
  params[Param.IsProductTour] = !!isProductTour;
180
185
  params[Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
181
186
 
182
- return params;
183
- }
184
-
185
- /**
186
- * Constructs a map of parameters to be passed on to the
187
- * embedded Eureka or Sage search page.
188
- * @returns {string} query string
189
- */
190
- protected getEmbedParams(): string {
191
- const params = this.getEmbedParamsObject();
192
187
  return getQueryParamString(params, true);
193
188
  }
194
189
 
@@ -118,7 +118,12 @@ export class SearchBarEmbed extends TsEmbed {
118
118
  this.viewConfig = viewConfig;
119
119
  }
120
120
 
121
- protected getEmbedParamsObject() {
121
+ /**
122
+ * Construct the URL of the embedded ThoughtSpot search to be
123
+ * loaded in the iframe
124
+ * @param dataSources A list of data source GUIDs
125
+ */
126
+ private getIFrameSrc() {
122
127
  const {
123
128
  searchOptions,
124
129
  dataSource,
@@ -126,6 +131,7 @@ export class SearchBarEmbed extends TsEmbed {
126
131
  useLastSelectedSources = false,
127
132
  excludeSearchTokenStringFromURL,
128
133
  } = this.viewConfig;
134
+ const path = 'search-bar-embed';
129
135
  const queryParams = this.getBaseQueryParams();
130
136
 
131
137
  queryParams[Param.HideActions] = [...(queryParams[Param.HideActions] ?? [])];
@@ -153,19 +159,6 @@ export class SearchBarEmbed extends TsEmbed {
153
159
  queryParams[Param.UseLastSelectedDataSource] = false;
154
160
  }
155
161
  queryParams[Param.searchEmbed] = true;
156
-
157
- return queryParams;
158
- }
159
-
160
- /**
161
- * Construct the URL of the embedded ThoughtSpot search to be
162
- * loaded in the iframe
163
- * @param dataSources A list of data source GUIDs
164
- */
165
- private getIFrameSrc() {
166
- const queryParams = this.getEmbedParamsObject();
167
- const path = 'search-bar-embed';
168
-
169
162
  let query = '';
170
163
  const queryParamsString = getQueryParamString(queryParams, true);
171
164
  if (queryParamsString) {
@@ -331,7 +331,7 @@ export const HiddenActionItemByDefaultForSearchEmbed = [
331
331
  ];
332
332
 
333
333
  export interface SearchAppInitData extends DefaultAppInitData {
334
- searchOptions?: SearchOptions;
334
+ searchOptions?: SearchOptions;
335
335
  }
336
336
 
337
337
  /**
@@ -381,7 +381,7 @@ export class SearchEmbed extends TsEmbed {
381
381
  return { ...defaultAppInitData, ...this.getSearchInitData() };
382
382
  }
383
383
 
384
- protected getEmbedParamsObject() {
384
+ protected getEmbedParams(): string {
385
385
  const {
386
386
  hideResults,
387
387
  enableSearchAssist,
@@ -398,7 +398,7 @@ export class SearchEmbed extends TsEmbed {
398
398
  collapseSearchBarInitially = false,
399
399
  enableCustomColumnGroups = false,
400
400
  isOnBeforeGetVizDataInterceptEnabled = false,
401
-
401
+ /* eslint-disable-next-line max-len */
402
402
  dataPanelCustomGroupsAccordionInitialState = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL,
403
403
  focusSearchBarOnRender = true,
404
404
  excludeRuntimeParametersfromURL,
@@ -443,7 +443,7 @@ export class SearchEmbed extends TsEmbed {
443
443
  }
444
444
 
445
445
  if (isOnBeforeGetVizDataInterceptEnabled) {
446
-
446
+ /* eslint-disable-next-line max-len */
447
447
  queryParams[Param.IsOnBeforeGetVizDataInterceptEnabled] = isOnBeforeGetVizDataInterceptEnabled;
448
448
  }
449
449
 
@@ -460,7 +460,7 @@ export class SearchEmbed extends TsEmbed {
460
460
  }
461
461
 
462
462
  queryParams[Param.searchEmbed] = true;
463
-
463
+ /* eslint-disable-next-line max-len */
464
464
  queryParams[Param.CollapseSearchBarInitially] = collapseSearchBarInitially || collapseSearchBar;
465
465
  queryParams[Param.EnableCustomColumnGroups] = enableCustomColumnGroups;
466
466
  if (dataPanelCustomGroupsAccordionInitialState
@@ -468,23 +468,12 @@ export class SearchEmbed extends TsEmbed {
468
468
  || dataPanelCustomGroupsAccordionInitialState
469
469
  === DataPanelCustomColumnGroupsAccordionState.EXPAND_FIRST
470
470
  ) {
471
-
471
+ /* eslint-disable-next-line max-len */
472
472
  queryParams[Param.DataPanelCustomGroupsAccordionInitialState] = dataPanelCustomGroupsAccordionInitialState;
473
473
  } else {
474
-
474
+ /* eslint-disable-next-line max-len */
475
475
  queryParams[Param.DataPanelCustomGroupsAccordionInitialState] = DataPanelCustomColumnGroupsAccordionState.EXPAND_ALL;
476
476
  }
477
- return queryParams;
478
- }
479
-
480
- protected getEmbedParams() {
481
- const {
482
- runtimeParameters,
483
- runtimeFilters,
484
- excludeRuntimeParametersfromURL,
485
- excludeRuntimeFiltersfromURL,
486
- } = this.viewConfig;
487
- const queryParams = this.getEmbedParamsObject();
488
477
  let query = '';
489
478
  const queryParamsString = getQueryParamString(queryParams, true);
490
479
  if (queryParamsString) {