@thoughtspot/visual-embed-sdk 1.46.5 → 1.47.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.
Files changed (140) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/app.d.ts +0 -15
  3. package/cjs/src/embed/app.d.ts.map +1 -1
  4. package/cjs/src/embed/app.js +1 -2
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/app.spec.js +0 -10
  7. package/cjs/src/embed/app.spec.js.map +1 -1
  8. package/cjs/src/embed/conversation.d.ts +1 -1
  9. package/cjs/src/embed/hostEventClient/utils.d.ts.map +1 -1
  10. package/cjs/src/embed/hostEventClient/utils.js +7 -1
  11. package/cjs/src/embed/hostEventClient/utils.js.map +1 -1
  12. package/cjs/src/embed/hostEventClient/utils.spec.js +80 -5
  13. package/cjs/src/embed/hostEventClient/utils.spec.js.map +1 -1
  14. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  15. package/cjs/src/embed/ts-embed.js +12 -4
  16. package/cjs/src/embed/ts-embed.js.map +1 -1
  17. package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
  18. package/cjs/src/embed/ts-embed.spec.js +28 -67
  19. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  20. package/cjs/src/errors.d.ts +0 -1
  21. package/cjs/src/errors.d.ts.map +1 -1
  22. package/cjs/src/errors.js +0 -1
  23. package/cjs/src/errors.js.map +1 -1
  24. package/cjs/src/index.d.ts +1 -2
  25. package/cjs/src/index.d.ts.map +1 -1
  26. package/cjs/src/index.js +2 -4
  27. package/cjs/src/index.js.map +1 -1
  28. package/cjs/src/react/all-types-export.d.ts +2 -2
  29. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  30. package/cjs/src/react/all-types-export.js +1 -3
  31. package/cjs/src/react/all-types-export.js.map +1 -1
  32. package/cjs/src/react/index.d.ts +1 -36
  33. package/cjs/src/react/index.d.ts.map +1 -1
  34. package/cjs/src/react/index.js +1 -34
  35. package/cjs/src/react/index.js.map +1 -1
  36. package/cjs/src/types.d.ts +41 -75
  37. package/cjs/src/types.d.ts.map +1 -1
  38. package/cjs/src/types.js +17 -47
  39. package/cjs/src/types.js.map +1 -1
  40. package/dist/{index-ChNydfIz.js → index-Bm2Hck8q.js} +1 -1
  41. package/dist/src/embed/app.d.ts +0 -15
  42. package/dist/src/embed/app.d.ts.map +1 -1
  43. package/dist/src/embed/conversation.d.ts +1 -1
  44. package/dist/src/embed/hostEventClient/utils.d.ts.map +1 -1
  45. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  46. package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
  47. package/dist/src/errors.d.ts +0 -1
  48. package/dist/src/errors.d.ts.map +1 -1
  49. package/dist/src/index.d.ts +1 -2
  50. package/dist/src/index.d.ts.map +1 -1
  51. package/dist/src/react/all-types-export.d.ts +2 -2
  52. package/dist/src/react/all-types-export.d.ts.map +1 -1
  53. package/dist/src/react/index.d.ts +1 -36
  54. package/dist/src/react/index.d.ts.map +1 -1
  55. package/dist/src/types.d.ts +41 -75
  56. package/dist/src/types.d.ts.map +1 -1
  57. package/dist/tsembed-react.es.js +59 -199
  58. package/dist/tsembed-react.js +47 -189
  59. package/dist/tsembed.es.js +74 -180
  60. package/dist/tsembed.js +30800 -30907
  61. package/dist/visual-embed-sdk-react-full.d.ts +44 -270
  62. package/dist/visual-embed-sdk-react.d.ts +44 -270
  63. package/dist/visual-embed-sdk.d.ts +42 -240
  64. package/lib/package.json +1 -1
  65. package/lib/src/embed/app.d.ts +0 -15
  66. package/lib/src/embed/app.d.ts.map +1 -1
  67. package/lib/src/embed/app.js +1 -2
  68. package/lib/src/embed/app.js.map +1 -1
  69. package/lib/src/embed/app.spec.js +0 -10
  70. package/lib/src/embed/app.spec.js.map +1 -1
  71. package/lib/src/embed/conversation.d.ts +1 -1
  72. package/lib/src/embed/hostEventClient/utils.d.ts.map +1 -1
  73. package/lib/src/embed/hostEventClient/utils.js +7 -1
  74. package/lib/src/embed/hostEventClient/utils.js.map +1 -1
  75. package/lib/src/embed/hostEventClient/utils.spec.js +80 -5
  76. package/lib/src/embed/hostEventClient/utils.spec.js.map +1 -1
  77. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  78. package/lib/src/embed/ts-embed.js +12 -4
  79. package/lib/src/embed/ts-embed.js.map +1 -1
  80. package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
  81. package/lib/src/embed/ts-embed.spec.js +30 -69
  82. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  83. package/lib/src/errors.d.ts +0 -1
  84. package/lib/src/errors.d.ts.map +1 -1
  85. package/lib/src/errors.js +0 -1
  86. package/lib/src/errors.js.map +1 -1
  87. package/lib/src/index.d.ts +1 -2
  88. package/lib/src/index.d.ts.map +1 -1
  89. package/lib/src/index.js +1 -2
  90. package/lib/src/index.js.map +1 -1
  91. package/lib/src/react/all-types-export.d.ts +2 -2
  92. package/lib/src/react/all-types-export.d.ts.map +1 -1
  93. package/lib/src/react/all-types-export.js +1 -1
  94. package/lib/src/react/all-types-export.js.map +1 -1
  95. package/lib/src/react/index.d.ts +1 -36
  96. package/lib/src/react/index.d.ts.map +1 -1
  97. package/lib/src/react/index.js +0 -33
  98. package/lib/src/react/index.js.map +1 -1
  99. package/lib/src/types.d.ts +41 -75
  100. package/lib/src/types.d.ts.map +1 -1
  101. package/lib/src/types.js +17 -47
  102. package/lib/src/types.js.map +1 -1
  103. package/lib/src/visual-embed-sdk.d.ts +42 -240
  104. package/package.json +1 -1
  105. package/src/embed/app.spec.ts +0 -15
  106. package/src/embed/app.ts +2 -20
  107. package/src/embed/conversation.ts +4 -4
  108. package/src/embed/hostEventClient/utils.spec.ts +94 -6
  109. package/src/embed/hostEventClient/utils.ts +15 -2
  110. package/src/embed/ts-embed.spec.ts +56 -108
  111. package/src/embed/ts-embed.ts +10 -3
  112. package/src/errors.ts +0 -1
  113. package/src/index.ts +2 -5
  114. package/src/react/all-types-export.ts +0 -3
  115. package/src/react/index.tsx +15 -59
  116. package/src/types.ts +102 -138
  117. package/cjs/src/embed/sage.d.ts +0 -164
  118. package/cjs/src/embed/sage.d.ts.map +0 -1
  119. package/cjs/src/embed/sage.js +0 -88
  120. package/cjs/src/embed/sage.js.map +0 -1
  121. package/cjs/src/embed/sage.spec.d.ts +0 -2
  122. package/cjs/src/embed/sage.spec.d.ts.map +0 -1
  123. package/cjs/src/embed/sage.spec.js +0 -151
  124. package/cjs/src/embed/sage.spec.js.map +0 -1
  125. package/dist/index-DGV_zh53.js +0 -7371
  126. package/dist/index-DW2wEHqy.js +0 -7371
  127. package/dist/src/embed/sage.d.ts +0 -164
  128. package/dist/src/embed/sage.d.ts.map +0 -1
  129. package/dist/src/embed/sage.spec.d.ts +0 -2
  130. package/dist/src/embed/sage.spec.d.ts.map +0 -1
  131. package/lib/src/embed/sage.d.ts +0 -164
  132. package/lib/src/embed/sage.d.ts.map +0 -1
  133. package/lib/src/embed/sage.js +0 -84
  134. package/lib/src/embed/sage.js.map +0 -1
  135. package/lib/src/embed/sage.spec.d.ts +0 -2
  136. package/lib/src/embed/sage.spec.d.ts.map +0 -1
  137. package/lib/src/embed/sage.spec.js +0 -148
  138. package/lib/src/embed/sage.spec.js.map +0 -1
  139. package/src/embed/sage.spec.ts +0 -206
  140. package/src/embed/sage.ts +0 -231
