Skip to content

Commit 62ddad4

Browse files
committed
move events helpers to shared/listeners
1 parent 44ebe86 commit 62ddad4

27 files changed

Lines changed: 464 additions & 487 deletions

__test__/unit/pushSubscription/nativePermissionChange.test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ import { TestEnvironment } from '__test__/support/environment/TestEnvironment';
99
import { createPushSub } from '__test__/support/environment/TestEnvironmentHelpers';
1010
import { MockServiceWorker } from '__test__/support/mocks/MockServiceWorker';
1111
import Emitter from 'src/shared/libraries/Emitter';
12+
import { checkAndTriggerSubscriptionChanged } from 'src/shared/listeners';
1213
import { AppState } from 'src/shared/models/AppState';
1314
import Database from 'src/shared/services/Database';
1415
import { PermissionUtils } from 'src/shared/utils/PermissionUtils';
15-
import EventHelper from '../../../src/shared/helpers/EventHelper';
1616
import MainHelper from '../../../src/shared/helpers/MainHelper';
1717
import { NotificationPermission } from '../../../src/shared/models/NotificationPermission';
1818

@@ -118,7 +118,7 @@ describe('Notification Types are set correctly on subscription change', () => {
118118
});
119119
OneSignal.coreDirector.addSubscriptionModel(pushModel);
120120

121-
await EventHelper.checkAndTriggerSubscriptionChanged();
121+
await checkAndTriggerSubscriptionChanged();
122122
expect(changeListener).not.toHaveBeenCalled();
123123
});
124124

@@ -136,7 +136,7 @@ describe('Notification Types are set correctly on subscription change', () => {
136136
});
137137
OneSignal.coreDirector.subscriptionModelStore.add(pushModel);
138138

