@thoughtspot/visual-embed-sdk 1.36.3 → 1.36.4
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 +1 -1
- package/cjs/src/embed/app.d.ts.map +1 -1
- package/cjs/src/embed/app.js +1 -1
- package/cjs/src/embed/app.js.map +1 -1
- package/cjs/src/embed/base.d.ts +4 -0
- package/cjs/src/embed/base.d.ts.map +1 -1
- package/cjs/src/embed/base.js +27 -1
- package/cjs/src/embed/base.js.map +1 -1
- package/cjs/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/cjs/src/embed/bodyless-conversation.js +1 -1
- package/cjs/src/embed/bodyless-conversation.js.map +1 -1
- package/cjs/src/embed/conversation.d.ts.map +1 -1
- package/cjs/src/embed/conversation.js +1 -1
- package/cjs/src/embed/conversation.js.map +1 -1
- package/cjs/src/embed/embedConfig.d.ts.map +1 -1
- package/cjs/src/embed/embedConfig.js.map +1 -1
- package/cjs/src/embed/liveboard.d.ts +2 -2
- package/cjs/src/embed/liveboard.d.ts.map +1 -1
- package/cjs/src/embed/liveboard.js +4 -5
- package/cjs/src/embed/liveboard.js.map +1 -1
- package/cjs/src/embed/liveboard.spec.js +11 -11
- package/cjs/src/embed/liveboard.spec.js.map +1 -1
- package/cjs/src/embed/sage.d.ts.map +1 -1
- package/cjs/src/embed/sage.js +1 -1
- package/cjs/src/embed/sage.js.map +1 -1
- package/cjs/src/embed/search-bar.d.ts.map +1 -1
- package/cjs/src/embed/search-bar.js +1 -1
- package/cjs/src/embed/search-bar.js.map +1 -1
- package/cjs/src/embed/search.d.ts.map +1 -1
- package/cjs/src/embed/search.js +1 -1
- package/cjs/src/embed/search.js.map +1 -1
- package/cjs/src/embed/ts-embed.d.ts +4 -3
- package/cjs/src/embed/ts-embed.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.js +25 -16
- package/cjs/src/embed/ts-embed.js.map +1 -1
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +71 -5
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/cjs/src/errors.d.ts +1 -0
- package/cjs/src/errors.d.ts.map +1 -1
- package/cjs/src/errors.js +1 -0
- package/cjs/src/errors.js.map +1 -1
- package/cjs/src/react/all-types-export.d.ts +1 -1
- package/cjs/src/react/all-types-export.d.ts.map +1 -1
- package/cjs/src/react/all-types-export.js +2 -1
- package/cjs/src/react/all-types-export.js.map +1 -1
- package/cjs/src/react/index.d.ts +16 -0
- package/cjs/src/react/index.d.ts.map +1 -1
- package/cjs/src/react/index.js +25 -2
- package/cjs/src/react/index.js.map +1 -1
- package/cjs/src/utils/with-resolvers-polyfill.d.ts +1 -0
- package/cjs/src/utils/with-resolvers-polyfill.d.ts.map +1 -0
- package/cjs/src/utils/with-resolvers-polyfill.js +12 -0
- package/cjs/src/utils/with-resolvers-polyfill.js.map +1 -0
- package/cjs/src/utils.d.ts +17 -2
- package/cjs/src/utils.d.ts.map +1 -1
- package/cjs/src/utils.js +27 -3
- package/cjs/src/utils.js.map +1 -1
- package/dist/{index-BJx3m5_V.js → index-NZYq1Tu3.js} +1 -1
- package/dist/src/embed/app.d.ts.map +1 -1
- package/dist/src/embed/base.d.ts +4 -0
- package/dist/src/embed/base.d.ts.map +1 -1
- package/dist/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/dist/src/embed/conversation.d.ts.map +1 -1
- package/dist/src/embed/embedConfig.d.ts.map +1 -1
- package/dist/src/embed/liveboard.d.ts +2 -2
- package/dist/src/embed/liveboard.d.ts.map +1 -1
- package/dist/src/embed/sage.d.ts.map +1 -1
- package/dist/src/embed/search-bar.d.ts.map +1 -1
- package/dist/src/embed/search.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.d.ts +4 -3
- package/dist/src/embed/ts-embed.d.ts.map +1 -1
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/src/errors.d.ts +1 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/react/all-types-export.d.ts +1 -1
- package/dist/src/react/all-types-export.d.ts.map +1 -1
- package/dist/src/react/index.d.ts +16 -0
- package/dist/src/react/index.d.ts.map +1 -1
- package/dist/src/utils/with-resolvers-polyfill.d.ts +1 -0
- package/dist/src/utils/with-resolvers-polyfill.d.ts.map +1 -0
- package/dist/src/utils.d.ts +17 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +349 -45
- package/dist/tsembed-react.js +347 -42
- package/dist/tsembed.es.js +85 -32
- package/dist/tsembed.js +84 -31
- package/dist/visual-embed-sdk-react-full.d.ts +1233 -1214
- package/dist/visual-embed-sdk-react.d.ts +668 -649
- package/dist/visual-embed-sdk.d.ts +9 -4
- package/lib/package.json +1 -1
- package/lib/src/embed/app.d.ts.map +1 -1
- package/lib/src/embed/app.js +1 -1
- package/lib/src/embed/app.js.map +1 -1
- package/lib/src/embed/base.d.ts +4 -0
- package/lib/src/embed/base.d.ts.map +1 -1
- package/lib/src/embed/base.js +24 -1
- package/lib/src/embed/base.js.map +1 -1
- package/lib/src/embed/bodyless-conversation.d.ts.map +1 -1
- package/lib/src/embed/bodyless-conversation.js +1 -1
- package/lib/src/embed/bodyless-conversation.js.map +1 -1
- package/lib/src/embed/conversation.d.ts.map +1 -1
- package/lib/src/embed/conversation.js +1 -1
- package/lib/src/embed/conversation.js.map +1 -1
- package/lib/src/embed/embedConfig.d.ts.map +1 -1
- package/lib/src/embed/embedConfig.js.map +1 -1
- package/lib/src/embed/liveboard.d.ts +2 -2
- package/lib/src/embed/liveboard.d.ts.map +1 -1
- package/lib/src/embed/liveboard.js +4 -5
- package/lib/src/embed/liveboard.js.map +1 -1
- package/lib/src/embed/liveboard.spec.js +11 -11
- package/lib/src/embed/liveboard.spec.js.map +1 -1
- package/lib/src/embed/sage.d.ts.map +1 -1
- package/lib/src/embed/sage.js +1 -1
- package/lib/src/embed/sage.js.map +1 -1
- package/lib/src/embed/search-bar.d.ts.map +1 -1
- package/lib/src/embed/search-bar.js +1 -1
- package/lib/src/embed/search-bar.js.map +1 -1
- package/lib/src/embed/search.d.ts.map +1 -1
- package/lib/src/embed/search.js +1 -1
- package/lib/src/embed/search.js.map +1 -1
- package/lib/src/embed/ts-embed.d.ts +4 -3
- package/lib/src/embed/ts-embed.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.js +26 -17
- package/lib/src/embed/ts-embed.js.map +1 -1
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +71 -5
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/lib/src/errors.d.ts +1 -0
- package/lib/src/errors.d.ts.map +1 -1
- package/lib/src/errors.js +1 -0
- package/lib/src/errors.js.map +1 -1
- package/lib/src/react/all-types-export.d.ts +1 -1
- package/lib/src/react/all-types-export.d.ts.map +1 -1
- package/lib/src/react/all-types-export.js +1 -1
- package/lib/src/react/all-types-export.js.map +1 -1
- package/lib/src/react/index.d.ts +16 -0
- package/lib/src/react/index.d.ts.map +1 -1
- package/lib/src/react/index.js +23 -1
- package/lib/src/react/index.js.map +1 -1
- package/lib/src/utils/with-resolvers-polyfill.d.ts +1 -0
- package/lib/src/utils/with-resolvers-polyfill.d.ts.map +1 -0
- package/lib/src/utils/with-resolvers-polyfill.js +12 -0
- package/lib/src/utils/with-resolvers-polyfill.js.map +1 -0
- package/lib/src/utils.d.ts +17 -2
- package/lib/src/utils.d.ts.map +1 -1
- package/lib/src/utils.js +25 -2
- package/lib/src/utils.js.map +1 -1
- package/lib/src/visual-embed-sdk.d.ts +10 -5
- package/package.json +1 -1
- package/src/embed/app.ts +2 -1
- package/src/embed/base.ts +41 -1
- package/src/embed/bodyless-conversation.ts +2 -1
- package/src/embed/conversation.ts +2 -1
- package/src/embed/embedConfig.ts +1 -1
- package/src/embed/liveboard.spec.ts +11 -11
- package/src/embed/liveboard.ts +5 -6
- package/src/embed/sage.ts +1 -2
- package/src/embed/search-bar.tsx +1 -2
- package/src/embed/search.ts +1 -2
- package/src/embed/ts-embed.spec.ts +83 -5
- package/src/embed/ts-embed.ts +33 -17
- package/src/errors.ts +1 -0
- package/src/react/all-types-export.ts +1 -0
- package/src/react/index.tsx +27 -2
- package/src/utils/with-resolvers-polyfill.ts +11 -0
- package/src/utils.ts +35 -4
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
if (typeof Promise.withResolvers === 'undefined') {
|
|
2
|
+
Promise.withResolvers = () => {
|
|
3
|
+
let resolve;
|
|
4
|
+
let reject;
|
|
5
|
+
const promise = new Promise((res, rej) => {
|
|
6
|
+
resolve = res;
|
|
7
|
+
reject = rej;
|
|
8
|
+
});
|
|
9
|
+
return { promise, resolve, reject };
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=with-resolvers-polyfill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-resolvers-polyfill.js","sourceRoot":"","sources":["../../../src/utils/with-resolvers-polyfill.ts"],"names":[],"mappings":"AAAA,IAAI,OAAQ,OAAe,CAAC,aAAa,KAAK,WAAW,EAAE;IACtD,OAAe,CAAC,aAAa,GAAG,GAAG,EAAE;QAClC,IAAI,OAAO,CAAC;QACZ,IAAI,MAAM,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACrC,OAAO,GAAG,GAAG,CAAC;YACd,MAAM,GAAG,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC,CAAC;CACL"}
|
package/lib/src/utils.d.ts
CHANGED
|
@@ -105,12 +105,27 @@ export declare const getTypeFromValue: (value: any) => [string, string];
|
|
|
105
105
|
* Stores a value in the global `window` object under the `_tsEmbedSDK` namespace.
|
|
106
106
|
* @param key - The key under which the value will be stored.
|
|
107
107
|
* @param value - The value to store.
|
|
108
|
+
* @param options - Additional options.
|
|
109
|
+
* @param options.ignoreIfAlreadyExists - Does not set if value for key is set.
|
|
110
|
+
*
|
|
111
|
+
* @returns The stored value.
|
|
112
|
+
*
|
|
113
|
+
* @version SDK: 1.36.2 | ThoughtSpot: *
|
|
108
114
|
*/
|
|
109
|
-
export declare
|
|
115
|
+
export declare function storeValueInWindow<T>(key: string, value: T, options?: {
|
|
116
|
+
ignoreIfAlreadyExists?: boolean;
|
|
117
|
+
}): T;
|
|
110
118
|
/**
|
|
111
119
|
* Retrieves a stored value from the global `window` object under the `_tsEmbedSDK` namespace.
|
|
112
120
|
* @param key - The key whose value needs to be retrieved.
|
|
113
121
|
* @returns The stored value or `undefined` if the key is not found.
|
|
114
122
|
*/
|
|
115
|
-
export declare const getValueFromWindow: (key: string) =>
|
|
123
|
+
export declare const getValueFromWindow: <T = any>(key: string) => T;
|
|
124
|
+
/**
|
|
125
|
+
* Resets the key if it exists in the `window` object under the `_tsEmbedSDK` key.
|
|
126
|
+
* Returns true if the key was reset, false otherwise.
|
|
127
|
+
* @param key - Key to reset
|
|
128
|
+
* @returns - boolean indicating if the key was reset
|
|
129
|
+
*/
|
|
130
|
+
export declare function resetValueFromWindow(key: string): boolean;
|
|
116
131
|
//# sourceMappingURL=utils.d.ts.map
|
package/lib/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACH,WAAW,EACX,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,gBAAgB,EACnB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mBAAoB,aAAa,EAAE,KAAG,MAAM,GAAG,IAqBzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAAuB,gBAAgB,EAAE,KAAG,MAe5E,CAAC;AAwBF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,gBACf,WAAW,2CAEzB,MAkBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,GAAG,MAAM,KAAG,MAMxD,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,MAAM,WAG5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,kBAAkB,MAAM,WAkBlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,SAAK,UAG5E;AAED,eAAO,MAAM,2BAA2B,gBAAiB,MAAM,WAK9D,CAAC;AAEF,eAAO,MAAM,YAAY,YAAa,GAAG,QAGxC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,aAAa,YACb,WAAW;;MAErB,IAIF,CAAC;AAKF,eAAO,MAAM,yBAAyB,mBAClB,MAAM,uBACD,OAAO,KAC7B,OAQF,CAAC;AAEF,eAAO,MAAM,iBAAiB,gBACb,WAAW,cACZ,UAAU,KACvB,uBAuBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,mBAAoB,GAAG,WAAyC,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAEhE;AAED,eAAO,MAAM,SAAS,WAAY,GAAG,UAAU,GAAG;;CAA0B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,UAAW,MAAM,WAItD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,OAYtC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,YAClB,WAAW,mBACH,QAAQ,mBAAmB,CAAC,KAC9C,IAKF,CAAC;AACF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,YAAa,WAAW,mBAAmB,MAAM,EAAE,KAAG,IAKvF,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,GAAG,KAAG,OAA8B,CAAC;AAGxE,eAAO,MAAM,gBAAgB,UAAW,GAAG,KAAG,CAAC,MAAM,EAAE,MAAM,CAW5D,CAAC;AAIF
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACH,WAAW,EACX,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,UAAU,EACV,gBAAgB,EACnB,MAAM,SAAS,CAAC;AAEjB;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,mBAAoB,aAAa,EAAE,KAAG,MAAM,GAAG,IAqBzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,sBAAuB,gBAAgB,EAAE,KAAG,MAe5E,CAAC;AAwBF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,gBACf,WAAW,2CAEzB,MAkBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,GAAG,MAAM,KAAG,MAMxD,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,MAAM,WAG5C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,kBAAkB,MAAM,WAkBlE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,SAAK,UAG5E;AAED,eAAO,MAAM,2BAA2B,gBAAiB,MAAM,WAK9D,CAAC;AAEF,eAAO,MAAM,YAAY,YAAa,GAAG,QAGxC,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAEF,eAAO,MAAM,aAAa,YACb,WAAW;;MAErB,IAIF,CAAC;AAKF,eAAO,MAAM,yBAAyB,mBAClB,MAAM,uBACD,OAAO,KAC7B,OAQF,CAAC;AAEF,eAAO,MAAM,iBAAiB,gBACb,WAAW,cACZ,UAAU,KACvB,uBAuBF,CAAC;AAEF,eAAO,MAAM,iBAAiB,mBAAoB,GAAG,WAAyC,CAAC;AAE/F;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAEhE;AAED,eAAO,MAAM,SAAS,WAAY,GAAG,UAAU,GAAG;;CAA0B,CAAC;AAE7E,eAAO,MAAM,yBAAyB,UAAW,MAAM,WAItD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,OAYtC;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,YAClB,WAAW,mBACH,QAAQ,mBAAmB,CAAC,KAC9C,IAKF,CAAC;AACF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,YAAa,WAAW,mBAAmB,MAAM,EAAE,KAAG,IAKvF,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,GAAG,KAAG,OAA8B,CAAC;AAGxE,eAAO,MAAM,gBAAgB,UAAW,GAAG,KAAG,CAAC,MAAM,EAAE,MAAM,CAW5D,CAAC;AAIF;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,CAAC,CAWH;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,iBACrB,MAAM,MAA8C,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAMzD"}
|
package/lib/src/utils.js
CHANGED
|
@@ -278,17 +278,40 @@ const sdkWindowKey = '_tsEmbedSDK';
|
|
|
278
278
|
* Stores a value in the global `window` object under the `_tsEmbedSDK` namespace.
|
|
279
279
|
* @param key - The key under which the value will be stored.
|
|
280
280
|
* @param value - The value to store.
|
|
281
|
+
* @param options - Additional options.
|
|
282
|
+
* @param options.ignoreIfAlreadyExists - Does not set if value for key is set.
|
|
283
|
+
*
|
|
284
|
+
* @returns The stored value.
|
|
285
|
+
*
|
|
286
|
+
* @version SDK: 1.36.2 | ThoughtSpot: *
|
|
281
287
|
*/
|
|
282
|
-
export
|
|
288
|
+
export function storeValueInWindow(key, value, options = {}) {
|
|
283
289
|
if (!window[sdkWindowKey]) {
|
|
284
290
|
window[sdkWindowKey] = {};
|
|
285
291
|
}
|
|
292
|
+
if (options.ignoreIfAlreadyExists && key in window[sdkWindowKey]) {
|
|
293
|
+
return window[sdkWindowKey][key];
|
|
294
|
+
}
|
|
286
295
|
window[sdkWindowKey][key] = value;
|
|
287
|
-
|
|
296
|
+
return value;
|
|
297
|
+
}
|
|
288
298
|
/**
|
|
289
299
|
* Retrieves a stored value from the global `window` object under the `_tsEmbedSDK` namespace.
|
|
290
300
|
* @param key - The key whose value needs to be retrieved.
|
|
291
301
|
* @returns The stored value or `undefined` if the key is not found.
|
|
292
302
|
*/
|
|
293
303
|
export const getValueFromWindow = (key) => { var _a; return (_a = window === null || window === void 0 ? void 0 : window[sdkWindowKey]) === null || _a === void 0 ? void 0 : _a[key]; };
|
|
304
|
+
/**
|
|
305
|
+
* Resets the key if it exists in the `window` object under the `_tsEmbedSDK` key.
|
|
306
|
+
* Returns true if the key was reset, false otherwise.
|
|
307
|
+
* @param key - Key to reset
|
|
308
|
+
* @returns - boolean indicating if the key was reset
|
|
309
|
+
*/
|
|
310
|
+
export function resetValueFromWindow(key) {
|
|
311
|
+
if (key in window[sdkWindowKey]) {
|
|
312
|
+
delete window[sdkWindowKey][key];
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
return false;
|
|
316
|
+
}
|
|
294
317
|
//# sourceMappingURL=utils.js.map
|
package/lib/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -553,6 +553,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/app' {
|
|
|
553
553
|
declare module '@thoughtspot/visual-embed-sdk/embed/base' {
|
|
554
554
|
import { EmbedConfig, PrefetchFeatures } from '@thoughtspot/visual-embed-sdk/types';
|
|
555
555
|
import { notifyAuthFailure, notifyAuthSDKSuccess, notifyAuthSuccess, notifyLogout, AuthEventEmitter } from '@thoughtspot/visual-embed-sdk/auth';
|
|
556
|
+
import '../utils/with-resolvers-polyfill';
|
|
556
557
|
export interface executeTMLInput {
|
|
557
558
|
metadata_tmls: string[];
|
|
558
559
|
import_policy?: 'PARTIAL' | 'ALL_OR_NONE' | 'VALIDATE_ONLY';
|
|
@@ -587,6 +588,9 @@ declare module '@thoughtspot/visual-embed-sdk/embed/base' {
|
|
|
587
588
|
export const prefetch: (url?: string, prefetchFeatures?: PrefetchFeatures[], additionalFlags?: {
|
|
588
589
|
[key: string]: string | number | boolean;
|
|
589
590
|
}) => void;
|
|
591
|
+
export const createAndSetInitPromise: () => void;
|
|
592
|
+
export const getInitPromise: () => Promise<ReturnType<typeof init>>;
|
|
593
|
+
export const getIsInitCalled: () => boolean;
|
|
590
594
|
/**
|
|
591
595
|
* Initializes the Visual Embed SDK globally and perform
|
|
592
596
|
* authentication if applicable. This function needs to be called before any ThoughtSpot
|
|
@@ -702,7 +706,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
702
706
|
* @author Ayon Ghosh <ayon.ghosh@thoughtspot.com>
|
|
703
707
|
*/
|
|
704
708
|
import { DOMSelector, HostEvent, ViewConfig } from '@thoughtspot/visual-embed-sdk/types';
|
|
705
|
-
import { V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
|
|
709
|
+
import { TsEmbed, V1Embed } from '@thoughtspot/visual-embed-sdk/embed/ts-embed';
|
|
706
710
|
import { TriggerPayload, TriggerResponse } from '@thoughtspot/visual-embed-sdk/embed/hostEventClient/contracts';
|
|
707
711
|
/**
|
|
708
712
|
* The configuration for the embedded Liveboard or visualization page view.
|
|
@@ -1081,7 +1085,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/liveboard' {
|
|
|
1081
1085
|
*/
|
|
1082
1086
|
protected getEmbedParams(): string;
|
|
1083
1087
|
protected beforePrerenderVisible(): void;
|
|
1084
|
-
protected handleRenderForPrerender():
|
|
1088
|
+
protected handleRenderForPrerender(): Promise<TsEmbed>;
|
|
1085
1089
|
/**
|
|
1086
1090
|
* Triggers an event to the embedded app
|
|
1087
1091
|
* @param {HostEvent} messageType The event type
|
|
@@ -7767,6 +7771,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
7767
7771
|
*/
|
|
7768
7772
|
protected isRendered: boolean;
|
|
7769
7773
|
protected hostEventClient: HostEventClient;
|
|
7774
|
+
protected isReadyForRenderPromise: Promise<void>;
|
|
7770
7775
|
constructor(domSelector: DOMSelector, viewConfig?: ViewConfig);
|
|
7771
7776
|
/**
|
|
7772
7777
|
* Handles errors within the SDK
|
|
@@ -7910,12 +7915,12 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
7910
7915
|
*/
|
|
7911
7916
|
render(): Promise<TsEmbed>;
|
|
7912
7917
|
getIframeSrc(): string;
|
|
7913
|
-
protected handleRenderForPrerender():
|
|
7918
|
+
protected handleRenderForPrerender(): Promise<TsEmbed>;
|
|
7914
7919
|
/**
|
|
7915
7920
|
* Creates the preRender shell
|
|
7916
7921
|
* @param showPreRenderByDefault - Show the preRender after render, hidden by default
|
|
7917
7922
|
*/
|
|
7918
|
-
preRender(showPreRenderByDefault?: boolean): TsEmbed
|
|
7923
|
+
preRender(showPreRenderByDefault?: boolean): Promise<TsEmbed>;
|
|
7919
7924
|
/**
|
|
7920
7925
|
* Get the Post Url Params for THOUGHTSPOT from the current
|
|
7921
7926
|
* host app URL.
|
|
@@ -7946,7 +7951,7 @@ declare module '@thoughtspot/visual-embed-sdk/embed/ts-embed' {
|
|
|
7946
7951
|
* Also, synchronizes the style of the PreRender component with the embedding
|
|
7947
7952
|
* element.
|
|
7948
7953
|
*/
|
|
7949
|
-
showPreRender():
|
|
7954
|
+
showPreRender(): Promise<TsEmbed>;
|
|
7950
7955
|
/**
|
|
7951
7956
|
* Synchronizes the style properties of the PreRender component with the embedding
|
|
7952
7957
|
* element. This function adjusts the position, width, and height of the PreRender
|
package/package.json
CHANGED
package/src/embed/app.ts
CHANGED
package/src/embed/base.ts
CHANGED
|
@@ -30,9 +30,10 @@ import {
|
|
|
30
30
|
AuthEventEmitter,
|
|
31
31
|
postLoginService,
|
|
32
32
|
} from '../auth';
|
|
33
|
+
import '../utils/with-resolvers-polyfill';
|
|
33
34
|
import { uploadMixpanelEvent, MIXPANEL_EVENT } from '../mixpanel-service';
|
|
34
35
|
import { getEmbedConfig, setEmbedConfig } from './embedConfig';
|
|
35
|
-
import { getQueryParamString } from '../utils';
|
|
36
|
+
import { getQueryParamString, getValueFromWindow, storeValueInWindow } from '../utils';
|
|
36
37
|
import { resetAllCachedServices } from '../utils/resetServices';
|
|
37
38
|
|
|
38
39
|
const CONFIG_DEFAULTS: Partial<EmbedConfig> = {
|
|
@@ -171,6 +172,40 @@ function backwardCompat(embedConfig: EmbedConfig): EmbedConfig {
|
|
|
171
172
|
return newConfig;
|
|
172
173
|
}
|
|
173
174
|
|
|
175
|
+
type InitFlagStore = {
|
|
176
|
+
initPromise: Promise<ReturnType<typeof init>>;
|
|
177
|
+
isInitCalled: boolean;
|
|
178
|
+
initPromiseResolve: (value: ReturnType<typeof init>) => void;
|
|
179
|
+
}
|
|
180
|
+
const initFlagKey = 'initFlagKey';
|
|
181
|
+
|
|
182
|
+
export const createAndSetInitPromise = (): void => {
|
|
183
|
+
const {
|
|
184
|
+
promise: initPromise,
|
|
185
|
+
resolve: initPromiseResolve,
|
|
186
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
187
|
+
// @ts-ignore
|
|
188
|
+
} = Promise.withResolvers<AuthEventEmitter>();
|
|
189
|
+
const initFlagStore: InitFlagStore = {
|
|
190
|
+
initPromise,
|
|
191
|
+
isInitCalled: false,
|
|
192
|
+
initPromiseResolve,
|
|
193
|
+
};
|
|
194
|
+
storeValueInWindow(initFlagKey, initFlagStore, {
|
|
195
|
+
// In case of diff imports the promise might be already set
|
|
196
|
+
ignoreIfAlreadyExists: true,
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
createAndSetInitPromise();
|
|
201
|
+
|
|
202
|
+
export const getInitPromise = ():
|
|
203
|
+
Promise<
|
|
204
|
+
ReturnType<typeof init>
|
|
205
|
+
> => getValueFromWindow<InitFlagStore>(initFlagKey)?.initPromise;
|
|
206
|
+
|
|
207
|
+
export const getIsInitCalled = (): boolean => !!getValueFromWindow(initFlagKey)?.isInitCalled;
|
|
208
|
+
|
|
174
209
|
/**
|
|
175
210
|
* Initializes the Visual Embed SDK globally and perform
|
|
176
211
|
* authentication if applicable. This function needs to be called before any ThoughtSpot
|
|
@@ -223,6 +258,11 @@ export const init = (embedConfig: EmbedConfig): AuthEventEmitter => {
|
|
|
223
258
|
if (getEmbedConfig().callPrefetch) {
|
|
224
259
|
prefetch(getEmbedConfig().thoughtSpotHost);
|
|
225
260
|
}
|
|
261
|
+
|
|
262
|
+
// Resolves the promise created in the initPromiseKey
|
|
263
|
+
getValueFromWindow<InitFlagStore>(initFlagKey).initPromiseResolve(authEE);
|
|
264
|
+
getValueFromWindow<InitFlagStore>(initFlagKey).isInitCalled = true;
|
|
265
|
+
|
|
226
266
|
return authEE as AuthEventEmitter;
|
|
227
267
|
};
|
|
228
268
|
|
|
@@ -164,7 +164,8 @@ export class ConversationEmbed extends TsEmbed {
|
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
public async render(): Promise<ConversationEmbed> {
|
|
167
|
-
super.render();
|
|
167
|
+
await super.render();
|
|
168
|
+
|
|
168
169
|
const src = this.getIframeSrc();
|
|
169
170
|
await this.renderIFrame(src);
|
|
170
171
|
return this;
|
package/src/embed/embedConfig.ts
CHANGED
|
@@ -9,7 +9,7 @@ const configKey = 'embedConfig';
|
|
|
9
9
|
* @version SDK: 1.19.0 | ThoughtSpot: *
|
|
10
10
|
* @group Global methods
|
|
11
11
|
*/
|
|
12
|
-
export const getEmbedConfig = (): EmbedConfig => getValueFromWindow(configKey) || {};
|
|
12
|
+
export const getEmbedConfig = (): EmbedConfig => getValueFromWindow(configKey) || ({} as any);
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Sets the configuration embed was initialized with.
|
|
@@ -553,13 +553,13 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
553
553
|
});
|
|
554
554
|
});
|
|
555
555
|
|
|
556
|
-
test('navigateToLiveboard should trigger the navigate event with the correct path', (done) => {
|
|
556
|
+
test('navigateToLiveboard should trigger the navigate event with the correct path', async (done) => {
|
|
557
557
|
mockMessageChannel();
|
|
558
558
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
559
559
|
...defaultViewConfig,
|
|
560
560
|
} as LiveboardViewConfig);
|
|
561
561
|
const onSpy = jest.spyOn(liveboardEmbed, 'trigger');
|
|
562
|
-
liveboardEmbed.prerenderGeneric();
|
|
562
|
+
await liveboardEmbed.prerenderGeneric();
|
|
563
563
|
executeAfterWait(() => {
|
|
564
564
|
const iframe = getIFrameEl();
|
|
565
565
|
postMessageToParent(iframe.contentWindow, {
|
|
@@ -573,14 +573,14 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
573
573
|
});
|
|
574
574
|
});
|
|
575
575
|
|
|
576
|
-
test('navigateToLiveboard with preRender', (done) => {
|
|
576
|
+
test('navigateToLiveboard with preRender', async (done) => {
|
|
577
577
|
mockMessageChannel();
|
|
578
578
|
const liveboardEmbed = new LiveboardEmbed(getRootEl(), {
|
|
579
579
|
...defaultViewConfig,
|
|
580
580
|
preRenderId: 'test',
|
|
581
581
|
} as LiveboardViewConfig);
|
|
582
582
|
const onSpy = jest.spyOn(liveboardEmbed, 'trigger');
|
|
583
|
-
liveboardEmbed.prerenderGeneric();
|
|
583
|
+
await liveboardEmbed.prerenderGeneric();
|
|
584
584
|
executeAfterWait(() => {
|
|
585
585
|
const iframe = getIFrameEl();
|
|
586
586
|
postMessageToParent(iframe.contentWindow, {
|
|
@@ -604,7 +604,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
604
604
|
},
|
|
605
605
|
],
|
|
606
606
|
} as LiveboardViewConfig);
|
|
607
|
-
liveboardEmbed.render();
|
|
607
|
+
await liveboardEmbed.render();
|
|
608
608
|
await executeAfterWait(() => {
|
|
609
609
|
expectUrlMatchesWithParams(
|
|
610
610
|
getIFrameSrc(),
|
|
@@ -637,7 +637,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
637
637
|
...defaultViewConfig,
|
|
638
638
|
liveboardId,
|
|
639
639
|
} as LiveboardViewConfig);
|
|
640
|
-
liveboardEmbed.render();
|
|
640
|
+
await liveboardEmbed.render();
|
|
641
641
|
await executeAfterWait(() => {
|
|
642
642
|
const result = liveboardEmbed.trigger(HostEvent.SetActiveTab, {
|
|
643
643
|
tabId: newActiveTabId,
|
|
@@ -650,13 +650,13 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
650
650
|
});
|
|
651
651
|
|
|
652
652
|
describe('PreRender flow for liveboard embed', () => {
|
|
653
|
-
test('it should preRender generic with liveboard id is not passed', (done) => {
|
|
653
|
+
test('it should preRender generic with liveboard id is not passed', async (done) => {
|
|
654
654
|
const consoleSpy = jest.spyOn(console, 'error');
|
|
655
655
|
const libEmbed = new LiveboardEmbed(getRootEl(), {
|
|
656
656
|
preRenderId: 'testPreRender',
|
|
657
657
|
});
|
|
658
658
|
const prerenderGenericSpy = jest.spyOn(libEmbed, 'prerenderGeneric');
|
|
659
|
-
libEmbed.preRender();
|
|
659
|
+
await libEmbed.preRender();
|
|
660
660
|
executeAfterWait(() => {
|
|
661
661
|
const iFrame = document.getElementById(
|
|
662
662
|
libEmbed.getPreRenderIds().child,
|
|
@@ -735,7 +735,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
735
735
|
};
|
|
736
736
|
});
|
|
737
737
|
|
|
738
|
-
libEmbed.preRender();
|
|
738
|
+
await libEmbed.preRender();
|
|
739
739
|
|
|
740
740
|
await waitFor(() => !!getIFrameEl());
|
|
741
741
|
|
|
@@ -750,7 +750,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
750
750
|
liveboardId: testLiveboardId,
|
|
751
751
|
});
|
|
752
752
|
const navigateToLiveboardSpy = jest.spyOn(newLibEmbed, 'navigateToLiveboard');
|
|
753
|
-
newLibEmbed.showPreRender();
|
|
753
|
+
await newLibEmbed.showPreRender();
|
|
754
754
|
|
|
755
755
|
executeAfterWait(() => {
|
|
756
756
|
const iFrame = document.getElementById(
|
|
@@ -776,7 +776,7 @@ describe('Liveboard/viz embed tests', () => {
|
|
|
776
776
|
...defaultViewConfig,
|
|
777
777
|
vizId: 'testViz',
|
|
778
778
|
});
|
|
779
|
-
liveboardEmbed.render();
|
|
779
|
+
await liveboardEmbed.render();
|
|
780
780
|
mockProcessTrigger.mockResolvedValue({ session: 'test' });
|
|
781
781
|
await executeAfterWait(async () => {
|
|
782
782
|
await liveboardEmbed.trigger(
|
package/src/embed/liveboard.ts
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
} from '../types';
|
|
22
22
|
import { getQueryParamString, isUndefined } from '../utils';
|
|
23
23
|
import { getAuthPromise } from './base';
|
|
24
|
-
import { V1Embed } from './ts-embed';
|
|
24
|
+
import { TsEmbed, V1Embed } from './ts-embed';
|
|
25
25
|
import { addPreviewStylesIfNotPresent } from '../utils/global-styles';
|
|
26
26
|
import { TriggerPayload, TriggerResponse } from './hostEventClient/contracts';
|
|
27
27
|
|
|
@@ -635,12 +635,11 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
635
635
|
}
|
|
636
636
|
}
|
|
637
637
|
|
|
638
|
-
protected handleRenderForPrerender():
|
|
638
|
+
protected async handleRenderForPrerender(): Promise<TsEmbed> {
|
|
639
639
|
if (isUndefined(this.viewConfig.liveboardId)) {
|
|
640
|
-
this.prerenderGeneric();
|
|
641
|
-
return;
|
|
640
|
+
return this.prerenderGeneric();
|
|
642
641
|
}
|
|
643
|
-
super.handleRenderForPrerender();
|
|
642
|
+
return super.handleRenderForPrerender();
|
|
644
643
|
}
|
|
645
644
|
|
|
646
645
|
/**
|
|
@@ -670,7 +669,7 @@ export class LiveboardEmbed extends V1Embed {
|
|
|
670
669
|
* visualization ID and the runtime filters.
|
|
671
670
|
*/
|
|
672
671
|
public async render(): Promise<LiveboardEmbed> {
|
|
673
|
-
super.render();
|
|
672
|
+
await super.render();
|
|
674
673
|
|
|
675
674
|
const src = this.getIFrameSrc();
|
|
676
675
|
await this.renderV1Embed(src);
|
package/src/embed/sage.ts
CHANGED
|
@@ -206,8 +206,7 @@ export class SageEmbed extends V1Embed {
|
|
|
206
206
|
* @returns {SageEmbed} Eureka/Sage embed
|
|
207
207
|
*/
|
|
208
208
|
public async render(): Promise<SageEmbed> {
|
|
209
|
-
super.render();
|
|
210
|
-
|
|
209
|
+
await super.render();
|
|
211
210
|
const src = this.getIFrameSrc();
|
|
212
211
|
await this.renderV1Embed(src);
|
|
213
212
|
|
package/src/embed/search-bar.tsx
CHANGED
|
@@ -174,8 +174,7 @@ export class SearchBarEmbed extends TsEmbed {
|
|
|
174
174
|
* Render the embedded ThoughtSpot search
|
|
175
175
|
*/
|
|
176
176
|
public async render(): Promise<SearchBarEmbed> {
|
|
177
|
-
super.render();
|
|
178
|
-
|
|
177
|
+
await super.render();
|
|
179
178
|
const src = this.getIFrameSrc();
|
|
180
179
|
await this.renderIFrame(src);
|
|
181
180
|
return this;
|
package/src/embed/search.ts
CHANGED
|
@@ -482,9 +482,8 @@ export class SearchEmbed extends TsEmbed {
|
|
|
482
482
|
* Render the embedded ThoughtSpot search
|
|
483
483
|
*/
|
|
484
484
|
public async render(): Promise<SearchEmbed> {
|
|
485
|
-
super.render();
|
|
485
|
+
await super.render();
|
|
486
486
|
const { answerId } = this.viewConfig;
|
|
487
|
-
|
|
488
487
|
const src = this.getIFrameSrc();
|
|
489
488
|
await this.renderIFrame(src);
|
|
490
489
|
getAuthPromise().then(() => {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
/* eslint-disable dot-notation */
|
|
2
|
+
import { resetValueFromWindow } from '../utils';
|
|
3
|
+
import { ERROR_MESSAGE } from '../errors';
|
|
2
4
|
import { resetCachedAuthToken } from '../authToken';
|
|
3
5
|
import {
|
|
4
6
|
AuthType,
|
|
@@ -1249,14 +1251,14 @@ describe('Unit test case for ts embed', () => {
|
|
|
1249
1251
|
});
|
|
1250
1252
|
});
|
|
1251
1253
|
|
|
1252
|
-
beforeEach(() => {
|
|
1254
|
+
beforeEach(async () => {
|
|
1253
1255
|
jest.spyOn(baseInstance, 'getAuthPromise').mockRejectedValueOnce(false);
|
|
1254
1256
|
const tsEmbed = new SearchEmbed(getRootEl(), {});
|
|
1255
1257
|
const iFrame: any = document.createElement('div');
|
|
1256
1258
|
iFrame.contentWindow = null;
|
|
1257
1259
|
jest.spyOn(document, 'createElement').mockReturnValueOnce(iFrame);
|
|
1258
1260
|
spyOn(logger, 'error');
|
|
1259
|
-
tsEmbed.render();
|
|
1261
|
+
await tsEmbed.render();
|
|
1260
1262
|
});
|
|
1261
1263
|
|
|
1262
1264
|
test('mixpanel should call with VISUAL_SDK_RENDER_FAILED', () => {
|
|
@@ -1433,7 +1435,7 @@ describe('Unit test case for ts embed', () => {
|
|
|
1433
1435
|
test('Error should be true', async () => {
|
|
1434
1436
|
spyOn(logger, 'error');
|
|
1435
1437
|
const tsEmbed = new SearchEmbed(getRootEl(), {});
|
|
1436
|
-
tsEmbed.render();
|
|
1438
|
+
await tsEmbed.render();
|
|
1437
1439
|
expect(tsEmbed['isError']).toBe(true);
|
|
1438
1440
|
expect(logger.error).toHaveBeenCalledWith(
|
|
1439
1441
|
'You need to init the ThoughtSpot SDK module first',
|
|
@@ -1446,11 +1448,11 @@ describe('Unit test case for ts embed', () => {
|
|
|
1446
1448
|
jest.spyOn(config, 'getThoughtSpotHost').mockImplementation(() => 'http://tshost');
|
|
1447
1449
|
});
|
|
1448
1450
|
|
|
1449
|
-
test('when isRendered is true than isError will be true', () => {
|
|
1451
|
+
test('when isRendered is true than isError will be true', async () => {
|
|
1450
1452
|
spyOn(logger, 'warn');
|
|
1451
1453
|
const viEmbedIns = new tsEmbedInstance.V1Embed(getRootEl(), defaultViewConfig);
|
|
1452
1454
|
expect(viEmbedIns['isError']).toBe(false);
|
|
1453
|
-
viEmbedIns.render();
|
|
1455
|
+
await viEmbedIns.render();
|
|
1454
1456
|
viEmbedIns.on(EmbedEvent.CustomAction, jest.fn()).render();
|
|
1455
1457
|
expect(logger.warn).toHaveBeenCalledWith(
|
|
1456
1458
|
'Please register event handlers before calling render',
|
|
@@ -2382,4 +2384,80 @@ describe('Unit test case for ts embed', () => {
|
|
|
2382
2384
|
jest.spyOn(baseInstance, 'notifyAuthFailure').mockClear();
|
|
2383
2385
|
});
|
|
2384
2386
|
});
|
|
2387
|
+
|
|
2388
|
+
describe('Renders should wait for init to completed', () => {
|
|
2389
|
+
const errorSpy = jest.spyOn(logger, 'error').mockResolvedValue(true);
|
|
2390
|
+
beforeEach(() => {
|
|
2391
|
+
errorSpy.mockClear();
|
|
2392
|
+
resetValueFromWindow('initFlagKey');
|
|
2393
|
+
baseInstance.createAndSetInitPromise();
|
|
2394
|
+
document.body.innerHTML = getDocumentBody();
|
|
2395
|
+
});
|
|
2396
|
+
test('Pre-render should wait for init to complete', async () => {
|
|
2397
|
+
const lib = new LiveboardEmbed(getRootEl(), { preRenderId: 'test', liveboardId: 'test' });
|
|
2398
|
+
lib.preRender();
|
|
2399
|
+
await executeAfterWait(() => {
|
|
2400
|
+
expect(errorSpy).toHaveBeenCalledWith(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
|
|
2401
|
+
expect(getRootEl().innerHTML).toContain('');
|
|
2402
|
+
});
|
|
2403
|
+
|
|
2404
|
+
const iframeBeforeInit = getIFrameEl();
|
|
2405
|
+
expect(iframeBeforeInit).toBe(null);
|
|
2406
|
+
|
|
2407
|
+
init({
|
|
2408
|
+
thoughtSpotHost: 'tshost',
|
|
2409
|
+
authType: AuthType.None,
|
|
2410
|
+
});
|
|
2411
|
+
|
|
2412
|
+
await waitFor(() => !!getIFrameEl());
|
|
2413
|
+
const preRenderId = lib.getPreRenderIds().wrapper;
|
|
2414
|
+
expect(document.getElementById(preRenderId)).not.toBe(null);
|
|
2415
|
+
const iframeAfterInit = getIFrameEl();
|
|
2416
|
+
expect(iframeAfterInit).not.toBe(null);
|
|
2417
|
+
});
|
|
2418
|
+
|
|
2419
|
+
test('Render should wait for init to complete', async () => {
|
|
2420
|
+
const lib = new LiveboardEmbed(getRootEl(), { liveboardId: 'test' });
|
|
2421
|
+
lib.render();
|
|
2422
|
+
await executeAfterWait(() => {
|
|
2423
|
+
expect(errorSpy).toHaveBeenCalledWith(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
|
|
2424
|
+
expect(getRootEl().innerHTML).toContain('');
|
|
2425
|
+
});
|
|
2426
|
+
|
|
2427
|
+
const iframeBeforeInit = getIFrameEl();
|
|
2428
|
+
expect(iframeBeforeInit).toBe(null);
|
|
2429
|
+
|
|
2430
|
+
init({
|
|
2431
|
+
thoughtSpotHost: 'tshost',
|
|
2432
|
+
authType: AuthType.None,
|
|
2433
|
+
});
|
|
2434
|
+
|
|
2435
|
+
await waitFor(() => !!getIFrameEl());
|
|
2436
|
+
expect(getRootEl()).not.toBe(null);
|
|
2437
|
+
const iframeAfterInit = getIFrameEl();
|
|
2438
|
+
expect(iframeAfterInit).not.toBe(null);
|
|
2439
|
+
});
|
|
2440
|
+
|
|
2441
|
+
test('Pre Render Generic should wait for init to complete', async () => {
|
|
2442
|
+
const lib = new LiveboardEmbed(getRootEl(), {});
|
|
2443
|
+
lib.prerenderGeneric();
|
|
2444
|
+
await executeAfterWait(() => {
|
|
2445
|
+
expect(errorSpy).toHaveBeenCalledWith(ERROR_MESSAGE.RENDER_CALLED_BEFORE_INIT);
|
|
2446
|
+
expect(getRootEl().innerHTML).toContain('');
|
|
2447
|
+
});
|
|
2448
|
+
|
|
2449
|
+
const iframeBeforeInit = getIFrameEl();
|
|
2450
|
+
expect(iframeBeforeInit).toBe(null);
|
|
2451
|
+
|
|
2452
|
+
init({
|
|
2453
|
+
thoughtSpotHost: 'tshost',
|
|
2454
|
+
authType: AuthType.None,
|
|
2455
|
+
});
|
|
2456
|
+
|
|
2457
|
+
await waitFor(() => !!getIFrameEl());
|
|
2458
|
+
expect(getRootEl()).not.toBe(null);
|
|
2459
|
+
const iframeAfterInit = getIFrameEl();
|
|
2460
|
+
expect(iframeAfterInit).not.toBe(null);
|
|
2461
|
+
});
|
|
2462
|
+
});
|
|
2385
2463
|
});
|