onesignal-vue 2.0.0-beta.2 → 2.0.0-beta.5

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.
package/MigrationGuide.md CHANGED
@@ -108,16 +108,17 @@ Example:
108
108
  await OneSignal.Notifications.requestPermission();
109
109
  ```
110
110
 
111
- | Sync/Async | Function Name | Description | Argument List |
112
- | ---------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
113
- | `async` | `setDefaultUrl` | Sets the default URL for notifications. | `url` (string) |
114
- | `async` | `setDefaultTitle` | Sets the default title for notifications. | `title` (string) |
115
- | `sync` | `isPushSupported` | Returns true if the current browser supports web push. | |
116
- | `async` | `getPermissionStatus` | Returns the browser's current notification permission. | `onComplete` (Action<NotificationPermission>) |
117
- | `async` | `requestPermission` | Requests push notifications permission via the native browser prompt. | |
118
- | `sync` | `addEventListener` | Adds an event listener for the following events:<br><br>- `click`<br>- `willDisplay`<br>- `dismiss`<br>- `permissionPromptDisplay`<br>- `permissionChange`*<br> * argument type: bool | - `<event>` (string)<br>- `(arg: <type>) => {}` (callback) |
119
- | `sync` | `removeEventListener` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
120
111
 
112
+ | Sync/Async | Function / Property | Description | Argument List |
113
+ | ---------- | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
114
+ | `async` | `setDefaultUrl()` | Sets the default URL for notifications. | `url` (string) |
115
+ | `async` | `setDefaultTitle()` | Sets the default title for notifications. | `title` (string) |
116
+ | `sync` | `isPushSupported()` | Returns true if the current browser supports web push. | |
117
+ | `async` | `requestPermission()` | Requests push notifications permission via the native browser prompt. | |
118
+ | `sync` | `addEventListener()` | Adds an event listener for the following events:<br><br>- `click`<br>- `willDisplay`<br>- `dismiss`<br>- `permissionPromptDisplay`<br>- `permissionChange`*<br> * argument type: bool | - `<event>` (string)<br>- `(arg: <type>) => {}` (callback) |
119
+ | `sync` | `removeEventListener()` | Removes the event listener. | `() => {}` (the event listener you want to remove) |
120
+ | | `permission` | A boolean representing whether or not the user has granted permission for push notifications. | |
121
+ | | `permissionNative` | A string representing the native push permission status: 'default', 'granted', or 'denied'. | |
121
122
 
122
123
 
123
124
  ### Slidedown Namespace
@@ -168,6 +169,13 @@ OneSignal.Debug.setLogLevel(“trace”);
168
169
  | `setLogLevel` | Turns on logging with the given log level. | `setLogLevel: string`<br>- `"trace"`<br>- `"debug"`<br>- `"info"`<br>- `"warn"`<br>- `"error"` |
169
170
 
170
171
  # Limitations
172
+ ## May 2023
173
+ ## Version 16 (beta)
174
+ Please test thoroughly prior to production use.
175
+ * Any User namespace calls must be invoked **after** initialization (async). Example: `OneSignal.User.addTag("tag", "2");`
176
+ * HTTP environments are not supported.
177
+ * AMP environments are not supported.
178
+ * Identity verification is not functional.
171
179
 
172
180
  ## January 2023
173
181
  ### Version 16 (alpha)
package/README.md CHANGED
@@ -1,17 +1,31 @@
1
1
  <h1 align="center">welcome to onesignal-vue 👋</h1>
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/onesignal-vue.svg)](https://www.npmjs.com/package/onesignal-vue) [![npm downloads](https://img.shields.io/npm/dm/onesignal-vue.svg)](https://www.npmjs.com/package/onesignal-vue)
3
+ <p>
4
+ <a href="https://www.npmjs.com/package/onesignal-vue" target="_blank">
5
+ <img alt="Version" src="https://img.shields.io/npm/v/onesignal-vue.svg">
6
+ </a>
7
+ <a href="https://github.com/OneSignal/onesignal-vue#readme" target="_blank">
8
+ <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
9
+ </a>
10
+ <a href="https://github.com/OneSignal/onesignal-vue/graphs/commit-activity" target="_blank">
11
+ <img alt="Maintenance" src="https://img.shields.io/badge/Maintained%3F-yes-green.svg" />
12
+ </a>
13
+ <a href="https://twitter.com/onesignal" target="_blank">
14
+ <img alt="Twitter: onesignal" src="https://img.shields.io/twitter/follow/onesignal.svg?style=social" />
15
+ </a>
16
+ </p>
17
+
18
+ > This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app that uses Vue for its front-end codebase.
4
19
 
5
- Vue OneSignal Plugin: Make it easy to integrate OneSignal with your Vue App!
6
-
7
- This is a JavaScript module that can be used to easily include [OneSignal](https://onesignal.com/) code in a website or app that uses Vue for its front-end codebase.
20
+ * 🏠 [Homepage](https://onesignal.com)
21
+ * 🖤 [npm](https://www.npmjs.com/package/onesignal-vue)
8
22
 
9
23
  OneSignal is the world's leader for Mobile Push Notifications, Web Push, and In-App Messaging. It is trusted by 800k businesses to send 5 billion Push Notifications per day.
10
24
 
11
25
  You can find more information on OneSignal [here](https://onesignal.com/).
12
26
 
13
- * 🏠 [Homepage](https://onesignal.com)
14
- * 🖤 [npm](https://www.npmjs.com/package/onesignal-vue)
27
+ > 🚧 Version 2 now in Beta!
28
+ See our [migration guide](./MigrationGuide.md) to get started.
15
29
 
16
30
  > 🚧 Version 2 now in Beta!
17
31
  See our [migration guide](./MigrationGuide.md) to get started.
@@ -104,8 +118,31 @@ export default {
104
118
  </script>
105
119
  ```
