@thoughtspot/visual-embed-sdk 1.24.0-preRender.2 → 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 -3
  7. package/cjs/src/embed/liveboard.d.ts.map +1 -1
  8. package/cjs/src/embed/liveboard.js +2 -8
  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 +45 -15
  19. package/cjs/src/embed/ts-embed.d.ts.map +1 -1
  20. package/cjs/src/embed/ts-embed.js +112 -92
  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 +31 -0
  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 -3
  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 +45 -15
  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 +233 -127
  66. package/dist/tsembed-react.js +233 -126
  67. package/dist/tsembed.es.js +152 -126
  68. package/dist/tsembed.js +152 -126
  69. package/dist/visual-embed-sdk-react-full.d.ts +164 -32
  70. package/dist/visual-embed-sdk-react.d.ts +164 -32
  71. package/dist/visual-embed-sdk.d.ts +61 -27
  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 -3
  78. package/lib/src/embed/liveboard.d.ts.map +1 -1
  79. package/lib/src/embed/liveboard.js +2 -8
  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 +45 -15
  90. package/lib/src/embed/ts-embed.d.ts.map +1 -1
  91. package/lib/src/embed/ts-embed.js +112 -92
  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 +31 -0
  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 +61 -27
  117. package/package.json +1 -1
  118. package/src/embed/app.ts +6 -11
  119. package/src/embed/liveboard.ts +2 -11
  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 +139 -120
  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 +29 -1