139-
await EventHelper.checkAndTriggerSubscriptionChanged();
139+
await checkAndTriggerSubscriptionChanged();
140140
expect(changeListener).toHaveBeenCalledWith({
141141
current: {
142142
id: DUMMY_SUBSCRIPTION_ID_2,

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@
7272
},
7373
{
7474
"path": "./build/releases/OneSignalSDK.page.es6.js",
75-
"limit": "61.2 kB",
75+
"limit": "60.5 kB",
7676
"gzip": true
7777
},
7878
{
7979
"path": "./build/releases/OneSignalSDK.sw.js",
80-
"limit": "31.3 kB",
80+
"limit": "25.1 kB",
8181
"gzip": true
8282
},
8383
{

src/core/executors/LoginUserOperationExecutor.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import {
44
type IOperationExecutor,
55
} from 'src/core/types/operation';
66
import OneSignalError from 'src/shared/errors/OneSignalError';
7-
import EventHelper from 'src/shared/helpers/EventHelper';
87
import { getTimeZoneId } from 'src/shared/helpers/general';
98
import {
109
getResponseStatusType,
1110
ResponseStatusType,
1211
} from 'src/shared/helpers/NetworkUtils';
1312
import Log from 'src/shared/libraries/Log';
13+
import { checkAndTriggerUserChanged } from 'src/shared/listeners';
1414
import Database from 'src/shared/services/Database';
1515
import LocalStorage from 'src/shared/utils/LocalStorage';
1616
import { IdentityConstants, OPERATION_NAME } from '../constants';
@@ -249,7 +249,7 @@ export class LoginUserOperationExecutor implements IOperationExecutor {
249249
);
250250
}
251251

252-
EventHelper.checkAndTriggerUserChanged();
252+
checkAndTriggerUserChanged();
253253

254254
const followUp =
255255
Object.keys(identity).length > 0

src/onesignal/NotificationsNamespace.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { fireStoredNotificationClicks } from 'src/shared/listeners';
12
import type { NotificationEventName } from '../page/models/NotificationEventName';
23
import type { NotificationEventTypeMap } from '../page/models/NotificationEventTypeMap';
34
import { EventListenerBase } from '../page/userModel/EventListenerBase';
@@ -6,7 +7,6 @@ import {
67
InvalidArgumentError,
78
InvalidArgumentReason,
89
} from '../shared/errors/InvalidArgumentError';
9-
import EventHelper from '../shared/helpers/EventHelper';
1010
import { NotificationPermission } from '../shared/models/NotificationPermission';
1111
import Database from '../shared/services/Database';
1212
import {
@@ -151,7 +151,7 @@ export default class NotificationsNamespace extends EventListenerBase {
151151
OneSignal.emitter.on(event, listener);
152152

153153
if (event === 'click') {
154-
EventHelper.fireStoredNotificationClicks();
154+
fireStoredNotificationClicks();
155155
}
156156
}
157157

src/onesignal/OneSignal.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ import {
55
type AppUserConfig,
66
} from 'src/shared/config';
77
import { windowEnvString } from 'src/shared/environment';
8+
import {
9+
_onSubscriptionChanged,
10+
checkAndTriggerSubscriptionChanged,
11+
} from 'src/shared/listeners';
812
import {
913
Browser,
1014
getBrowserName,
@@ -23,7 +27,6 @@ import {
2327
InvalidArgumentReason,
2428
} from '../shared/errors/InvalidArgumentError';
2529
import { SdkInitError, SdkInitErrorKind } from '../shared/errors/SdkInitError';
26-
import EventHelper from '../shared/helpers/EventHelper';
2730
import InitHelper from '../shared/helpers/InitHelper';
2831
import MainHelper from '../shared/helpers/MainHelper';
2932
import Emitter from '../shared/libraries/Emitter';
@@ -170,11 +173,11 @@ export default class OneSignal {
170173

171174
OneSignal.emitter.on(
172175
OneSignal.EVENTS.NOTIFICATION_PERMISSION_CHANGED_AS_STRING,
173-
EventHelper.onNotificationPermissionChange,
176+
checkAndTriggerSubscriptionChanged,
174177
);
175178
OneSignal.emitter.on(
176179
OneSignal.EVENTS.SUBSCRIPTION_CHANGED,
177-
EventHelper._onSubscriptionChanged,
180+
_onSubscriptionChanged,
178181
);
179182
OneSignal.emitter.on(
180183
OneSignal.EVENTS.SDK_INITIALIZED,

src/onesignal/PushSubscriptionNamespace.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import {
2+
checkAndTriggerSubscriptionChanged,
3+
onInternalSubscriptionSet,
4+
} from 'src/shared/listeners';
15
import { isCompleteSubscriptionObject } from '../core/utils/typePredicates';
26
import type { SubscriptionChangeEvent } from '../page/models/SubscriptionChangeEvent';
37
import { EventListenerBase } from '../page/userModel/EventListenerBase';
@@ -10,7 +14,6 @@ import {
1014
InvalidStateError,
1115
InvalidStateReason,
1216
} from '../shared/errors/InvalidStateError';
13-
import EventHelper from '../shared/helpers/EventHelper';
1417
import Log from '../shared/libraries/Log';
1518
import { Subscription } from '../shared/models/Subscription';
1619
import Database from '../shared/services/Database';
@@ -139,12 +142,10 @@ export default class PushSubscriptionNamespace extends EventListenerBase {
139142

140143
subscriptionFromDb.optedOut = !enabled;
141144
await Database.setSubscription(subscriptionFromDb);
142-
EventHelper.onInternalSubscriptionSet(subscriptionFromDb.optedOut).catch(
143-
(e) => {
144-
Log.error(e);
145-
},
146-
);
147-
EventHelper.checkAndTriggerSubscriptionChanged().catch((e) => {
145+
onInternalSubscriptionSet(subscriptionFromDb.optedOut).catch((e) => {
146+
Log.error(e);
147+
});
148+
checkAndTriggerSubscriptionChanged().catch((e) => {
148149
Log.error(e);
149150
});
150151
}

src/page/bell/Bell.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ import type { AppUserConfigNotifyButton } from 'src/shared/config';
22
import {
33
addCssClass,
44
addDomElement,
5+
decodeHtmlEntities,
56
removeDomElement,
67
} from 'src/shared/helpers/dom';
7-
import { delay } from 'src/shared/helpers/general';
8+
import { delay, nothing } from 'src/shared/helpers/general';
89
import type { BellPosition, BellSize, BellText } from 'src/shared/prompts';
910
import { Browser, getBrowserName } from 'src/shared/useragent';
1011
import OneSignal from '../../onesignal/OneSignal';
@@ -13,8 +14,7 @@ import MainHelper from '../../shared/helpers/MainHelper';
1314
import Log from '../../shared/libraries/Log';
1415
import { NotificationPermission } from '../../shared/models/NotificationPermission';
1516
import OneSignalEvent from '../../shared/services/OneSignalEvent';
16-
import BrowserUtils from '../../shared/utils/BrowserUtils';
17-
import { contains, nothing, once } from '../../shared/utils/utils';
17+
import { contains, once } from '../../shared/utils/utils';
1818
import { DismissPrompt } from '../models/Dismiss';
1919
import type { SubscriptionChangeEvent } from '../models/SubscriptionChangeEvent';
2020
import { ResourceLoadState } from '../services/DynamicResourceLoader';
@@ -270,7 +270,7 @@ export default class Bell {
270270
resolve();
271271
});
272272
} else {
273-
this.message.content = BrowserUtils.decodeHtmlEntities(
273+
this.message.content = decodeHtmlEntities(
274274
this.message.getTipForState(),
275275
);
276276
this.message.contentType = Message.TYPES.TIP;

src/page/bell/Launcher.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ import {
77
hasCssClass,
88
removeCssClass,
99
} from 'src/shared/helpers/dom';
10+
import { nothing } from 'src/shared/helpers/general';
1011
import Log from 'src/shared/libraries/Log';
1112
import type { BellSize } from 'src/shared/prompts';
12-
import { contains, nothing, once } from 'src/shared/utils/utils';
13+
import { contains, once } from 'src/shared/utils/utils';
1314
import ActiveAnimatedElement from './ActiveAnimatedElement';
1415
import Bell from './Bell';
1516

src/page/bell/Message.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { delay } from 'src/shared/helpers/general';
1+
import { decodeHtmlEntities } from 'src/shared/helpers/dom';
2+
import { delay, nothing } from 'src/shared/helpers/general';
23
import Log from 'src/shared/libraries/Log';
3-
import BrowserUtils from 'src/shared/utils/BrowserUtils';
4-
import { nothing } from 'src/shared/utils/utils';
54
import AnimatedElement from './AnimatedElement';
65
import Bell from './Bell';
76

@@ -41,7 +40,7 @@ export default class Message extends AnimatedElement {
4140
Log.debug(`Calling display(${type}, ${content}, ${duration}).`);
4241
return (this.shown ? this.hide() : nothing())
4342
.then(() => {
44-
this.content = BrowserUtils.decodeHtmlEntities(content);
43+
this.content = decodeHtmlEntities(content);
4544
this.contentType = type;
4645
})
4746
.then(() => {
@@ -69,7 +68,7 @@ export default class Message extends AnimatedElement {
6968
}
7069

7170
enqueue(message: string) {
72-
this.queued.push(BrowserUtils.decodeHtmlEntities(message));
71+
this.queued.push(decodeHtmlEntities(message));
7372
return new Promise<void>((resolve) => {
7473
if (this.bell.badge.shown) {
7574
this.bell.badge

src/page/managers/PromptsManager.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { delay } from 'src/shared/helpers/general';
22
import {
33
CONFIG_DEFAULTS_SLIDEDOWN_OPTIONS,
44
DelayedPromptType,
5+
getFirstSlidedownPromptOptionsWithType,
56
SERVER_CONFIG_DEFAULTS_PROMPT_DELAYS,
67
type AppUserConfigPromptOptions,
78
type DelayedPromptOptions,
@@ -17,7 +18,6 @@ import {
1718
} from 'src/shared/useragent';
1819
import { DismissHelper } from '../../shared/helpers/DismissHelper';
1920
import InitHelper from '../../shared/helpers/InitHelper';
20-
import PromptsHelper from '../../shared/helpers/PromptsHelper';
2121
import Log from '../../shared/libraries/Log';
2222
import OneSignalEvent from '../../shared/services/OneSignalEvent';
2323
import OneSignalUtils from '../../shared/utils/OneSignalUtils';
@@ -86,11 +86,10 @@ export class PromptsManager {
8686
}
8787

8888
// if slidedown not configured, condition met with native options, & should force slidedown over native:
89-
const isPushSlidedownConfigured =
90-
!!PromptsHelper.getFirstSlidedownPromptOptionsWithType(
91-
userPromptOptions?.slidedown?.prompts,
92-
DelayedPromptType.Push,
93-
);
89+
const isPushSlidedownConfigured = !!getFirstSlidedownPromptOptionsWithType(
90+
userPromptOptions?.slidedown?.prompts,
91+
DelayedPromptType.Push,
92+
);
9493

9594
if (forceSlidedownWithNativeOptions && !isPushSlidedownConfigured) {
9695
this.internalShowDelayedPrompt(
@@ -263,10 +262,7 @@ export class PromptsManager {
263262
this.context.appConfig.userConfig.promptOptions?.slidedown?.prompts;
264263
const slidedownPromptOptions =
265264
options?.slidedownPromptOptions ||
266-
PromptsHelper.getFirstSlidedownPromptOptionsWithType(
267-
prompts,
268-
typeToPullFromConfig,
269-
);
265+
getFirstSlidedownPromptOptionsWithType(prompts, typeToPullFromConfig);
270266

271267
if (!slidedownPromptOptions) {
272268
if (typeToPullFromConfig !== DelayedPromptType.Push) {
@@ -374,7 +370,7 @@ export class PromptsManager {
374370
case DelayedPromptType.Sms:
375371
case DelayedPromptType.SmsAndEmail: {
376372
const { userConfig } = this.context.appConfig;
377-
const options = PromptsHelper.getFirstSlidedownPromptOptionsWithType(
373+
const options = getFirstSlidedownPromptOptionsWithType(
378374
userConfig.promptOptions?.slidedown?.prompts || [],
379375
type,
380376
);

0 commit comments

Comments
 (0)