106
120
 
107
- ### Options
108
- You can pass other [options](https://documentation.onesignal.com/docs/web-push-sdk#init) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
121
+ ### Init Options
122
+ You can pass other [options](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) to the `init` function. Use these options to configure personalized prompt options, auto-resubscribe, and more.
123
+
124
+ <details>
125
+ <summary>Expand to see more options</summary>
126
+
127
+ | Property Name | Type | Description |
128
+ | ---------------------------| --------------------- | -------------------------------------------------- |
129
+ | `appId` | `string` | The ID of your OneSignal app. |
130
+ | `autoRegister` | `boolean` (optional) | Whether or not to automatically register the user. |
131
+ | `autoResubscribe` | `boolean` (optional) | Whether or not to automatically resubscribe the user. |
132
+ | `path` | `string` (optional) | The path to the OneSignal service worker file. |
133
+ | `serviceWorkerPath` | `string` (optional) | The path to the OneSignal service worker script. |
134
+ | `serviceWorkerUpdaterPath` | `string` (optional) | The path to the OneSignal service worker updater script. |
135
+ | `subdomainName` | `string` (optional) | The subdomain of your OneSignal app. |
136
+ | `allowLocalhostAsSecureOrigin` | `boolean` (optional) | Whether or not to allow localhost as a secure origin. |
137
+ | `requiresUserPrivacyConsent`| `boolean` (optional) | Whether or not the user's consent is required. |
138
+ | `persistNotification` | `boolean` (optional) | Whether or not notifications should persist. |
139
+ | `notificationClickHandlerMatch`| `string` (optional) | The URL match pattern for notification clicks. |
140
+ | `notificationClickHandlerAction`| `string` (optional)| The action to perform when a notification is clicked. |
141
+ | `welcomeNotification` | `object` (optional) | The welcome notification configuration. |
142
+ | `notifyButton` | `object` (optional) | The notify button configuration. |
143
+ | `promptOptions` | `object` (optional) | Additional options for the subscription prompt. |
144
+ | `webhooks` | `object` (optional) | The webhook configuration. |
145
+ | `[key: string]` | `any` | Additional properties can be added as needed. |
109
146
 
110
147
  **Service Worker Params**
111
148
  You can customize the location and filenames of service worker assets. You are also able to specify the specific scope that your service worker should control. You can read more [here](https://documentation.onesignal.com/docs/onesignal-service-worker-faq#sdk-parameter-reference-for-service-workers).
@@ -117,6 +154,10 @@ In this distribution, you can specify the parameters via the following:
117
154
  | `serviceWorkerParam` | Use to specify the scope, or the path the service worker has control of. Example: `{ scope: "/js/push/onesignal/" }` |
118
155
  | `serviceWorkerPath` | The path to the service worker file. |
119
156
 
157
+ </details>
158
+
159
+ ---
160
+
120
161
  ### Service Worker File
121
162
  If you haven't done so already, you will need to add the [OneSignal Service Worker file](https://github.com/OneSignal/OneSignal-Website-SDK/files/7585231/OneSignal-Web-SDK-HTTPS-Integration-Files.zip) to your site ([learn more](https://documentation.onesignal.com/docs/web-push-quickstart#step-6-upload-files)).
122
163
 
@@ -126,76 +167,124 @@ The OneSignal SDK file must be publicly accessible. You can put them in your top
126
167
  Visit `https://yoursite.com/OneSignalSDKWorker.js` in the address bar to make sure the files are being served successfully.
127
168
 
128
169
  ---
129
- ## OneSignal API
130
170
  ### Typescript
131
171
  This package includes Typescript support.
132
172
 
133
173
  ```ts
134
- interface IOneSignal {
135
- init(options: IInitObject): Promise<void>;
136
- on(event: string, listener: () => void): void;
137
- off(event: string, listener: () => void): void;
138
- once(event: string, listener: () => void): void;
139
- isPushNotificationsEnabled(callback?: Action<boolean>): Promise<boolean>;
140
- showHttpPrompt(options?: AutoPromptOptions): Promise<void>;
141
- registerForPushNotifications(options?: RegisterOptions): Promise<void>;
142
- setDefaultNotificationUrl(url: string): Promise<void>;
143
- setDefaultTitle(title: string): Promise<void>;
144
- getTags(callback?: Action<any>): Promise<void>;
145
- sendTag(key: string, value: any, callback?: Action<Object>): Promise<Object | null>;
146
- sendTags(tags: TagsObject<any>, callback?: Action<Object>): Promise<Object | null>;
147
- deleteTag(tag: string): Promise<Array<string>>;
148
- deleteTags(tags: Array<string>, callback?: Action<Array<string>>): Promise<Array<string>>;
149
- addListenerForNotificationOpened(callback?: Action<Notification>): Promise<void>;
150
- setSubscription(newSubscription: boolean): Promise<void>;
151
- showHttpPermissionRequest(options?: AutoPromptOptions): Promise<any>;
152
- showNativePrompt(): Promise<void>;
153
- showSlidedownPrompt(options?: AutoPromptOptions): Promise<void>;
154
- showCategorySlidedown(options?: AutoPromptOptions): Promise<void>;
155
- showSmsSlidedown(options?: AutoPromptOptions): Promise<void>;
156
- showEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
157
- showSmsAndEmailSlidedown(options?: AutoPromptOptions): Promise<void>;
158
- getNotificationPermission(onComplete?: Function): Promise<NotificationPermission>;
159
- getUserId(callback?: Action<string | undefined | null>): Promise<string | undefined | null>;
160
- getSubscription(callback?: Action<boolean>): Promise<boolean>;
161
- setEmail(email: string, options?: SetEmailOptions): Promise<string | null>;
162
- setSMSNumber(smsNumber: string, options?: SetSMSOptions): Promise<string | null>;
163
- logoutEmail(): Promise<void>;
164
- logoutSMS(): Promise<void>;
165
- setExternalUserId(externalUserId: string | undefined | null, authHash?: string): Promise<void>;
166
- removeExternalUserId(): Promise<void>;
167
- getExternalUserId(): Promise<string | undefined | null>;
168
- provideUserConsent(consent: boolean): Promise<void>;
169
- getEmailId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
170
- getSMSId(callback?: Action<string | undefined>): Promise<string | null | undefined>;
171
- sendOutcome(outcomeName: string, outcomeWeight?: number | undefined): Promise<void>;
174
+ interface IOneSignalOneSignal {
175
+ Slidedown: IOneSignalSlidedown;
176
+ Notifications: IOneSignalNotifications;
177
+ Session: IOneSignalSession;
178
+ User: IOneSignalUser;
179
+ Debug: IOneSignalDebug;
180
+ login(externalId: string, jwtToken?: string): Promise<void>;
181
+ logout(): Promise<void>;
182
+ init(options: IInitObject): Promise<void>;
183
+ setConsentGiven(consent: boolean): Promise<void>;
184
+ setConsentRequired(requiresConsent: boolean): Promise<void>;
172
185
  }
173
186
  ```
174
187
 
175
188
  ### OneSignal API
176
- See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/docs/web-push-sdk) for information on all available SDK functions.
189
+ See the official [OneSignal WebSDK reference](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) for information on all available SDK functions.
177
190
 
178
191
  ---
179
192
  ## Advanced Usage
180
193
  ### Events and Event Listeners
181
194
  Use listeners to react to OneSignal-related events:
182
195
 
183
- * `subscriptionChange`
184
- * `permissionPromptDisplay`
185
- * `notificationPermissionChange`
186
- * `popoverShown`
187
- * `customPromptClick`
188
- * `notificationDisplay`
189
- * `notificationDismiss`
196
+ ### Notifications Namespace
197
+ | Event Name | Callback Argument Type |
198
+ |-|-|
199
+ |'click' | NotificationClickResult|
200
+ |'foregroundWillDisplay'| NotificationForegroundWillDisplayEvent
201
+ | 'dismiss'| OSNotificationDataPayload|
202
+ |'permissionChange'| boolean|
203
+ |'permissionPromptDisplay'| void|
204
+
205
+ <details>
206
+ <summary>Expand to see associated types</summary>
207
+
208
+ #### `NotificationClickResult`
209
+ | Property | Description |
210
+ |-------------------------|---------------------------------------------|
211
+ | `actionId` | A string representing the action ID associated with the click event |
212
+ | `url` | A string representing the URL associated with the click event |
213
+
214
+ #### `NotificationForegroundWillDisplayEvent`
215
+ | Property | Description |
216
+ |-------------------------|---------------------------------------------|
217
+ | `notification` | An `OSNotification` type object |
218
+
219
+ #### `OSNotification`
220
+ | Property | Description |
221
+ |-----------------------|----------------------------------------------------------------------------------------------------------------------|
222
+ | `id` | Optional string representing the unique identifier of the notification. |
223
+ | `title` | Optional string representing the title of the notification. |
224
+ | `body` | Optional string representing the body of the notification. |
225
+ | `data` | Optional data object associated with the notification. |
226
+ | `url` | Optional string representing the URL to be opened when the notification is clicked. |
227
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification. |
228
+ | `image` | Optional string representing the URL of the image to be displayed with the notification. |
229
+ | `tag` | Optional string representing a unique identifier for a group of notifications. |
230
+ | `requireInteraction` | Optional boolean indicating whether the notification requires user interaction or not. |
231
+ | `renotify` | Optional boolean indicating whether the notification should be replaced or not, if a notification with the same tag is already displayed. |
232
+ | `actions` | Optional array of `NotificationActionButton` objects representing the action buttons associated with the notification. |
233
+
234
+ #### `NotificationActionButton`
235
+ | Property | Description |
236
+ |-------------|-----------------------------------------------------------------------------------------------|
237
+ | `action` | A string representing the action associated with the button. |
238
+ | `title` | A string representing the title of the button. |
239
+ | `icon` | Optional string representing the URL of the icon to be displayed with the button. |
240
+ | `url` | Optional string representing the URL to be opened when the button is clicked. |
241
+
242
+ #### `OSNotificationDataPayload`
243
+ | Property | Description |
244
+ |-------------|-----------------------------------------------------------------------------------------------|
245
+ | `id` | A string representing the unique identifier of the notification data payload. |
246
+ | `content` | A string representing the content of the notification data payload. |
247
+ | `heading` | Optional string representing the heading of the notification data payload. |
248
+ | `url` | Optional string representing the URL to be opened when the notification data payload is clicked. |
249
+ | `data` | Optional object containing additional data associated with the notification data payload. |
250
+ | `rr` | Optional string with value 'y' or 'n' representing whether or not the notification has [Confirmed Delivery](https://documentation.onesignal.com/docs/confirmed-deliveries). |
251
+ | `icon` | Optional string representing the URL of the icon to be displayed with the notification data payload. |
252
+ | `image` | Optional string representing the URL of the image to be displayed with the notification data payload. |
253
+ | `tag` | Optional string representing a unique identifier for a group of notification data payloads. |
254
+ | `badge` | Optional string representing the URL of the badge to be displayed with the notification data payload. |
255
+ | `vibrate` | Optional array of numbers representing the vibration pattern of the notification data payload. |
256
+ | `buttons` | Optional array of `NotificationButtonData` objects representing the button data associated with the notification data payload. |
257
+
258
+ #### `NotificationButtonData`
259
+ | Property | Description |
260
+ |----------|------------------------------------------------------------------------------------------------------|
261
+ | `url` | A string representing the URL to be opened when the button is clicked. |
262
+ | `id` | A string representing the ID of the action. |
263
+ | `action` | A string representing the type of the action (inherited from `NotificationAction`). |
264
+ | `title` | A string representing the title of the action button (inherited from `NotificationAction`). |
265
+ | `icon` | Optional string representing the URL of the icon to be displayed with the action button. |
266
+
267
+ </details>
268
+
269
+
270
+ ### Slidedown Namespace
271
+ | Event Name | Callback Argument Type |
272
+ |-|-|
273
+ |'slidedownShown' | boolean |
274
+
275
+ ### Push Subscription Namespace
276
+ | Event Name | Callback Argument Type |
277
+ |-|-|
278
+ |'change' | boolean |
190
279
 
191
280
  **Example**
192
281
  ```js
193
- OneSignal.on('subscriptionChange', function(isSubscribed) {
194
- console.log("The user's subscription state is now:", isSubscribed);
282
+ OneSignal.Notifications.addEventListener('click', (result) => {
283
+ console.log("The notification was clicked!", result);
195
284
  });
196
285
  ```
197
286
 
198
- See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/docs/web-push-sdk) for all available event listeners.
287
+ See the [OneSignal WebSDK Reference](https://documentation.onesignal.com/v11.0/docs/web-sdk#initializing-the-sdk) for all available event listeners.
199
288
 
200
289
  ---
201
290
 
package/dist/index.d.ts CHANGED
@@ -13,7 +13,6 @@ declare global {
13
13
  };
14
14
  }
15
15
  }
