@thoughtspot/visual-embed-sdk 1.24.0-preRender.1 → 1.24.0-preRender.3

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 (129) hide show
  1. package/cjs/package.json +1 -1
  2. package/cjs/src/embed/app.d.ts +1 -3
  3. package/cjs/src/embed/app.d.ts.map +1 -1
  4. package/cjs/src/embed/app.js +2 -8
  5. package/cjs/src/embed/app.js.map +1 -1
  6. package/cjs/src/embed/liveboard.d.ts +1 -2
  7. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  8. package/cjs/src/embed/liveboard.js +2 -7
  9. package/cjs/src/embed/liveboard.js.map +1 -1
  10. package/cjs/src/embed/sage.d.ts +1 -3
  11. package/cjs/src/embed/sage.d.ts.map +1 -1
  12. package/cjs/src/embed/sage.js +2 -8
  13. package/cjs/src/embed/sage.js.map +1 -1
  14. package/cjs/src/embed/search.d.ts +1 -4
  15. package/cjs/src/embed/search.d.ts.map +1 -1
  16. package/cjs/src/embed/search.js +2 -9
  17. package/cjs/src/embed/search.js.map +1 -1
  18. package/cjs/src/embed/ts-embed.d.ts +47 -17
  19. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  20. package/cjs/src/embed/ts-embed.js +144 -99
  21. package/cjs/src/embed/ts-embed.js.map +1 -1
  22. package/cjs/src/embed/ts-embed.spec.js +102 -0
  23. package/cjs/src/embed/ts-embed.spec.js.map +1 -1
  24. package/cjs/src/react/all-types-export.d.ts +1 -1
  25. package/cjs/src/react/all-types-export.d.ts.map +1 -1
  26. package/cjs/src/react/all-types-export.js +6 -2
  27. package/cjs/src/react/all-types-export.js.map +1 -1
  28. package/cjs/src/react/index.d.ts +103 -5
  29. package/cjs/src/react/index.d.ts.map +1 -1
  30. package/cjs/src/react/index.js +81 -1
  31. package/cjs/src/react/index.js.map +1 -1
  32. package/cjs/src/react/index.spec.js +22 -0
  33. package/cjs/src/react/index.spec.js.map +1 -1
  34. package/cjs/src/types.d.ts +18 -0
  35. package/cjs/src/types.d.ts.map +1 -1
  36. package/cjs/src/types.js.map +1 -1
  37. package/cjs/src/utils.d.ts +27 -0
  38. package/cjs/src/utils.d.ts.map +1 -1
  39. package/cjs/src/utils.js +29 -2
  40. package/cjs/src/utils.js.map +1 -1
  41. package/cjs/src/utils.spec.d.ts +0 -3
  42. package/cjs/src/utils.spec.d.ts.map +1 -1
  43. package/cjs/src/utils.spec.js +59 -6
  44. package/cjs/src/utils.spec.js.map +1 -1
  45. package/dist/src/embed/app.d.ts +1 -3
  46. package/dist/src/embed/app.d.ts.map +1 -1
  47. package/dist/src/embed/liveboard.d.ts +1 -2
  48. package/dist/src/embed/liveboard.d.ts.map +1 -1
  49. package/dist/src/embed/sage.d.ts +1 -3
  50. package/dist/src/embed/sage.d.ts.map +1 -1
  51. package/dist/src/embed/search.d.ts +1 -4
  52. package/dist/src/embed/search.d.ts.map +1 -1
  53. package/dist/src/embed/ts-embed.d.ts +47 -17
  54. package/dist/src/embed/ts-embed.d.ts.map +1 -1
  55. package/dist/src/react/all-types-export.d.ts +1 -1
  56. package/dist/src/react/all-types-export.d.ts.map +1 -1
  57. package/dist/src/react/index.d.ts +103 -5
  58. package/dist/src/react/index.d.ts.map +1 -1
  59. package/dist/src/types.d.ts +18 -0
  60. package/dist/src/types.d.ts.map +1 -1
  61. package/dist/src/utils.d.ts +27 -0
  62. package/dist/src/utils.d.ts.map +1 -1
  63. package/dist/src/utils.spec.d.ts +0 -3
  64. package/dist/src/utils.spec.d.ts.map +1 -1
  65. package/dist/tsembed-react.es.js +263 -135
  66. package/dist/tsembed-react.js +263 -134
  67. package/dist/tsembed.es.js +182 -134
  68. package/dist/tsembed.js +182 -134
  69. package/dist/visual-embed-sdk-react-full.d.ts +166 -33
  70. package/dist/visual-embed-sdk-react.d.ts +166 -33
  71. package/dist/visual-embed-sdk.d.ts +63 -28
  72. package/lib/package.json +1 -1
  73. package/lib/src/embed/app.d.ts +1 -3
  74. package/lib/src/embed/app.d.ts.map +1 -1
  75. package/lib/src/embed/app.js +2 -8
  76. package/lib/src/embed/app.js.map +1 -1
  77. package/lib/src/embed/liveboard.d.ts +1 -2
  78. package/lib/src/embed/liveboard.d.ts.map +1 -1
  79. package/lib/src/embed/liveboard.js +2 -7
  80. package/lib/src/embed/liveboard.js.map +1 -1
  81. package/lib/src/embed/sage.d.ts +1 -3
  82. package/lib/src/embed/sage.d.ts.map +1 -1
  83. package/lib/src/embed/sage.js +2 -8
  84. package/lib/src/embed/sage.js.map +1 -1
  85. package/lib/src/embed/search.d.ts +1 -4
  86. package/lib/src/embed/search.d.ts.map +1 -1
  87. package/lib/src/embed/search.js +2 -9
  88. package/lib/src/embed/search.js.map +1 -1
  89. package/lib/src/embed/ts-embed.d.ts +47 -17
  90. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  91. package/lib/src/embed/ts-embed.js +144 -99
  92. package/lib/src/embed/ts-embed.js.map +1 -1
  93. package/lib/src/embed/ts-embed.spec.js +102 -0
  94. package/lib/src/embed/ts-embed.spec.js.map +1 -1
  95. package/lib/src/react/all-types-export.d.ts +1 -1
  96. package/lib/src/react/all-types-export.d.ts.map +1 -1
  97. package/lib/src/react/all-types-export.js +1 -1
  98. package/lib/src/react/all-types-export.js.map +1 -1
  99. package/lib/src/react/index.d.ts +103 -5
  100. package/lib/src/react/index.d.ts.map +1 -1
  101. package/lib/src/react/index.js +80 -0
  102. package/lib/src/react/index.js.map +1 -1
  103. package/lib/src/react/index.spec.js +23 -1
  104. package/lib/src/react/index.spec.js.map +1 -1
  105. package/lib/src/types.d.ts +18 -0
  106. package/lib/src/types.d.ts.map +1 -1
  107. package/lib/src/types.js.map +1 -1
  108. package/lib/src/utils.d.ts +27 -0
  109. package/lib/src/utils.d.ts.map +1 -1
  110. package/lib/src/utils.js +29 -2
  111. package/lib/src/utils.js.map +1 -1
  112. package/lib/src/utils.spec.d.ts +0 -3
  113. package/lib/src/utils.spec.d.ts.map +1 -1
  114. package/lib/src/utils.spec.js +60 -7
  115. package/lib/src/utils.spec.js.map +1 -1
  116. package/lib/src/visual-embed-sdk.d.ts +63 -28
  117. package/package.json +1 -1
  118. package/src/embed/app.ts +6 -11
  119. package/src/embed/liveboard.ts +2 -10
  120. package/src/embed/sage.ts +2 -11
  121. package/src/embed/search.ts +2 -12
  122. package/src/embed/ts-embed.spec.ts +127 -0
  123. package/src/embed/ts-embed.ts +170 -128
  124. package/src/react/all-types-export.ts +5 -1
  125. package/src/react/index.spec.tsx +42 -1
  126. package/src/react/index.tsx +120 -17
  127. package/src/types.ts +19 -0
  128. package/src/utils.spec.ts +78 -7
  129. package/src/utils.ts +30 -7
