From 591db0576ebaf3f20c7498eee6bb3f84ebe1b185 Mon Sep 17 00:00:00 2001 From: Michael Tims Date: Tue, 10 Sep 2024 15:12:24 -0400 Subject: [PATCH] Default supportedEventTypes to empty array (#67) Co-authored-by: BLACKBAUD\Michael.Tims --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- package.json | 2 +- src/addin/addin-client.spec.ts | 16 ++++++++++++++++ src/addin/addin-client.ts | 6 +++--- 5 files changed, 25 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e1425e2..cdf2e58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 1.4.1 (2024-09-10) +- Addressed issue to prevent `supportedEventTypes` to be `undefined`. Should default to empty array. + # 1.4.0 (2024-08-21) - Added a `actionClick` callback for Box Add-ins to allow developers to take action when actions are clicked. - Added `AddinBoxConfig` interface for defining configuration options for `Box add-ins`. diff --git a/package-lock.json b/package-lock.json index 8ada8fc..00c1c92 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@blackbaud/sky-addin-client", - "version": "1.3.0", + "version": "1.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@blackbaud/sky-addin-client", - "version": "1.3.0", + "version": "1.4.0", "license": "MIT", "devDependencies": { "@jsdevtools/coverage-istanbul-loader": "3.0.5", diff --git a/package.json b/package.json index 4c6af7e..12d9657 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@blackbaud/sky-addin-client", - "version": "1.4.0", + "version": "1.4.1", "description": "SKY add-in client", "main": "dist/bundles/sky-addin-client.umd.js", "module": "index.ts", diff --git a/src/addin/addin-client.spec.ts b/src/addin/addin-client.spec.ts index 90b0b99..0293554 100644 --- a/src/addin/addin-client.spec.ts +++ b/src/addin/addin-client.spec.ts @@ -1490,6 +1490,22 @@ describe('AddinClient ', () => { expect((client as any).supportedEventTypes).toEqual(['update-settings']); }); + it('should initialize add-in with empty event types.', + () => { + const msg: AddinHostMessageEventData = { + message: { + context: 'my_context', + envId: 'my_envid' + }, + messageType: 'host-ready', + source: 'bb-addin-host' + }; + + postMessageFromHost(msg); + + expect((client as any).supportedEventTypes).toEqual([]); + }); + it('should raise "client-event" event with proper message.', (done) => { let postedMessage: any; diff --git a/src/addin/addin-client.ts b/src/addin/addin-client.ts index 1c94fee..41c9217 100644 --- a/src/addin/addin-client.ts +++ b/src/addin/addin-client.ts @@ -571,8 +571,8 @@ export class AddinClient { this.trackHeightChangesOfAddinContent(); - // set the supported event types - this.supportedEventTypes = data.message.supportedEventTypes; + // set the supported event types (default to empty array) + this.supportedEventTypes = data.message.supportedEventTypes || []; // Pass key data to the add-in for it to initiailze. this.args.callbacks.init({ @@ -587,7 +587,7 @@ export class AddinClient { messageType: 'addin-ready' }); }, - supportedEventTypes : data.message.supportedEventTypes, + supportedEventTypes : this.supportedEventTypes, themeSettings: data.message.themeSettings });