@blackbaud/sky-addin-client 1.7.4 → 1.8.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.
@@ -27,6 +27,31 @@ var allowedOrigins = [
27
27
  /^https\:\/\/[\w\-\.]+\.justgiving\.com$/,
28
28
  /^https\:\/\/sky\.blackbaudcdn\.net$/
29
29
  ];
30
+ /**
31
+ * Add-in types recognized by this client. Typed as a record so that every
32
+ * AddinType must be listed here.
33
+ */
34
+ var knownAddinTypes = {
35
+ 'action-button': true,
36
+ 'box': true,
37
+ 'button': true,
38
+ 'dataset': true,
39
+ 'flyout': true,
40
+ 'generic': true,
41
+ 'modal': true,
42
+ 'page': true,
43
+ 'tab': true,
44
+ 'tile': true,
45
+ 'vertical-tab-form': true
46
+ };
47
+ /**
48
+ * Inline declarations that make an element's background transparent. Inline styles
49
+ * are used rather than a style element so they are not blocked by a Content Security Policy.
50
+ */
51
+ var transparentBackgroundDeclarations = [
52
+ { property: 'background-color', value: 'transparent' },
53
+ { property: 'background-image', value: 'none' }
54
+ ];
30
55
  /**
31
56
  * Client for interacting with the parent page hosting the add-in.
32
57
  */