@@ -1,164 +0,0 @@
1
- /**
2
- * Copyright (c) 2023
3
- *
4
- * Embed ThoughtSpot Sage
5
- * @summary TS Sage embed
6
- * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
7
- */
8
- import { DOMSelector, BaseViewConfig, SearchLiveboardCommonViewConfig } from '../types';
9
- import { V1Embed } from './ts-embed';
10
- /**
11
- * Configuration for search options
12
- */
13
- export interface SearchOptions {
14
- /**
15
- * The query string to pass for Natural Language Search.
16
- */
17
- searchQuery: string;
18
- /**
19
- * Boolean to define if the search should be executed or not.
20
- * If it is executed, the focus is placed on the results.
21
- * If it’s not executed, the focus is placed at the end of
22
- * the token string in the search bar.
23
- */
24
- executeSearch?: boolean;
25
- }
26
- /**
27
- * The configuration attributes for the embedded Natural language search view. Based on
28
- * GPT and LLM.
29
- * @version SDK: 1.23.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
30
- *
31
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
32
- * @group Embed components
33
- */
34
- export interface SageViewConfig extends SearchLiveboardCommonViewConfig, Omit<BaseViewConfig, 'primaryAction' | 'runtimeFilters' | 'runtimeParameters' | 'excludeRuntimeFiltersfromURL' | 'excludeRuntimeParametersfromURL'> {
35
- /**
36
- * If set to true, a list of Liveboard and Answers related
37
- * to the natural language search will be shown below the
38
- * AI generated answer.
39
- * @deprecated Currently Liveboard and Answers related
40
- * to the natural language search will not be shown for sage
41
- * embed
42
- */
43
- showObjectResults?: boolean;
44
- /**
45
- * flag used by the TS product tour page to show the blue search bar
46
- * even after the search is completed. This is different from ThoughtSpot Embedded
47
- * Sage Embed experience where it mimics closer to the non-embed case.
48
- * The Sample questions container is collapsed when this value is set after
49
- * does a search.
50
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl
51
- * @hidden
52
- */
53
- isProductTour?: boolean;
54
- /**
55
- * Show or hide the search bar title.
56
- * @version SDK: 1.29.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
57
- * @deprecated ThoughtSpot: 9.10.0.cl | search bar doesn't have the title from 9.10.0.cl
58
- */
59
- hideSearchBarTitle?: boolean;
60
- /**
61
- * Show or hide the Answer header, that is, the `AI Answer` title
62
- * at the top of the Answer page.
63
- * @version SDK: 1.26.0 | ThoughtSpot: 9.10.0.cl
64
- */
65
- hideSageAnswerHeader?: boolean;
66
- /**
67
- * Disable the data source selection option.
68
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
69
- */
70
- disableWorksheetChange?: boolean;
71
- /**
72
- * Hide the data source selection panel.
73
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
74
- */
75
- hideWorksheetSelector?: boolean;
76
- /**
77
- * Show or hide autocomplete suggestions for the search query string.
78
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
79
- */
80
- hideAutocompleteSuggestions?: boolean;
81
- /**
82
- * Show or hide autocomplete suggestions for the search query string.
83
- * You can use {@link hideAutocompleteSuggestions} instead.
84
- * @deprecated
85
- * Currently, the object suggestions will not be shown for Natural Language Search.
86
- */
87
- showObjectSuggestions?: boolean;
88
- /**
89
- * Show or hide sample questions.
90
- * The sample questions are autogenerated based on the data model
91
- * selected for the search operation.
92
- *
93
- * Supported embed types: `SageEmbed`
94
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
95
- * @example
96
- * ```js
97
- * const embed = new SageEmbed('#tsEmbed', {
98
- * ... //other embed view config
99
- * hideSampleQuestions : true,
100
- * })
101
- * ```
102
- */
103
- hideSampleQuestions?: boolean;
104
- /**
105
- * The data source GUID (Model GUID) to set on load.
106
- */
107
- dataSource?: string;
108
- /**
109
- * Includes the following properties:
110
- *
111
- * `searchQuery`: The search query string to pass in the search bar.
112
- * Supports Natural Language Search queries.
113
- *
114
- * `executeSearch`: Boolean to define if the search should be executed or not.
115
- * If it is executed, the focus is placed on the results.
116
- * If it’s not executed, the focus is placed at the end of
117
- * the token string in the search bar.
118
- *
119
- * Supported embed types: `SageEmbed`
120
- * @version SDK: 1.26.0 | ThoughtSpot: 9.8.0.cl, 9.8.0.sw
121
- * @example
122
- * ```js
123
- * searchOptions: {
124
- * searchQuery: 'average sales by country and product type',
125
- * executeSearch: true,
126
- * }
127
- * ```
128
- */
129
- searchOptions?: SearchOptions;
130
- }
131
- /**
132
- * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
133
- * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
134
- *
135
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
136
- * @group Embed components
137
- */
138
- export declare class SageEmbed extends V1Embed {
139
- /**
140
- * The view configuration for the embedded ThoughtSpot sage.
141
- *
142
- */
143
- protected viewConfig: SageViewConfig;
144
- constructor(domSelector: DOMSelector, viewConfig: SageViewConfig);
145
- protected getEmbedParamsObject(): Record<any, any>;
146
- /**
147
- * Constructs a map of parameters to be passed on to the
148
- * embedded Eureka or Sage search page.
149
- * @returns {string} query string
150
- */
151
- protected getEmbedParams(): string;
152
- /**
153
- * Construct the URL of the embedded ThoughtSpot sage to be
154
- * loaded in the iframe
155
- * @returns {string} iframe url
156
- */
157
- getIFrameSrc(): string;
158
- /**
159
- * Render the embedded ThoughtSpot Sage
160
- * @returns {SageEmbed} Eureka/Sage embed
161
- */
162
- render(): Promise<SageEmbed>;
163
- }
164
- //# sourceMappingURL=sage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.d.ts","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAS,cAAc,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAC;AAE/F,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cACb,SAAQ,+BAA+B,EAAE,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,8BAA8B,GAAG,iCAAiC,CAAC;IAC5L;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AACD;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,OAAO;IAClC;;;OAGG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC;gBAEzB,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc;IAKhE,SAAS,CAAC,oBAAoB;IA6B9B;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM;IAKlC;;;;OAIG;IACI,YAAY,IAAI,MAAM;IAqB7B;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC;CAO5C"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) 2023
4
- *
5
- * Embed ThoughtSpot Sage
6
- * @summary TS Sage embed
7
- * @author Mourya Balabhadra <mourya.balabhadra@thoughtspot.com>
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.SageEmbed = void 0;
11
- const types_1 = require("../types");
12
- const utils_1 = require("../utils");
13
- const ts_embed_1 = require("./ts-embed");
14
- /**
15
- * Embed ThoughtSpot LLM and GPT-based Natural Language Search component.
16
- * @version SDK: 1.23.0 | ThoughtSpot: 9.4.0.cl, 9.5.1-sw
17
- *
18
- * Note: This embed will be deprecated from SDK: 1.40.0 | ThoughtSpot: 10.13.0.cl
19
- * @group Embed components
20
- */
21
- class SageEmbed extends ts_embed_1.V1Embed {
22
- constructor(domSelector, viewConfig) {
23
- viewConfig.embedComponentType = 'SageEmbed';
24
- super(domSelector, viewConfig);
25
- }
26
- getEmbedParamsObject() {
27
- const { disableWorksheetChange, hideWorksheetSelector, showObjectSuggestions, dataPanelV2, hideSampleQuestions, isProductTour, hideSageAnswerHeader, hideAutocompleteSuggestions, } = this.viewConfig;
28
- const params = this.getBaseQueryParams();
29
- params[types_1.Param.DataPanelV2Enabled] = !!dataPanelV2;
30
- params[types_1.Param.IsSageEmbed] = true;
31
- params[types_1.Param.DisableWorksheetChange] = !!disableWorksheetChange;
32
- params[types_1.Param.HideWorksheetSelector] = !!hideWorksheetSelector;
33
- params[types_1.Param.HideEurekaSuggestions] = !!hideAutocompleteSuggestions;
34
- if (showObjectSuggestions) {
35
- params[types_1.Param.HideEurekaSuggestions] = !showObjectSuggestions;
36
- // support backwards compatibility
37
- }
38
- params[types_1.Param.HideSampleQuestions] = !!hideSampleQuestions;
39
- params[types_1.Param.IsProductTour] = !!isProductTour;
40
- params[types_1.Param.HideSageAnswerHeader] = !!hideSageAnswerHeader;
41
- return params;
42
- }
43
- /**
44
- * Constructs a map of parameters to be passed on to the
45
- * embedded Eureka or Sage search page.
46
- * @returns {string} query string
47
- */
48
- getEmbedParams() {
49
- const params = this.getEmbedParamsObject();
50
- return (0, utils_1.getQueryParamString)(params, true);
51
- }
52
- /**
53
- * Construct the URL of the embedded ThoughtSpot sage to be
54
- * loaded in the iframe
55
- * @returns {string} iframe url
56
- */
57
- getIFrameSrc() {
58
- const path = 'eureka';
59
- const postHashObj = {};
60
- const tsPostHashParams = this.getThoughtSpotPostUrlParams();
61
- const { dataSource, searchOptions, } = this.viewConfig;
62
- if (dataSource)
63
- postHashObj[types_1.Param.WorksheetId] = dataSource;
64
- if ((searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery) && searchOptions.executeSearch) {
65
- postHashObj[types_1.Param.executeSearch] = true;
66
- }
67
- let sagePostHashParams = new URLSearchParams(postHashObj).toString();
68
- if (sagePostHashParams)
69
- sagePostHashParams = `${tsPostHashParams ? '&' : '?'}${sagePostHashParams}`;
70
- if (searchOptions === null || searchOptions === void 0 ? void 0 : searchOptions.searchQuery)
71
- sagePostHashParams += `${sagePostHashParams ? '&' : '?'}${[types_1.Param.Query]}=${encodeURIComponent(searchOptions.searchQuery)}`;
72
- // use encodeURIComponent for query instead of URLSearchParams
73
- // as it adds + instead of %20 for spaces
74
- return `${this.getRootIframeSrc()}/embed/${path}${tsPostHashParams}${sagePostHashParams}`;
75
- }
76
- /**
77
- * Render the embedded ThoughtSpot Sage
78
- * @returns {SageEmbed} Eureka/Sage embed
79
- */
80
- async render() {
81
- await super.render();
82
- const src = this.getIFrameSrc();
83
- await this.renderV1Embed(src);
84
- return this;
85
- }
86
- }
87
- exports.SageEmbed = SageEmbed;
88
- //# sourceMappingURL=sage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.js","sourceRoot":"","sources":["../../../src/embed/sage.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sage.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/sage.spec.ts"],"names":[],"mappings":""}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const sage_1 = require("./sage");
5
- const index_1 = require("../index");
6
- const types_1 = require("../types");
7
- const test_utils_1 = require("../test/test-utils");
8
- const authInstance = tslib_1.__importStar(require("../auth"));
9
- const defaultConfig = {
10
- disableWorksheetChange: false,
11
- hideWorksheetSelector: false,
12
- hideSageAnswerHeader: false,
13
- hideAutocompleteSuggestions: false,
14
- hideSampleQuestions: false,
15
- isProductTour: false,
16
- dataPanelV2: true,
17
- };
18
- const thoughtSpotHost = 'tshost';
19
- beforeAll(() => {
20
- (0, index_1.init)({
21
- thoughtSpotHost,
22
- authType: types_1.AuthType.None,
23
- });
24
- jest.spyOn(window, 'alert');
25
- jest.spyOn(authInstance, 'postLoginService').mockImplementation(() => Promise.resolve(true));
26
- });
27
- describe('Sage embed tests', () => {
28
- beforeEach(() => {
29
- document.body.innerHTML = (0, test_utils_1.getDocumentBody)();
30
- });
31
- test('should render sage', async () => {
32
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), defaultConfig);
33
- await sageEmbed.render();
34
- await (0, test_utils_1.executeAfterWait)(() => {
35
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
36
- });
37
- });
38
- test('should render sage with product tour flag set', async () => {
39
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), { ...defaultConfig, isProductTour: true });
40
- await sageEmbed.render();
41
- await (0, test_utils_1.executeAfterWait)(() => {
42
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=true&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
43
- });
44
- });
45
- test('should render sage with disable worksheet change flag', async () => {
46
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
47
- ...defaultConfig,
48
- disableWorksheetChange: true,
49
- });
50
- await sageEmbed.render();
51
- await (0, test_utils_1.executeAfterWait)(() => {
52
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=true&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
53
- });
54
- });
55
- test('should render sage with hide worksheet selector flag', async () => {
56
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
57
- ...defaultConfig,
58
- hideWorksheetSelector: true,
59
- });
60
- await sageEmbed.render();
61
- await (0, test_utils_1.executeAfterWait)(() => {
62
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=true&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
63
- });
64
- });
65
- test('should render sage with hide Sage Answer Header flag', async () => {
66
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
67
- ...defaultConfig,
68
- hideSageAnswerHeader: true,
69
- });
70
- await sageEmbed.render();
71
- await (0, test_utils_1.executeAfterWait)(() => {
72
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=true&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
73
- });
74
- });
75
- test('should render sage with hide Autocomplete suggestions flag', async () => {
76
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
77
- ...defaultConfig,
78
- hideAutocompleteSuggestions: true,
79
- });
80
- await sageEmbed.render();
81
- await (0, test_utils_1.executeAfterWait)(() => {
82
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=true&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
83
- });
84
- });
85
- test('should render sage with deprecated showObjectSuggestions flag', async () => {
86
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
87
- showObjectSuggestions: true,
88
- });
89
- await sageEmbed.render();
90
- await (0, test_utils_1.executeAfterWait)(() => {
91
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
92
- });
93
- });
94
- test('embed url include pre-seed dataSource without populating searchOptions', async () => {
95
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
96
- ...defaultConfig,
97
- dataSource: 'worksheet-id',
98
- });
99
- await sageEmbed.render();
100
- await (0, test_utils_1.executeAfterWait)(() => {
101
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id`);
102
- });
103
- });
104
- test('embed url include pre-seed dataSource and query', async () => {
105
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
106
- ...defaultConfig,
107
- dataSource: 'worksheet-id',
108
- searchOptions: {
109
- searchQuery: 'test query', // also tests for query with spaces
110
- },
111
- });
112
- await sageEmbed.render();
113
- await (0, test_utils_1.executeAfterWait)(() => {
114
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?worksheet=worksheet-id&query=test%20query`);
115
- });
116
- });
117
- test('embed url include pre-seed execute flag with query', async () => {
118
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
119
- ...defaultConfig,
120
- searchOptions: {
121
- searchQuery: 'test-query',
122
- executeSearch: true,
123
- },
124
- });
125
- await sageEmbed.render();
126
- await (0, test_utils_1.executeAfterWait)(() => {
127
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&hideAction=%5B%22reportError%22%5D#/embed/eureka?executeSearch=true&query=test-query`);
128
- });
129
- });
130
- test('should set enableDataPanelV2 to true if data panel v2 flag is true', async () => {
131
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
132
- ...defaultConfig,
133
- dataPanelV2: true,
134
- });
135
- await sageEmbed.render();
136
- await (0, test_utils_1.executeAfterWait)(() => {
137
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=true&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
138
- });
139
- });
140
- test('should set enableDataPanelV2 to false if data panel v2 flag is false', async () => {
141
- const sageEmbed = new sage_1.SageEmbed((0, test_utils_1.getRootEl)(), {
142
- ...defaultConfig,
143
- dataPanelV2: false,
144
- });
145
- await sageEmbed.render();
146
- await (0, test_utils_1.executeAfterWait)(() => {
147
- (0, test_utils_1.expectUrlMatch)((0, test_utils_1.getIFrameSrc)(), `http://${thoughtSpotHost}/?embedApp=true&enableDataPanelV2=false&isSageEmbed=true&disableWorksheetChange=false&hideWorksheetSelector=false&hideEurekaSuggestions=false&isProductTour=false&hideSageAnswerHeader=false&hideAction=%5B%22reportError%22%5D#/embed/eureka`);
148
- });
149
- });
150
- });
151
- //# sourceMappingURL=sage.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sage.spec.js","sourceRoot":"","sources":["../../../src/embed/sage.spec.ts"],"names":[],"mappings":"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"}