16
- type Action<T> = (item: T) => void;
17
16
  interface AutoPromptOptions {
18
17
  force?: boolean;
19
18
  forceSlidedownOverNative?: boolean;
@@ -47,9 +46,60 @@ type SubscriptionChangeEvent = {
47
46
  previous: PushSubscriptionNamespaceProperties;
48
47
  current: PushSubscriptionNamespaceProperties;
49
48
  };
50
- type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
49
+ type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
50
+ interface NotificationButtonData extends NotificationAction {
51
+ url: string;
52
+ }
51
53
  type SlidedownEventName = 'slidedownShown';
52
54
  type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
55
+ type OSNotification = {
56
+ id?: string;
57
+ title?: string;
58
+ body?: string;
59
+ data?: any;
60
+ url?: string;
61
+ icon?: string;
62
+ image?: string;
63
+ tag?: string;
64
+ requireInteraction?: boolean;
65
+ renotify?: true;
66
+ actions?: Array<NotificationActionButton>;
67
+ };
68
+ type NotificationActionButton = {
69
+ action: string;
70
+ title: string;
71
+ icon?: string;
72
+ url?: string;
73
+ };
74
+ export type NotificationClickResult = {
75
+ actionId?: string;
76
+ url?: string;
77
+ };
78
+ type NotificationEventTypeMap = {
79
+ 'click': NotificationClickResult;
80
+ 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent;
81
+ 'dismiss': OSNotificationDataPayload;
82
+ 'permissionChange': boolean;
83
+ 'permissionPromptDisplay': void;
84
+ };
85
+ export type NotificationForegroundWillDisplayEvent = {
86
+ notification: OSNotification;
87
+ preventDefault(): void;
88
+ };
89
+ type OSNotificationDataPayload = {
90
+ id: string;
91
+ content: string;
92
+ heading?: string;
93
+ url?: string;
94
+ data?: object;
95
+ rr?: string;
96
+ icon?: string;
97
+ image?: string;
98
+ tag?: string;
99
+ badge?: string;
100
+ vibrate?: VibratePattern;
101
+ buttons?: NotificationButtonData[];
102
+ };
53
103
  interface IInitObject {
54
104
  appId: string;
55
105
  subdomainName?: string;
@@ -85,13 +135,14 @@ interface IOneSignalOneSignal {
85
135
  setConsentRequired(requiresConsent: boolean): Promise<void>;
86
136
  }
87
137
  interface IOneSignalNotifications {
138
+ permissionNative: NotificationPermission;
139
+ permission: boolean;
88
140
  setDefaultUrl(url: string): Promise<void>;
89
141
  setDefaultTitle(title: string): Promise<void>;
90
142
  isPushSupported(): boolean;
91
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
92
143
  requestPermission(): Promise<void>;
93
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
94
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
144
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
145
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
95
146
  }
96
147
  interface IOneSignalSlidedown {
97
148
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -121,6 +172,12 @@ interface IOneSignalUser {
121
172
  removeEmail(email: string): void;
122
173
  addSms(smsNumber: string): void;
123
174
  removeSms(smsNumber: string): void;
175
+ addTag(key: string, value: string): void;
176
+ addTags(tags: {
177
+ [key: string]: string;
178
+ }): void;
179
+ removeTag(key: string): void;
180
+ removeTags(keys: string[]): void;
124
181
  }
125
182
  interface IOneSignalPushSubscription {
126
183
  id: string | null | undefined;
@@ -128,8 +185,8 @@ interface IOneSignalPushSubscription {
128
185
  optedIn: boolean | undefined;
129
186
  optIn(): Promise<void>;
130
187
  optOut(): Promise<void>;
131
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
132
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
188
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
189
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
133
190
  }
134
191
  declare const OneSignalVuePlugin: {
135
192
  install(app: typeof VueApp): void;
package/dist/index.js CHANGED
@@ -8,8 +8,10 @@ let isOneSignalInitialized = false;
8
8
  // OneSignal#init.
9
9
  let isOneSignalScriptFailed = false;
10
10
  const VueApp = Vue;
11
- window.OneSignalDeferred = window.OneSignalDeferred || [];
12
- addSDKScript();
11
+ if (window) {
12
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
13
+ addSDKScript();
14
+ }
13
15
  /* H E L P E R S */
14
16
  function handleOnError() {
15
17
  isOneSignalScriptFailed = true;
@@ -291,24 +293,6 @@ function notificationsSetDefaultTitle(title) {
291
293
  }
292
294
  });
293
295
  }
294
- function notificationsGetPermissionStatus(onComplete) {
295
- return new Promise(function (resolve, reject) {
296
- var _a;
297
- if (isOneSignalScriptFailed) {
298
- reject();
299
- }
300
- try {
301
- (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
302
- OneSignal.Notifications.getPermissionStatus(onComplete)
303
- .then(value => resolve(value))
304
- .catch(error => reject(error));
305
- });
306
- }
307
- catch (error) {
308
- reject(error);
309
- }
310
- });
311
- }
312
296
  function notificationsRequestPermission() {
313
297
  return new Promise(function (resolve, reject) {
314
298
  var _a;
@@ -423,6 +407,30 @@ function userRemoveSms(smsNumber) {
423
407
  OneSignal.User.removeSms(smsNumber);
424
408
  });
425
409
  }
410
+ function userAddTag(key, value) {
411
+ var _a;
412
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
413
+ OneSignal.User.addTag(key, value);
414
+ });
415
+ }
416
+ function userAddTags(tags) {
417
+ var _a;
418
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
419
+ OneSignal.User.addTags(tags);
420
+ });
421
+ }
422
+ function userRemoveTag(key) {
423
+ var _a;
424
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
425
+ OneSignal.User.removeTag(key);
426
+ });
427
+ }
428
+ function userRemoveTags(keys) {
429
+ var _a;
430
+ (_a = window.OneSignalDeferred) === null || _a === void 0 ? void 0 : _a.push((OneSignal) => {
431
+ OneSignal.User.removeTags(keys);
432
+ });
433
+ }
426
434
  function pushSubscriptionOptIn() {
427
435
  return new Promise(function (resolve, reject) {
428
436
  var _a;
@@ -495,6 +503,10 @@ const UserNamespace = {
495
503
  removeEmail: userRemoveEmail,
496
504
  addSms: userAddSms,
497
505
  removeSms: userRemoveSms,
506
+ addTag: userAddTag,
507
+ addTags: userAddTags,
508
+ removeTag: userRemoveTag,
509
+ removeTags: userRemoveTags,
498
510
  PushSubscription: PushSubscriptionNamespace,
499
511
  };
500
512
  const SessionNamespace = {
@@ -514,10 +526,11 @@ const SlidedownNamespace = {
514
526
  removeEventListener: slidedownRemoveEventListener,
515
527
  };
516
528
  const NotificationsNamespace = {
529
+ get permissionNative() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permissionNative) !== null && _c !== void 0 ? _c : 'default'; },
530
+ get permission() { var _a, _b, _c; return (_c = (_b = (_a = window.OneSignal) === null || _a === void 0 ? void 0 : _a.Notifications) === null || _b === void 0 ? void 0 : _b.permission) !== null && _c !== void 0 ? _c : false; },
517
531
  setDefaultUrl: notificationsSetDefaultUrl,
518
532
  setDefaultTitle: notificationsSetDefaultTitle,
519
533
  isPushSupported,
520
- getPermissionStatus: notificationsGetPermissionStatus,
521
534
  requestPermission: notificationsRequestPermission,
522
535
  addEventListener: notificationsAddEventListener,
523
536
  removeEventListener: notificationsRemoveEventListener,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -12,9 +12,10 @@ let isOneSignalScriptFailed = false;
12
12
 
13
13
  const VueApp: any = Vue;
14
14
 
15
- window.OneSignalDeferred = window.OneSignalDeferred || [];
16
-
17
- addSDKScript();
15
+ if (window) {
16
+ window.OneSignalDeferred = window.OneSignalDeferred || [];
17
+ addSDKScript();
18
+ }
18
19
 
19
20
  /* H E L P E R S */
20
21
 
@@ -120,18 +121,22 @@ const isPushSupported = (): boolean => {
120
121
  return isPushNotificationsSupported();
121
122
  }
122
123
 
123
- type Action<T> = (item: T) => void;
124
124
  interface AutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; slidedownPromptOptions?: IOneSignalAutoPromptOptions; }
125
125
  interface IOneSignalAutoPromptOptions { force?: boolean; forceSlidedownOverNative?: boolean; isInUpdateMode?: boolean; categoryOptions?: IOneSignalCategories; }
126
126
  interface IOneSignalCategories { positiveUpdateButton: string; negativeUpdateButton: string; savingButtonText: string; errorButtonText: string; updateMessage: string; tags: IOneSignalTagCategory[]; }
127
127
  interface IOneSignalTagCategory { tag: string; label: string; checked?: boolean; }
128
128
  type PushSubscriptionNamespaceProperties = { id: string | null | undefined; token: string | null | undefined; optedIn: boolean; };
129
129
  type SubscriptionChangeEvent = { previous: PushSubscriptionNamespaceProperties; current: PushSubscriptionNamespaceProperties; };
130
- type NotificationEventName = 'click' | 'willDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
131
- interface NotificationButtonData { action?: string; title?: string; icon?: string; url?: string; }
132
- interface StructuredNotification { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: string; buttons?: NotificationButtonData[]; }
130
+ type NotificationEventName = 'click' | 'foregroundWillDisplay' | 'dismiss' | 'permissionChange' | 'permissionPromptDisplay';
131
+ interface NotificationButtonData extends NotificationAction { url: string; }
133
132
  type SlidedownEventName = 'slidedownShown';
134
133
  type OneSignalDeferredLoadedCallback = (onesignal: IOneSignalOneSignal) => void;
134
+ type OSNotification = { id?: string; title?: string; body?: string; data?: any; url?: string; icon?: string; image?: string; tag?: string; requireInteraction?: boolean; renotify?: true; actions?: Array<NotificationActionButton>; };
135
+ type NotificationActionButton = { action: string; title: string; icon?: string; url?: string; }
136
+ export type NotificationClickResult = { actionId?: string; url?: string; }
137
+ type NotificationEventTypeMap = { 'click': NotificationClickResult; 'foregroundWillDisplay': NotificationForegroundWillDisplayEvent; 'dismiss': OSNotificationDataPayload; 'permissionChange': boolean; 'permissionPromptDisplay': void; };
138
+ export type NotificationForegroundWillDisplayEvent = { notification: OSNotification; preventDefault(): void; }
139
+ type OSNotificationDataPayload = { id: string; content: string; heading?: string; url?: string; data?: object; rr?: string; icon?: string; image?: string; tag?: string; badge?: string; vibrate?: VibratePattern; buttons?: NotificationButtonData[]; };
135
140
 
136
141
  interface IInitObject {
137
142
  appId: string;
@@ -167,13 +172,14 @@ interface IOneSignalOneSignal {
167
172
  setConsentRequired(requiresConsent: boolean): Promise<void>;
168
173
  }
169
174
  interface IOneSignalNotifications {
175
+ permissionNative: NotificationPermission;
176
+ permission: boolean;
170
177
  setDefaultUrl(url: string): Promise<void>;
171
178
  setDefaultTitle(title: string): Promise<void>;
172
179
  isPushSupported(): boolean;
173
- getPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission>;
174
180
  requestPermission(): Promise<void>;
175
- addEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
176
- removeEventListener(event: NotificationEventName, listener: (obj: any) => void): void;
181
+ addEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
182
+ removeEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void;
177
183
  }
178
184
  interface IOneSignalSlidedown {
179
185
  promptPush(options?: AutoPromptOptions): Promise<void>;
@@ -201,6 +207,10 @@ interface IOneSignalUser {
201
207
  removeEmail(email: string): void;
202
208
  addSms(smsNumber: string): void;
203
209
  removeSms(smsNumber: string): void;
210
+ addTag(key: string, value: string): void;
211
+ addTags(tags: { [key: string]: string }): void;
212
+ removeTag(key: string): void;
213
+ removeTags(keys: string[]): void;
204
214
  }
205
215
  interface IOneSignalPushSubscription {
206
216
  id: string | null | undefined;
@@ -208,8 +218,8 @@ interface IOneSignalPushSubscription {
208
218
  optedIn: boolean | undefined;
209
219
  optIn(): Promise<void>;
210
220
  optOut(): Promise<void>;
211
- addEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
212
- removeEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void;
221
+ addEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
222
+ removeEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void;
213
223
  }
214
224
 
215
225
  function oneSignalLogin(externalId: string, jwtToken?: string): Promise<void> {
@@ -422,24 +432,6 @@ function notificationsSetDefaultTitle(title: string): Promise<void> {
422
432
  });
423
433
  }
424
434
 
425
- function notificationsGetPermissionStatus(onComplete: Action<NotificationPermission>): Promise<NotificationPermission> {
426
- return new Promise(function (resolve, reject) {
427
- if (isOneSignalScriptFailed) {
428
- reject();
429
- }
430
-
431
- try {
432
- window.OneSignalDeferred?.push((OneSignal) => {
433
- OneSignal.Notifications.getPermissionStatus(onComplete)
434
- .then(value => resolve(value))
435
- .catch(error => reject(error));
436
- });
437
- } catch (error) {
438
- reject(error);
439
- }
440
- });
441
- }
442
-
443
435
  function notificationsRequestPermission(): Promise<void> {
444
436
  return new Promise(function (resolve, reject) {
445
437
  if (isOneSignalScriptFailed) {
@@ -458,21 +450,13 @@ function notificationsRequestPermission(): Promise<void> {
458
450
  });
459
451
  }
460
452
 
461
- function notificationsAddEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
462
- function notificationsAddEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
463
- function notificationsAddEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
464
-
465
- function notificationsAddEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
453
+ function notificationsAddEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
466
454
  window.OneSignalDeferred?.push((OneSignal) => {
467
455
  OneSignal.Notifications.addEventListener(event, listener)
468
456
  });
469
457
  }
470
458
 
471
- function notificationsRemoveEventListener(event: 'click' | 'willDisplay' | 'dismiss', listener: (obj: StructuredNotification) => void): void;
472
- function notificationsRemoveEventListener(event: 'permissionChange', listener: (obj: { to: NotificationPermission }) => void): void;
473
- function notificationsRemoveEventListener(event: 'permissionPromptDisplay', listener: () => void): void;
474
-
475
- function notificationsRemoveEventListener(event: NotificationEventName, listener: (obj: any) => void): void {
459
+ function notificationsRemoveEventListener<K extends NotificationEventName>(event: K, listener: (obj: NotificationEventTypeMap[K]) => void): void {
476
460
  window.OneSignalDeferred?.push((OneSignal) => {
477
461
  OneSignal.Notifications.removeEventListener(event, listener)
478
462
  });
@@ -562,6 +546,30 @@ function userRemoveSms(smsNumber: string): void {
562
546
  });
563
547
  }
564
548
 
549
+ function userAddTag(key: string, value: string): void {
550
+ window.OneSignalDeferred?.push((OneSignal) => {
551
+ OneSignal.User.addTag(key, value)
552
+ });
553
+ }
554
+
555
+ function userAddTags(tags: { [key: string]: string }): void {
556
+ window.OneSignalDeferred?.push((OneSignal) => {
557
+ OneSignal.User.addTags(tags)
558
+ });
559
+ }
560
+
561
+ function userRemoveTag(key: string): void {
562
+ window.OneSignalDeferred?.push((OneSignal) => {
563
+ OneSignal.User.removeTag(key)
564
+ });
565
+ }
566
+
567
+ function userRemoveTags(keys: string[]): void {
568
+ window.OneSignalDeferred?.push((OneSignal) => {
569
+ OneSignal.User.removeTags(keys)
570
+ });
571
+ }
572
+
565
573
  function pushSubscriptionOptIn(): Promise<void> {
566
574
  return new Promise(function (resolve, reject) {
567
575
  if (isOneSignalScriptFailed) {
@@ -598,13 +606,13 @@ function pushSubscriptionOptOut(): Promise<void> {
598
606
  });
599
607
  }
600
608
 
601
- function pushSubscriptionAddEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
609
+ function pushSubscriptionAddEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
602
610
  window.OneSignalDeferred?.push((OneSignal) => {
603
611
  OneSignal.User.PushSubscription.addEventListener(event, listener)
604
612
  });
605
613
  }
606
614
 
607
- function pushSubscriptionRemoveEventListener(event: 'subscriptionChange', listener: (change: SubscriptionChangeEvent) => void): void {
615
+ function pushSubscriptionRemoveEventListener(event: 'change', listener: (change: SubscriptionChangeEvent) => void): void {
608
616
  window.OneSignalDeferred?.push((OneSignal) => {
609
617
  OneSignal.User.PushSubscription.removeEventListener(event, listener)
610
618
  });
@@ -634,6 +642,10 @@ const UserNamespace: IOneSignalUser = {
634
642
  removeEmail: userRemoveEmail,
635
643
  addSms: userAddSms,
636
644
  removeSms: userRemoveSms,
645
+ addTag: userAddTag,
646
+ addTags: userAddTags,
647
+ removeTag: userRemoveTag,
648
+ removeTags: userRemoveTags,
637
649
  PushSubscription: PushSubscriptionNamespace,
638
650
  };
639
651
 
@@ -657,10 +669,11 @@ const SlidedownNamespace: IOneSignalSlidedown = {
657
669
  };
658
670
 
659
671
  const NotificationsNamespace: IOneSignalNotifications = {
672
+ get permissionNative(): NotificationPermission { return window.OneSignal?.Notifications?.permissionNative ?? 'default'; },
673
+ get permission(): boolean { return window.OneSignal?.Notifications?.permission ?? false; },
660
674
  setDefaultUrl: notificationsSetDefaultUrl,
661
675
  setDefaultTitle: notificationsSetDefaultTitle,
662
676
  isPushSupported,
663
- getPermissionStatus: notificationsGetPermissionStatus,
664
677
  requestPermission: notificationsRequestPermission,
665
678
  addEventListener: notificationsAddEventListener,
666
679
  removeEventListener: notificationsRemoveEventListener,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "onesignal-vue",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.5",
4
4
  "description": "Vue OneSignal Plugin: Make it easy to integrate OneSignal with your Vue App!",
5
5
  "author": "rgomezp",
6
6
  "contributors": [