@@ -79,6 +104,14 @@ var AddinClient = /** @class */ (function () {
79
104
  * The add-in client will throw an error if an event is attempted but not one the supported types.
80
105
  */
81
106
  this.supportedEventTypes = [];
107
+ /**
108
+ * Indicates whether the client has been destroyed.
109
+ */
110
+ this.destroyed = false;
111
+ /**
112
+ * Inline background declarations replaced by this client to make the document transparent.
113
+ */
114
+ this.replacedBackgroundDeclarations = [];
82
115
  /**
83
116
  * Collection of regexs for our whitelist of host origins.
84
117
  */
@@ -107,6 +140,8 @@ var AddinClient = /** @class */ (function () {
107
140
  if (this.heightChangeIntervalId) {
108
141
  clearInterval(this.heightChangeIntervalId);
109
142
  }
143
+ this.cleanupTransparentBackground();
144
+ this.destroyed = true;
110
145
  };
111
146
  /**
112
147
  * Requests the host page to navigate.
@@ -343,6 +378,90 @@ var AddinClient = /** @class */ (function () {
343
378
  }, []);
344
379
  }
345
380
  };
381
+ /**
382
+ * Applies the client-owned document transparency for a modal add-in.
383
+ * @param style The modal style from the ready args.
384
+ */
385
+ AddinClient.prototype.applyModalStyle = function (style) {
386
+ var _this = this;
387
+ if ((style === null || style === void 0 ? void 0 : style.transparentBackground) !== true) {
388
+ this.cleanupTransparentBackground();
389
+ return;
390
+ }
391
+ this.makeBackgroundTransparent(document.documentElement);
392
+ if (document.body) {
393
+ this.makeBackgroundTransparent(document.body);
394
+ }
395
+ else if (!this.bodyReadyHandler) {
396
+ // The body does not exist yet if ready is called while the document is still parsing.
397
+ this.bodyReadyHandler = function () {
398
+ _this.bodyReadyHandler = undefined;
399
+ if (document.body) {
400
+ _this.makeBackgroundTransparent(document.body);
401
+ }
402
+ };
403
+ document.addEventListener('DOMContentLoaded', this.bodyReadyHandler, { once: true });
404
+ }
405
+ };
406
+ /**
407
+ * Makes an element's background transparent with inline declarations, recording
408
+ * the declarations it replaces so they can be restored.
409
+ * @param element The element to make transparent.
410
+ */
411
+ AddinClient.prototype.makeBackgroundTransparent = function (element) {
412
+ for (var _i = 0, transparentBackgroundDeclarations_1 = transparentBackgroundDeclarations; _i < transparentBackgroundDeclarations_1.length; _i++) {
413
+ var declaration = transparentBackgroundDeclarations_1[_i];
414
+ var property = declaration.property;
415
+ var value = element.style.getPropertyValue(property);
416
+ var priority = element.style.getPropertyPriority(property);
417
+ // Leave an existing transparent declaration alone, whether it was set by this client
418
+ // on an earlier ready call or by the add-in itself.
419
+ if (value !== declaration.value || priority !== 'important') {
420
+ this.replacedBackgroundDeclarations.push({
421
+ element: element,
422
+ priority: priority,
423
+ property: property,
424
+ transparentValue: declaration.value,
425
+ value: value
426
+ });
427
+ element.style.setProperty(property, declaration.value, 'important');
428
+ }
429
+ }
430
+ };
431
+ /**
432
+ * Restores document background declarations replaced by this client.
433
+ */
434
+ AddinClient.prototype.cleanupTransparentBackground = function () {
435
+ if (this.bodyReadyHandler) {
436
+ document.removeEventListener('DOMContentLoaded', this.bodyReadyHandler);
437
+ this.bodyReadyHandler = undefined;
438
+ }
439
+ for (var _i = 0, _a = this.replacedBackgroundDeclarations; _i < _a.length; _i++) {
440
+ var replaced = _a[_i];
441
+ var style = replaced.element.style;
442
+ // Don't restore over a declaration the add-in has changed since this client set it.
443
+ if (style.getPropertyValue(replaced.property) === replaced.transparentValue &&
444
+ style.getPropertyPriority(replaced.property) === 'important') {
445
+ if (replaced.value) {
446
+ style.setProperty(replaced.property, replaced.value, replaced.priority);
447
+ }
448
+ else {
449
+ style.removeProperty(replaced.property);
450
+ }
451
+ }
452
+ }
453
+ this.replacedBackgroundDeclarations = [];
454
+ };
455
+ /**
456
+ * Returns the add-in type provided by the host if this client recognizes it.
457
+ * @param addinType The add-in type provided by the host.
458
+ * @returns The add-in type, or undefined if it is missing or unrecognized.
459
+ */
460
+ AddinClient.prototype.getKnownAddinType = function (addinType) {
461
+ if (typeof addinType === 'string' && knownAddinTypes.hasOwnProperty(addinType)) {
462
+ return addinType;
463
+ }
464
+ };
346
465
  /**
347
466
  * Post a message to the host page informing it that the add-in is
348
467
  * now started and listening for messages from the host.
@@ -411,9 +530,14 @@ var AddinClient = /** @class */ (function () {
411
530
  this.supportedEventTypes = data.message.supportedEventTypes || [];
412
531
  // Pass key data to the add-in for it to initiailze.
413
532
  this.args.callbacks.init({
533
+ addinType: this.getKnownAddinType(data.message.addinType),
414
534
  context: data.message.context,
415
535
  envId: data.message.envId,
416
536
  ready: function (args) {
537
+ var _a;
538
+ if (!_this.destroyed) {
539
+ _this.applyModalStyle((_a = args === null || args === void 0 ? void 0 : args.modalConfig) === null || _a === void 0 ? void 0 : _a.style);
540
+ }
417
541
  // Do an immediate height check since the add-in may render something
418
542
  // due to the context provided. No need to wait a full second to reflect.
419
543
  _this.checkForHeightChangesOfAddinContent();
@@ -1 +1 @@
1
- {"version":3,"file":"addin-client.js","sourceRoot":"","sources":["../../../src/addin/addin-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addin-client.js","sourceRoot":"","sources":["../../../src/addin/addin-client.ts"],"names":[],"mappings":"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"}
@@ -139,6 +139,7 @@ describe('AddinClient ', function () {
139
139
  });
140
140
  var msg = {
141
141
  message: {
142
+ addinType: 'tile',
142
143
  context: 'my_context',
143
144
  envId: 'my_envid',
144
145
  supportedEventTypes: ['update-event'],
@@ -153,6 +154,7 @@ describe('AddinClient ', function () {
153
154
  };
154
155
  postMessageFromHost(msg);
155
156
  client.destroy();
157
+ expect(initArgs.addinType).toBe('tile');
156
158
  expect(initArgs.context).toBe('my_context');
157
159
  expect(initArgs.envId).toBe('my_envid');
158
160
  expect(initArgs.supportedEventTypes).toEqual(['update-event']);
@@ -162,6 +164,70 @@ describe('AddinClient ', function () {
162
164
  skyThemeSettings: '{"theme":{"name":"modern","supportedModes":[{"name":"default","isPreset":true}],"isPreset":true},"mode":{"name":"light","isPreset":true}}'
163
165
  });
164
166
  });
167
+ it('should leave "addinType" undefined when the host does not provide it.', function () {
168
+ var initArgs;
169
+ var client = new addin_client_1.AddinClient({
170
+ callbacks: {
171
+ init: function (args) {
172
+ initArgs = args;
173
+ }
174
+ }
175
+ });
176
+ var msg = {
177
+ message: {
178
+ context: 'my_context',
179
+ envId: 'my_envid'
180
+ },
181
+ messageType: 'host-ready',
182
+ source: 'bb-addin-host'
183
+ };
184
+ postMessageFromHost(msg);
185
+ client.destroy();
186
+ expect(initArgs.addinType).toBeUndefined();
187
+ });
188
+ it('should leave "addinType" undefined when the host provides an unrecognized type.', function () {
189
+ var initArgs;
190
+ var client = new addin_client_1.AddinClient({
191
+ callbacks: {
192
+ init: function (args) {
193
+ initArgs = args;
194
+ }
195
+ }
196
+ });
197
+ var msg = {
198
+ message: {
199
+ addinType: 'future-type',
200
+ context: 'my_context',
201
+ envId: 'my_envid'
202
+ },
203
+ messageType: 'host-ready',
204
+ source: 'bb-addin-host'
205
+ };
206
+ postMessageFromHost(msg);
207
+ client.destroy();
208
+ expect(initArgs.addinType).toBeUndefined();
209
+ expect(initArgs.context).toBe('my_context');
210
+ });
211
+ it('should pass the "vertical-tab-form" add-in type.', function () {
212
+ var initArgs;
213
+ var client = new addin_client_1.AddinClient({
214
+ callbacks: {
215
+ init: function (args) {
216
+ initArgs = args;
217
+ }
218
+ }
219
+ });
220
+ var msg = {
221
+ message: {
222
+ addinType: 'vertical-tab-form'
223
+ },
224
+ messageType: 'host-ready',
225
+ source: 'bb-addin-host'
226
+ };
227
+ postMessageFromHost(msg);
228
+ client.destroy();
229
+ expect(initArgs.addinType).toBe('vertical-tab-form');
230
+ });
165
231
  });
166
232
  it('should disregard host messages from the wrong origin.', function () {
167
233
  var buttonClickCalled = false;
@@ -550,6 +616,258 @@ describe('AddinClient ', function () {
550
616
  expect(postedMessage.messageType).toBe('addin-ready');
551
617
  expect(postedOrigin).toBe(TEST_HOST_ORIGIN);
552
618
  });
619
+ it('should pass hostOverlay: false through to the host in the "addin-ready" message.', function () {
620
+ var readyArgs = {
621
+ modalConfig: {
622
+ style: {
623
+ hostOverlay: false
624
+ }
625
+ }
626
+ };
627
+ var postedMessage;
628
+ var postedOrigin;
629
+ var client = new addin_client_1.AddinClient({
630
+ callbacks: {
631
+ init: function (args) {
632
+ args.ready(readyArgs);
633
+ }
634
+ }
635
+ });
636
+ var msg = {
637
+ message: {},
638
+ messageType: 'host-ready',
639
+ source: 'bb-addin-host'
640
+ };
641
+ spyOn(window.parent, 'postMessage').and.callFake(function (message, targetOrigin) {
642
+ postedMessage = message;
643
+ postedOrigin = targetOrigin;
644
+ });
645
+ postMessageFromHost(msg);
646
+ client.destroy();
647
+ expect(postedMessage.messageType).toBe('addin-ready');
648
+ expect(postedMessage.message).toEqual(readyArgs);
649
+ expect(postedOrigin).toBe(TEST_HOST_ORIGIN);
650
+ });
651
+ describe('modal document transparency', function () {
652
+ var opaqueBackground = 'rgb(1, 2, 3)';
653
+ var transparentReadyArgs = {
654
+ modalConfig: {
655
+ style: { transparentBackground: true }
656
+ }
657
+ };
658
+ var body;
659
+ var client;
660
+ var originalBodyStyle;
661
+ var originalHtmlStyle;
662
+ var postMessageSpy;
663
+ function initializeClient() {
664
+ var ready;
665
+ client = new addin_client_1.AddinClient({
666
+ callbacks: {
667
+ init: function (args) {
668
+ ready = args.ready;
669
+ }
670
+ }
671
+ });
672
+ initializeHost();
673
+ return ready;
674
+ }
675
+ function restoreStyleAttribute(element, style) {
676
+ if (style === null) {
677
+ element.removeAttribute('style');
678
+ }
679
+ else {
680
+ element.setAttribute('style', style);
681
+ }
682
+ }
683
+ function expectOpaque(element) {
684
+ expect(element.style.backgroundColor).toBe(opaqueBackground);
685
+ expect(element.style.getPropertyPriority('background-color')).toBe('');
686
+ expect(element.style.backgroundImage).toBe('');
687
+ }
688
+ function expectTransparent(element) {
689
+ expect(window.getComputedStyle(element).backgroundColor).toBe('rgba(0, 0, 0, 0)');
690
+ expect(element.style.getPropertyPriority('background-color')).toBe('important');
691
+ expect(element.style.backgroundImage).toBe('none');
692
+ expect(element.style.getPropertyPriority('background-image')).toBe('important');
693
+ }
694
+ beforeEach(function () {
695
+ // Tests may replace the document.body getter, so keep a reference to the real body.
696
+ body = document.body;
697
+ client = undefined;
698
+ originalBodyStyle = document.body.getAttribute('style');
699
+ originalHtmlStyle = document.documentElement.getAttribute('style');
700
+ document.body.style.backgroundColor = opaqueBackground;
701
+ document.documentElement.style.backgroundColor = opaqueBackground;
702
+ postMessageSpy = spyOn(window.parent, 'postMessage').and.stub();
703
+ });
704
+ afterEach(function () {
705
+ if (client) {
706
+ client.destroy();
707
+ }
708
+ restoreStyleAttribute(body, originalBodyStyle);
709
+ restoreStyleAttribute(document.documentElement, originalHtmlStyle);
710
+ });
711
+ var preservedCases = [
712
+ {
713
+ description: 'ready is called without arguments',
714
+ readyArgs: undefined
715
+ },
716
+ {
717
+ description: 'no modalConfig is provided',
718
+ readyArgs: {}
719
+ },
720
+ {
721
+ description: 'style is an empty object',
722
+ readyArgs: { modalConfig: { style: {} } }
723
+ },
724
+ {
725
+ description: 'transparentBackground is false',
726
+ readyArgs: { modalConfig: { style: { transparentBackground: false } } }
727
+ },
728
+ {
729
+ description: 'only hostOverlay is false',
730
+ readyArgs: { modalConfig: { style: { hostOverlay: false } } }
731
+ }
732
+ ];
733
+ preservedCases.forEach(function (_a) {
734
+ var description = _a.description, readyArgs = _a.readyArgs;
735
+ it("should preserve the document background when ".concat(description, "."), function () {
736
+ var ready = initializeClient();
737
+ ready(readyArgs);
738
+ expectOpaque(document.body);
739
+ expectOpaque(document.documentElement);
740
+ });
741
+ });
742
+ it('should make the document transparent before checking height and posting "addin-ready" when transparentBackground is true.', function () {
743
+ var backgroundsAtHeightCheck;
744
+ var backgroundsAtAddinReady;
745
+ function getBackgrounds() {
746
+ return [document.documentElement, document.body]
747
+ .map(function (element) { return window.getComputedStyle(element).backgroundColor; });
748
+ }
749
+ var ready = initializeClient();
750
+ var clientPrivateApi = client;
751
+ var heightCheckSpy = spyOn(clientPrivateApi, 'checkForHeightChangesOfAddinContent').and.callFake(function () {
752
+ backgroundsAtHeightCheck = getBackgrounds();
753
+ });
754
+ postMessageSpy.and.callFake(function (message) {
755
+ if (message.messageType === 'addin-ready') {
756
+ backgroundsAtAddinReady = getBackgrounds();
757
+ }
758
+ });
759
+ ready(transparentReadyArgs);
760
+ expect(heightCheckSpy).toHaveBeenCalled();
761
+ expect(backgroundsAtHeightCheck).toEqual(['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0)']);
762
+ expect(backgroundsAtAddinReady).toEqual(['rgba(0, 0, 0, 0)', 'rgba(0, 0, 0, 0)']);
763
+ expectTransparent(document.documentElement);
764
+ expectTransparent(document.body);
765
+ });
766
+ it('should restore only client-owned document state on destroy.', function () {
767
+ var unrelatedClass = 'unrelated-body-class';
768
+ var unrelatedColor = 'rgb(4, 5, 6)';
769
+ document.body.classList.add(unrelatedClass);
770
+ document.body.style.color = unrelatedColor;
771
+ var ready = initializeClient();
772
+ ready(transparentReadyArgs);
773
+ expectTransparent(document.documentElement);
774
+ expectTransparent(document.body);
775
+ client.destroy();
776
+ expectOpaque(document.documentElement);
777
+ expectOpaque(document.body);
778
+ expect(document.body.classList.contains(unrelatedClass)).toBe(true);
779
+ expect(document.body.style.color).toBe(unrelatedColor);
780
+ document.body.classList.remove(unrelatedClass);
781
+ });
782
+ it('should restore the original background when ready is called repeatedly.', function () {
783
+ var ready = initializeClient();
784
+ ready(transparentReadyArgs);
785
+ ready(transparentReadyArgs);
786
+ expectTransparent(document.body);
787
+ client.destroy();
788
+ expectOpaque(document.documentElement);
789
+ expectOpaque(document.body);
790
+ });
791
+ it('should preserve a transparent background that predates the client.', function () {
792
+ document.body.style.setProperty('background-color', 'transparent', 'important');
793
+ document.body.style.setProperty('background-image', 'none', 'important');
794
+ var ready = initializeClient();
795
+ ready(transparentReadyArgs);
796
+ client.destroy();
797
+ expectTransparent(document.body);
798
+ expectOpaque(document.documentElement);
799
+ });
800
+ it('should not restore over a background the add-in changed after transparency was applied.', function () {
801
+ var addinBackground = 'rgb(7, 8, 9)';
802
+ var ready = initializeClient();
803
+ ready(transparentReadyArgs);
804
+ document.body.style.backgroundColor = addinBackground;
805
+ client.destroy();
806
+ expect(document.body.style.backgroundColor).toBe(addinBackground);
807
+ expectOpaque(document.documentElement);
808
+ });
809
+ var staleCases = [
810
+ {
811
+ description: 'sets transparentBackground to false',
812
+ readyArgs: { modalConfig: { style: { transparentBackground: false } } }
813
+ },
814
+ {
815
+ description: 'omits the style',
816
+ readyArgs: {}
817
+ }
818
+ ];
819
+ staleCases.forEach(function (_a) {
820
+ var description = _a.description, readyArgs = _a.readyArgs;
821
+ it("should restore the original background when a later ready call ".concat(description, "."), function () {
822
+ var ready = initializeClient();
823
+ ready(transparentReadyArgs);
824
+ expectTransparent(document.body);
825
+ ready(readyArgs);
826
+ expectOpaque(document.documentElement);
827
+ expectOpaque(document.body);
828
+ expect(window.getComputedStyle(document.body).backgroundColor).toBe(opaqueBackground);
829
+ });
830
+ });
831
+ it('should make the body transparent once it is parsed when ready is called before the body exists.', function () {
832
+ var bodySpy = spyOnProperty(document, 'body', 'get').and.returnValue(null);
833
+ var ready = initializeClient();
834
+ ready(transparentReadyArgs);
835
+ ready(transparentReadyArgs);
836
+ expectTransparent(document.documentElement);
837
+ expect(postMessageSpy).toHaveBeenCalledWith(jasmine.objectContaining({ messageType: 'addin-ready' }), TEST_HOST_ORIGIN);
838
+ bodySpy.and.callThrough();
839
+ expectOpaque(document.body);
840
+ document.dispatchEvent(new Event('DOMContentLoaded'));
841
+ expectTransparent(document.body);
842
+ client.destroy();
843
+ expectOpaque(document.documentElement);
844
+ expectOpaque(document.body);
845
+ });
846
+ it('should make only the html element transparent if the parsed document has no body.', function () {
847
+ spyOnProperty(document, 'body', 'get').and.returnValue(null);
848
+ var ready = initializeClient();
849
+ ready(transparentReadyArgs);
850
+ document.dispatchEvent(new Event('DOMContentLoaded'));
851
+ expectTransparent(document.documentElement);
852
+ });
853
+ it('should not make the body transparent once it is parsed if the client was destroyed.', function () {
854
+ var bodySpy = spyOnProperty(document, 'body', 'get').and.returnValue(null);
855
+ var ready = initializeClient();
856
+ ready(transparentReadyArgs);
857
+ client.destroy();
858
+ bodySpy.and.callThrough();
859
+ document.dispatchEvent(new Event('DOMContentLoaded'));
860
+ expectOpaque(document.documentElement);
861
+ expectOpaque(document.body);
862
+ });
863
+ it('should not change the document background when ready is called after destroy.', function () {
864
+ var ready = initializeClient();
865
+ client.destroy();
866
+ ready(transparentReadyArgs);
867
+ expectOpaque(document.documentElement);
868
+ expectOpaque(document.body);
869
+ });
870
+ });
553
871
  });
554
872
  describe('closeModal', function () {
555
873
  it('should raise "close-modal" event.', function () {