@@ -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)();
@@ -314,7 +315,8 @@ class TsEmbed {
314
315
  else if (contextMenuTrigger === types_1.ContextMenuTriggerOptions.RIGHT_CLICK) {
315
316
  queryParams[types_1.Param.ContextMenuTrigger] = false;
316
317
  }
317
- const spriteUrl = (customizations === null || customizations === void 0 ? void 0 : customizations.iconSpriteUrl) || ((_d = this.embedConfig.customizations) === null || _d === void 0 ? void 0 : _d.iconSpriteUrl);
318
+ const spriteUrl = (customizations === null || customizations === void 0 ? void 0 : customizations.iconSpriteUrl)
319
+ || ((_d = this.embedConfig.customizations) === null || _d === void 0 ? void 0 : _d.iconSpriteUrl);
318
320
  if (spriteUrl) {
319
321
  queryParams[types_1.Param.IconSpriteUrl] = spriteUrl.replace('https://', '');
320
322
  }
@@ -394,12 +396,9 @@ class TsEmbed {
394
396
  iFrame.name = 'ThoughtSpot Embedded Analytics';
395
397
  return iFrame;
396
398
  }
397
- handleInsertionIntoDOM(child, showPreRenderByDefault = false) {
399
+ handleInsertionIntoDOM(child) {
398
400
  if (this.isPreRendered) {
399
- if (!this.viewConfig.preRenderId) {
400
- throw Error('PreRender id is required for preRender');
401
- }
402
- this.insertIntoDOMForPreRender(child, showPreRenderByDefault);
401
+ this.insertIntoDOMForPreRender(child);
403
402
  }
404
403
  else {
405
404
  this.insertIntoDOM(child);
@@ -410,9 +409,8 @@ class TsEmbed {
410
409
  * event listeners.
411
410
  *
412
411
  * @param url - The URL of the embedded ThoughtSpot app.
413
- * @param showPreRenderByDefault - The flag to show the preRender by default.
414
412
  */
415
- async renderIFrame(url, showPreRenderByDefault = false) {
413
+ async renderIFrame(url) {
416
414
  if (this.isError) {
417
415
  return null;
418
416
  }
@@ -434,7 +432,7 @@ class TsEmbed {
434
432
  (0, mixpanel_service_1.uploadMixpanelEvent)(mixpanel_service_1.MIXPANEL_EVENT.VISUAL_SDK_RENDER_START);
435
433
  return (_a = (0, base_1.getAuthPromise)()) === null || _a === void 0 ? void 0 : _a.then((isLoggedIn) => {
436
434
  if (!isLoggedIn) {
437
- this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage, showPreRenderByDefault);
435
+ this.handleInsertionIntoDOM(this.embedConfig.loginFailedMessage);
438
436
  return;
439
437
  }
440
438
  this.iFrame = this.iFrame || this.createIframeEl(url);
@@ -456,7 +454,7 @@ class TsEmbed {
456
454
  this.iFrame.addEventListener('error', () => {
457
455
  nextInQueue();
458
456
  });
459
- this.handleInsertionIntoDOM(this.iFrame, showPreRenderByDefault);
457
+ this.handleInsertionIntoDOM(this.iFrame);
460
458
  const prefetchIframe = document.querySelectorAll('.prefetchIframe');
461
459
  if (prefetchIframe.length) {
462
460
  prefetchIframe.forEach((el) => {
@@ -474,14 +472,6 @@ class TsEmbed {
474
472
  });
475
473
  });
476
474
  }
477
- getPreRenderIds() {
478
- return {
479
- wrapper: `tsEmbed-pre-render-wrapper-${this.viewConfig.preRenderId}`,
480
- // shield:
481
- // `tsEmbed-pre-render-shield-${this.viewConfig.preRenderId}`,
482
- child: `tsEmbed-pre-render-child-${this.viewConfig.preRenderId}`,
483
- };
484
- }
485
475
  createPreRenderWrapper() {
486
476
  var _a;
487
477
  if (!this.viewConfig.preRenderId) {
@@ -497,22 +487,12 @@ class TsEmbed {
497
487
  height: '100vh',
498
488
  };
499
489
  (0, utils_1.setStyleProperties)(preRenderWrapper, initialPreRenderWrapperStyle);
500
- // const preRenderShield = document.createElement('div');
501
- // preRenderShield.id = preRenderIds.shield;
502
- // setStyleProperties(preRenderShield, { position: 'absolute',
503
- // width: '100%', height: '100%' });
504
- // preRenderWrapper.appendChild(preRenderShield);
505
- // this.preRenderWrapper = preRenderWrapper;
506
- // this.preRenderShield = preRenderShield;
507
- // this.preRenderChild = child;
508
490
  return preRenderWrapper;
509
491
  }
510
492
  connectPreRendered() {
511
493
  const preRenderIds = this.getPreRenderIds();
512
494
  this.preRenderWrapper = this.preRenderWrapper
513
495
  || document.getElementById(preRenderIds.wrapper);
514
- // this.preRenderShield = this.preRenderShield
515
- // || document.getElementById(preRenderIds.shield);
516
496
  this.preRenderChild = this.preRenderChild || document.getElementById(preRenderIds.child);
517
497
  if (this.preRenderWrapper && this.preRenderChild) {
518
498
  this.isPreRendered = true;
@@ -521,7 +501,7 @@ class TsEmbed {
521
501
  return this.isPreRenderAvailable();
522
502
  }
523
503
  isPreRenderAvailable() {
524
- return this.isPreRendered;
504
+ return this.isPreRendered && Boolean(this.preRenderWrapper && this.preRenderChild);
525
505
  }
526
506
  createPreRenderChild(child) {
527
507
  var _a;
@@ -542,7 +522,7 @@ class TsEmbed {
542
522
  }
543
523
  return divChildNode;
544
524
  }
545
- insertIntoDOMForPreRender(child, showPreRenderByDefault = false) {
525
+ insertIntoDOMForPreRender(child) {
546
526
  const preRenderChild = this.createPreRenderChild(child);
547
527
  const preRenderWrapper = this.createPreRenderWrapper();
548
528
  preRenderWrapper.appendChild(preRenderChild);
@@ -551,71 +531,15 @@ class TsEmbed {
551
531
  if (preRenderChild instanceof HTMLIFrameElement) {
552
532
  this.iFrame = preRenderChild;
553
533
  }
554
- if (showPreRenderByDefault) {
534
+ if (this.showPreRenderByDefault) {
555
535
  this.showPreRender();
556
536
  }
557
537
  else {
558
538
  this.hidePreRender();
559
539
  }
540
+ this.insertedDomEl = preRenderWrapper;
560
541
  document.body.appendChild(preRenderWrapper);
561
542
  }
562
- hidePreRender() {
563
- if (!this.isPreRenderAvailable()) {
564
- // if the embed component is not preRendered , nothing to hide
565
- console.warn('Warning: You should call PreRender before hiding it using hidePreRender.');
566
- return;
567
- }
568
- const preRenderHideStyles = {
569
- opacity: '0',
570
- pointerEvents: 'none',
571
- zIndex: '-1000',
572
- position: 'absolute ',
573
- top: '0',
574
- left: '0',
575
- };
576
- (0, utils_1.setStyleProperties)(this.preRenderWrapper, preRenderHideStyles);
577
- // const childBoundingRect = this.preRenderChild.getBoundingClientRect();
578
- //
579
- // setStyleProperties(this.preRenderShield, {
580
- // opacity: '0',
581
- // pointerEvents: 'none',
582
- // zIndex: '1',
583
- // width: `${childBoundingRect.width}px`,
584
- // height: `${childBoundingRect.height}px`,
585
- // position: 'absolute',
586
- // top: '0',
587
- // left: '0',
588
- // });
589
- this.unsubscribeToEvents();
590
- }
591
- showPreRender() {
592
- if (!this.isPreRenderAvailable()) {
593
- const isAvailable = this.connectPreRendered();
594
- if (!isAvailable) {
595
- // if the Embed component is not preRendered , Render it now and
596
- this.preRender(true);
597
- // show it (hide is defalt behaviour)
598
- // console.log('No preRender found, creating new ');
599
- return;
600
- }
601
- }
602
- this.syncPreRenderStyle();
603
- (0, utils_1.removeStyleProperties)(this.preRenderWrapper, ['z-index', 'opacity', 'pointer-events']);
604
- // setStyleProperties(this.preRenderShield, { zIndex: '-1' });
605
- this.subscribeToEvents();
606
- }
607
- syncPreRenderStyle() {
608
- if (!this.el) {
609
- throw new Error('Embed element is not defined');
610
- }
611
- const elBoundingClient = this.el.getBoundingClientRect();
612
- (0, utils_1.setStyleProperties)(this.preRenderWrapper, {
613
- top: `${elBoundingClient.y}px`,
614
- left: `${elBoundingClient.x}px`,
615
- width: `${elBoundingClient.width}px`,
616
- height: `${elBoundingClient.height}px`,
617
- });
618
- }
619
543
  insertIntoDOM(child) {
620
544
  var _a;
621
545
  if (this.viewConfig.insertAsSibling) {
@@ -833,10 +757,16 @@ class TsEmbed {
833
757
  /**
834
758
  * Creates the preRender shell
835
759
  *
836
- * @param showPreRenderByDefault
760
+ * @param showPreRenderByDefault - Show the preRender after render, hidden by default
837
761
  */
838
762
  preRender(showPreRenderByDefault = false) {
763
+ if (!this.viewConfig.preRenderId) {
764
+ console.error('PreRender id is required for preRender');
765
+ return this;
766
+ }
839
767
  this.isPreRendered = true;
768
+ this.showPreRenderByDefault = showPreRenderByDefault;
769
+ this.render();
840
770
  return this;
841
771
  }
842
772
  /**
@@ -895,6 +825,97 @@ class TsEmbed {
895
825
  const prerenderFrameSrc = this.getRootIframeSrc();
896
826
  return this.renderIFrame(prerenderFrameSrc);
897
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
+ }
898
919
  }
899
920
  exports.TsEmbed = TsEmbed;
900
921
  /**
@@ -913,10 +934,9 @@ class V1Embed extends TsEmbed {
913
934
  * Render the app in an iframe and set up event handlers
914
935
  *
915
936
  * @param iframeSrc
916
- * @param showPreRenderByDefault - if true the preRender will be shown by default
917
937
  */
918
- renderV1Embed(iframeSrc, showPreRenderByDefault = false) {
919
- return this.renderIFrame(iframeSrc, showPreRenderByDefault);
938
+ renderV1Embed(iframeSrc) {
939
+ return this.renderIFrame(iframeSrc);
920
940
  }
921
941
  getRootIframeSrc() {
922
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