@@ -109,6 +109,7 @@ class TsEmbed {
109
109
  this.on(types_1.EmbedEvent.APP_INIT, this.appInitCb, { start: false }, true);
110
110
  this.on(types_1.EmbedEvent.AuthExpire, this.updateAuthToken, { start: false }, true);
111
111
  };
112
+ this.showPreRenderByDefault = false;
112
113
  this.el = (0, utils_1.getDOMNode)(domSelector);
113
114
  // TODO: handle error
114
115
  this.embedConfig = (0, base_1.getEmbedConfig)();
@@ -395,12 +396,12 @@ class TsEmbed {
395
396
  iFrame.name = 'ThoughtSpot Embedded Analytics';
396
397
  return iFrame;
397
398
  }
398
- handleInsertionIntoDOM(child, showPreRenderByDefault = false) {
399
+ handleInsertionIntoDOM(child) {
399
400
  if (this.isPreRendered) {
400
- this.insertIntoDOMForPreRender(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
401
+ this.insertIntoDOMForPreRender(child);
401
402
  }
402
403
  else {
403
- this.insertIntoDOM(this.embedConfig.loginFailedMessage);
404
+ this.insertIntoDOM(child);
404
405
  }
405
406
  }
406
407
  /**
@@ -408,9 +409,8 @@ class TsEmbed {
408
409
  * event listeners.
409
410
  *
410
411
  * @param url - The URL of the embedded ThoughtSpot app.
411
- * @param showPreRenderByDefault - The flag to show the preRender by default.
412
412
  */
413
- async renderIFrame(url, showPreRenderByDefault = false) {
413
+ async renderIFrame(url) {
414
414
  if (this.isError) {
415
415
  return null;
416
416
  }
@@ -432,7 +432,7 @@ class TsEmbed {
432
432
  (0, mixpanel_service_1.uploadMixpanelEvent)(mixpanel_service_1.MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
433
433
  return (_a = (0, base_1.getAuthPromise)()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
434
434
  if (!isLoggedIn) {
435
- this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
435
+ this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage);
436
436
  return;
437
437
  }
438
438
  this.iFrame = this.iFrame || this.createIframeEl(url);
@@ -454,7 +454,7 @@ class TsEmbed {
454
454
  this.iFrame.addEventListener('error', () => {
455
455
  nextInQueue();
456
456
  });
457
- this.handleInsertionIntoDOM(this.iFrame, showPreRenderByDefault);
457
+ this.handleInsertionIntoDOM(this.iFrame);
458
458
  const prefetchIframe = document.querySelectorAll('.prefetchIframe');
459
459
  if (prefetchIframe.length) {
460
460
  prefetchIframe.forEach((el) => {
@@ -472,45 +472,28 @@ class TsEmbed {
472
472
  });
473
473
  });
474
474
  }
475
- getPreRenderIds() {
476
- return {
477
- wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
478
- shield: `tsEmbed-pre-render-shield-${this.viewConfig.preRenderId}`,
479
- child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
480
- };
481
- }
482
- createPreRenderWrapper(child) {
475
+ createPreRenderWrapper() {
476
+ var _a;
483
477
  if (!this.viewConfig.preRenderId) {
484
- throw new Error('PreRender id is required');
478
+ throw new Error('PreRender id is required to create PreRender wrapper');
485
479
  }
486
480
  const preRenderIds = this.getPreRenderIds();
487
- [preRenderIds.wrapper, preRenderIds.shield, preRenderIds.child]
488
- .map((id) => document.getElementById(id))
489
- .filter((element) => element)
490
- .forEach((existingElement) => existingElement.remove());
481
+ (_a = document.getElementById(preRenderIds.wrapper)) === null || _a === void 0 ? void 0 : _a.remove();
491
482
  const preRenderWrapper = document.createElement('div');
492
483
  preRenderWrapper.id = preRenderIds.wrapper;
493
- (0, utils_1.setStyleProperties)(preRenderWrapper, { position: 'absolute', width: '100vw', height: '100vh' });
494
- // const preRenderShield = document.createElement('div');
495
- // preRenderShield.id = preRenderIds.shield;
496
- // setStyleProperties(preRenderShield, { position: 'absolute',
497
- // width: '100%', height: '100%' });
498
- child.id = preRenderIds.child;
499
- preRenderWrapper.appendChild(child);
500
- // preRenderWrapper.appendChild(preRenderShield);
501
- this.preRenderWrapper = preRenderWrapper;
502
- // this.preRenderShield = preRenderShield;
503
- this.preRenderChild = child;
484
+ const initialPreRenderWrapperStyle = {
485
+ position: 'absolute',
486
+ width: '100vw',
487
+ height: '100vh',
488
+ };
489
+ (0, utils_1.setStyleProperties)(preRenderWrapper, initialPreRenderWrapperStyle);
504
490
  return preRenderWrapper;
505
491
  }
506
492
  connectPreRendered() {
507
493
  const preRenderIds = this.getPreRenderIds();
508
494
  this.preRenderWrapper = this.preRenderWrapper
509
495
  || document.getElementById(preRenderIds.wrapper);
510
- // this.preRenderShield = this.preRenderShield
511
- // || document.getElementById(preRenderIds.shield);
512
- this.preRenderChild = this.preRenderChild
513
- || document.getElementById(preRenderIds.child);
496
+ this.preRenderChild = this.preRenderChild || document.getElementById(preRenderIds.child);
514
497
  if (this.preRenderWrapper && this.preRenderChild) {
515
498
  this.isPreRendered = true;
516
499
  this.iFrame = this.preRenderChild;
@@ -518,79 +501,45 @@ class TsEmbed {
518
501
  return this.isPreRenderAvailable();
519
502
  }
520
503
  isPreRenderAvailable() {
521
- return this.isPreRendered;
504
+ return this.isPreRendered && Boolean(this.preRenderWrapper && this.preRenderChild);
522
505
  }
523
- insertIntoDOMForPreRender(child, showPreRenderByDefault = false) {
524
- let childNode;
506
+ createPreRenderChild(child) {
507
+ var _a;
508
+ const preRenderIds = this.getPreRenderIds();
509
+ (_a = document.getElementById(preRenderIds.child)) === null || _a === void 0 ? void 0 : _a.remove();
510
+ if (child instanceof HTMLElement) {
511
+ child.id = preRenderIds.child;
512
+ return child;
513
+ }
514
+ const divChildNode = document.createElement('div');
515
+ (0, utils_1.setStyleProperties)(divChildNode, { width: '100%', height: '100%' });
516
+ divChildNode.id = preRenderIds.child;
525
517
  if (typeof child === 'string') {
526
- const divChildNode = document.createElement('div');
527
518
  divChildNode.innerHTML = child;
528
- childNode = divChildNode;
529
519
  }
530
520
  else {
531
- childNode = child;
521
+ divChildNode.appendChild(child);
522
+ }
523
+ return divChildNode;
524
+ }
525
+ insertIntoDOMForPreRender(child) {
526
+ const preRenderChild = this.createPreRenderChild(child);
527
+ const preRenderWrapper = this.createPreRenderWrapper();
528
+ preRenderWrapper.appendChild(preRenderChild);
529
+ this.preRenderChild = preRenderChild;
530
+ this.preRenderWrapper = preRenderWrapper;
531
+ if (preRenderChild instanceof HTMLIFrameElement) {
532
+ this.iFrame = preRenderChild;
532
533
  }
533
- const preRenderWrapper = this.createPreRenderWrapper(childNode);
534
- if (showPreRenderByDefault) {
534
+ if (this.showPreRenderByDefault) {
535
535
  this.showPreRender();
536
536
  }
537
537
  else {
538
538
  this.hidePreRender();
539
539
  }
540
+ this.insertedDomEl = preRenderWrapper;
540
541
  document.body.appendChild(preRenderWrapper);
541
542
  }
542
- hidePreRender() {
543
- if (!this.isPreRenderAvailable()) {
544
- // if the embed component is not preRendered , nothing to hide
545
- console.log('No preRender found, not hiding ');
546
- return;
547
- }
548
- (0, utils_1.setStyleProperties)(this.preRenderWrapper, {
549
- opacity: '0',
550
- pointerEvents: 'none',
551
- zIndex: '-1000',
552
- position: 'absolute ',
553
- top: '0',
554
- left: '0',
555
- });
556
- const childBoundingRect = this.preRenderChild.getBoundingClientRect();
557
- // setStyleProperties(this.preRenderShield, {
558
- // opacity: '0',
559
- // pointerEvents: 'none',
560
- // zIndex: '1',
561
- // width: `${childBoundingRect.width}px`,
562
- // height: `${childBoundingRect.height}px`,
563
- // position: 'absolute',
564
- // top: '0',
565
- // left: '0',
566
- // });
567
- this.unsubscribeToEvents();
568
- }
569
- showPreRender() {
570
- if (!this.isPreRenderAvailable()) {
571
- const isAvailable = this.connectPreRendered();
572
- if (!isAvailable) {
573
- // if the Embed component is nor preRendered , Render it now and
574
- // show it (hide is defalt behaviour)
575
- console.log('No preRender found, creating new ');
576
- this.preRender(true);
577
- return;
578
- }
579
- }
580
- this.syncPreRenderStyle();
581
- (0, utils_1.removeStyleProperties)(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
582
- // setStyleProperties(this.preRenderShield, { zIndex: '-1' });
583
- this.subscribeToEvents();
584
- }
585
- syncPreRenderStyle() {
586
- if (!this.el) {
587
- throw new Error('Embed element is not defined');
588
- }
589
- const elBoundingClient = this.el.getBoundingClientRect();
590
- (0, utils_1.setStyleProperties)(this.preRenderWrapper, {
591
- top: `${elBoundingClient.y}px`, left: `${elBoundingClient.x}px`, width: `${elBoundingClient.width}px`, height: `${elBoundingClient.height}px`,
592
- });
593
- }
594
543
  insertIntoDOM(child) {
595
544
  var _a;
596
545
  if (this.viewConfig.insertAsSibling) {
@@ -808,10 +757,16 @@ class TsEmbed {
808
757
  /**
809
758
  * Creates the preRender shell
810
759
  *
811
- * @param showPreRenderByDefault
760
+ * @param showPreRenderByDefault - Show the preRender after render, hidden by default
812
761
  */
813
762
  preRender(showPreRenderByDefault = false) {
763
+ if (!this.viewConfig.preRenderId) {
764
+ console.error('PreRender id is required for preRender');
765
+ return this;
766
+ }
814
767
  this.isPreRendered = true;
768
+ this.showPreRenderByDefault = showPreRenderByDefault;
769
+ this.render();
815
770
  return this;
816
771
  }
817
772
  /**
@@ -870,6 +825,97 @@ class TsEmbed {
870
825
  const prerenderFrameSrc = this.getRootIframeSrc();
871
826
  return this.renderIFrame(prerenderFrameSrc);
872
827
  }
828
+ /**
829
+ * Displays the PreRender component.
830
+ * If the component is not preRendered, it attempts to create and render it.
831
+ * Also, synchronizes the style of the PreRender component with the embedding
832
+ * element.
833
+ */
834
+ showPreRender() {
835
+ if (!this.isPreRenderAvailable()) {
836
+ const isAvailable = this.connectPreRendered();
837
+ if (!isAvailable) {
838
+ // if the Embed component is not preRendered , Render it now and
839
+ this.preRender(true);
840
+ return;
841
+ }
842
+ }
843
+ if (this.el) {
844
+ this.syncPreRenderStyle();
845
+ this.resizeObserver = new ResizeObserver((entries) => {
846
+ entries.forEach((entry) => {
847
+ if (entry.contentRect && entry.target === this.el) {
848
+ (0, utils_1.setStyleProperties)(this.preRenderWrapper, {
849
+ width: `${entry.contentRect.width}px`,
850
+ height: `${entry.contentRect.height}px`,
851
+ });
852
+ }
853
+ });
854
+ });
855
+ this.resizeObserver.observe(this.el);
856
+ }
857
+ (0, utils_1.removeStyleProperties)(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
858
+ this.subscribeToEvents();
859
+ }
860
+ /**
861
+ * Synchronizes the style properties of the PreRender component with the embedding
862
+ * element. This function adjusts the position, width, and height of the PreRender
863
+ * component
864
+ * to match the dimensions and position of the embedding element.
865
+ *
866
+ * @throws {Error} Throws an error if the embedding element (passed as domSelector)
867
+ * is not defined or not found.
868
+ */
869
+ syncPreRenderStyle() {
870
+ if (!this.el) {
871
+ throw new Error('Embed element is not defined');
872
+ }
873
+ const elBoundingClient = this.el.getBoundingClientRect();
874
+ (0, utils_1.setStyleProperties)(this.preRenderWrapper, {
875
+ top: `${elBoundingClient.y}px`,
876
+ left: `${elBoundingClient.x}px`,
877
+ width: `${elBoundingClient.width}px`,
878
+ height: `${elBoundingClient.height}px`,
879
+ });
880
+ }
881
+ /**
882
+ * Hides the PreRender component if it is available.
883
+ * If the component is not preRendered, it issues a warning.
884
+ */
885
+ hidePreRender() {
886
+ if (!this.isPreRenderAvailable()) {
887
+ // if the embed component is not preRendered , nothing to hide
888
+ console.warn('Warning: You should call PreRender before hiding it using hidePreRender.');
889
+ return;
890
+ }
891
+ const preRenderHideStyles = {
892
+ opacity: '0',
893
+ pointerEvents: 'none',
894
+ zIndex: '-1000',
895
+ position: 'absolute ',
896
+ top: '0',
897
+ left: '0',
898
+ };
899
+ (0, utils_1.setStyleProperties)(this.preRenderWrapper, preRenderHideStyles);
900
+ if (this.resizeObserver) {
901
+ this.resizeObserver.disconnect();
902
+ }
903
+ this.unsubscribeToEvents();
904
+ }
905
+ /**
906
+ * Retrieves unique HTML element IDs for PreRender-related elements.
907
+ * These IDs are constructed based on the provided 'preRenderId' from 'viewConfig'.
908
+ *
909
+ * @returns {object} An object containing the IDs for the PreRender elements.
910
+ * @property {string} wrapper - The HTML element ID for the PreRender wrapper.
911
+ * @property {string} child - The HTML element ID for the PreRender child.
912
+ */
913
+ getPreRenderIds() {
914
+ return {
915
+ wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
916
+ child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
917
+ };
918
+ }
873
919
  }
874
920
  exports.TsEmbed = TsEmbed;
875
921
  /**
@@ -888,10 +934,9 @@ class V1Embed extends TsEmbed {
888
934
  * Render the app in an iframe and set up event handlers
889
935
  *
890
936
  * @param iframeSrc
891
- * @param showPreRenderByDefault - if true the preRender will be shown by default
892
937
  */
893
- renderV1Embed(iframeSrc, showPreRenderByDefault = false) {
894
- return this.renderIFrame(iframeSrc, showPreRenderByDefault);
938
+ renderV1Embed(iframeSrc) {
939
+ return this.renderIFrame(iframeSrc);
895
940
  }
896
941
  getRootIframeSrc() {
897
942
  const queryParams = this.getEmbedParams();
@@ -1 +1 @@
1
- {"version":3,"file":"ts-embed.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-embed.js","sourceRoot":"","sources":["../../../src/embed/ts-embed.ts"],"names":[],"mappings":"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"}
@@ -1095,5 +1095,107 @@ describe('Unit test case for ts embed', () => {
1095
1095
  });
1096
1096
  });
1097
1097
  });
1098
+ describe('validate preRender flow', () => {
1099
+ beforeAll(() => {
1100
+ (0, index_1.init)({
1101
+ thoughtSpotHost: 'tshost',
1102
+ authType: index_1.AuthType.None,
1103
+ });
1104
+ });
1105
+ afterAll(() => {
1106
+ const rootEle = document.getElementById('myRoot');
1107
+ rootEle.remove();
1108
+ });
1109
+ const createRootEleForEmbed = () => {
1110
+ const rootEle = document.createElement('div');
1111
+ rootEle.id = 'myRoot';
1112
+ const tsEmbedDiv = document.createElement('div');
1113
+ tsEmbedDiv.id = 'tsEmbedDiv';
1114
+ rootEle.appendChild(tsEmbedDiv);
1115
+ document.body.appendChild(rootEle);
1116
+ };
1117
+ it('should preRender and hide the iframe', async () => {
1118
+ createRootEleForEmbed();
1119
+ const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
1120
+ preRenderId: 'i-am-preRendered',
1121
+ liveboardId: 'myLiveboardId',
1122
+ });
1123
+ libEmbed.preRender();
1124
+ await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
1125
+ const preRenderIds = libEmbed.getPreRenderIds();
1126
+ const preRenderWrapper = document.getElementById(preRenderIds.wrapper);
1127
+ expect(preRenderWrapper.style.opacity).toBe('0');
1128
+ expect(preRenderWrapper.style.pointerEvents).toBe('none');
1129
+ expect(preRenderWrapper.style.zIndex).toBe('-1000');
1130
+ const preRenderChild = document
1131
+ .getElementById(preRenderIds.child);
1132
+ expect(preRenderWrapper.children[0]).toEqual(preRenderChild);
1133
+ expect(preRenderChild).toBeInstanceOf(HTMLIFrameElement);
1134
+ expect(preRenderChild.src).toMatch(/^http:\/\/tshost.*\/myLiveboardId/);
1135
+ const tsEmbedDiv = document.getElementById('tsEmbedDiv');
1136
+ tsEmbedDiv.style.width = '100px';
1137
+ tsEmbedDiv.style.height = '100px';
1138
+ let resizeObserverCb;
1139
+ window.ResizeObserver = window.ResizeObserver
1140
+ || jest.fn().mockImplementation((resizeObserverCbParam) => {
1141
+ resizeObserverCb = resizeObserverCbParam;
1142
+ return ({
1143
+ disconnect: jest.fn(),
1144
+ observe: jest.fn(),
1145
+ unobserve: jest.fn(),
1146
+ });
1147
+ });
1148
+ // show preRender
1149
+ libEmbed.showPreRender();
1150
+ resizeObserverCb([{
1151
+ target: tsEmbedDiv,
1152
+ contentRect: { height: 297, width: 987 },
1153
+ }]);
1154
+ expect(preRenderWrapper.style.height).toEqual(`${297}px`);
1155
+ expect(preRenderWrapper.style.width).toEqual(`${987}px`);
1156
+ expect(preRenderWrapper.style.opacity).toBe('');
1157
+ expect(preRenderWrapper.style.pointerEvents).toBe('');
1158
+ expect(preRenderWrapper.style.zIndex).toBe('');
1159
+ libEmbed.hidePreRender();
1160
+ expect(preRenderWrapper.style.opacity).toBe('0');
1161
+ expect(preRenderWrapper.style.pointerEvents).toBe('none');
1162
+ expect(preRenderWrapper.style.zIndex).toBe('-1000');
1163
+ libEmbed.destroy();
1164
+ expect(document.getElementById(preRenderIds.wrapper)).toBe(null);
1165
+ });
1166
+ it('preRender called without preRenderId should log error ', () => {
1167
+ createRootEleForEmbed();
1168
+ spyOn(console, 'error');
1169
+ const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
1170
+ liveboardId: 'myLiveboardId',
1171
+ });
1172
+ libEmbed.preRender();
1173
+ expect(console.error).toHaveBeenCalledWith('PreRender id is required for preRender');
1174
+ });
1175
+ it('showPreRender should preRender if not available', async () => {
1176
+ createRootEleForEmbed();
1177
+ const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
1178
+ preRenderId: 'i-am-preRendered',
1179
+ liveboardId: 'myLiveboardId',
1180
+ });
1181
+ const preRenderIds = libEmbed.getPreRenderIds();
1182
+ libEmbed.showPreRender();
1183
+ await (0, test_utils_1.waitFor)(() => !!(0, test_utils_1.getIFrameEl)());
1184
+ const preRenderWrapper = document.getElementById(preRenderIds.wrapper);
1185
+ expect(preRenderWrapper.style.opacity).toBe('');
1186
+ expect(preRenderWrapper.style.pointerEvents).toBe('');
1187
+ expect(preRenderWrapper.style.zIndex).toBe('');
1188
+ });
1189
+ it('hidePreRender should not preRender if not available', async () => {
1190
+ createRootEleForEmbed();
1191
+ const libEmbed = new index_1.LiveboardEmbed('#tsEmbedDiv', {
1192
+ preRenderId: 'i-am-preRendered',
1193
+ liveboardId: 'myLiveboardId',
1194
+ });
1195
+ spyOn(libEmbed, 'preRender');
1196
+ libEmbed.hidePreRender();
1197
+ expect(libEmbed.preRender).toHaveBeenCalledTimes(0);
1198
+ });
1199
+ });
1098
1200
  });
1099
1201
  //# sourceMappingURL=ts-embed.spec.js.map