@wildix/xbees-connect 1.1.3 → 1.1.4

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.1.2",
3
+ "version": "1.1.4-y.0",
4
4
  "description": "This library provides easy communication between x-bees and integrated web applications",
5
5
  "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
6
  "homepage": "",
@@ -116,6 +116,12 @@ export class Client {
116
116
  getUserEmail() {
117
117
  return this.userEmail;
118
118
  }
119
+ getReferrer() {
120
+ return this.referrer;
121
+ }
122
+ getBackToAppUrl() {
123
+ return `${this.referrer}/integrations/${this.iframeId}`;
124
+ }
119
125
  isDataOnly() {
120
126
  return this.variant === 'no-ui' || this.variant === 'daemon';
121
127
  }
@@ -201,14 +207,17 @@ export class Client {
201
207
  this.localStorageManager.removeOnStorage(callback);
202
208
  this.removeEventListener(null, callback);
203
209
  }
210
+ onRedirectQuery(callback) {
211
+ return this.addEventListener(EventType.REDIRECT_QUERY, callback);
212
+ }
204
213
  onCallEnded(callback) {
205
- this.addEventListener(EventType.TERMINATE_CALL, callback);
214
+ return this.addEventListener(EventType.TERMINATE_CALL, callback);
206
215
  }
207
216
  onCallStarted(callback) {
208
- this.addEventListener(EventType.ADD_CALL, callback);
217
+ return this.addEventListener(EventType.ADD_CALL, callback);
209
218
  }
210
219
  onPbxTokenChange(callback) {
211
- this.addEventListener(EventType.PBX_TOKEN, callback);
220
+ return this.addEventListener(EventType.PBX_TOKEN, callback);
212
221
  }
213
222
  onSuggestContacts(callback) {
214
223
  return this.addEventListener(EventType.GET_CONTACTS_AUTO_SUGGEST, (query) => {
@@ -251,7 +260,7 @@ export class Client {
251
260
  });
252
261
  }
253
262
  onThemeChange(callback) {
254
- this.addEventListener(EventType.USE_THEME, callback);
263
+ return this.addEventListener(EventType.USE_THEME, callback);
255
264
  }
256
265
  getFromStorage(key) {
257
266
  return this.localStorageManager.retrieve(key);
@@ -6,6 +6,7 @@ export var EventType;
6
6
  EventType["TERMINATE_CALL"] = "xBeesTerminateCall";
7
7
  EventType["USE_THEME"] = "xBeesUseTheme";
8
8
  EventType["PBX_TOKEN"] = "xBeesPbxToken";
9
+ EventType["REDIRECT_QUERY"] = "xBeesRedirectQuery";
9
10
  })(EventType || (EventType = {}));
10
11
  export var ClientEventType;
11
12
  (function (ClientEventType) {
@@ -37,8 +37,7 @@ class LocalStorageManager {
37
37
  return '';
38
38
  }
39
39
  shouldUseIntegrationKey() {
40
- return (window.location.host.endsWith('integrations.x-bees.com') ||
41
- window.location.pathname.endsWith('/index.html'));
40
+ return window.location.host.endsWith('integrations.x-bees.com');
42
41
  }
43
42
  save(key, value) {
44
43
  // Save data to localStorage
@@ -29,6 +29,8 @@ export declare class Client implements ConnectClient {
29
29
  isPlatformWeb(): boolean;
30
30
  getUserPbxToken(): string;
31
31
  getUserEmail(): string;
32
+ getReferrer(): string;
33
+ getBackToAppUrl(): string;
32
34
  isDataOnly(): boolean;
33
35
  isSetupDialog(): boolean;
34
36
  showsUi(): boolean;
@@ -49,12 +51,13 @@ export declare class Client implements ConnectClient {
49
51
  addEventListener<T extends EventType = EventType>(eventName: T, callback: Callback<T>): RemoveEventListener;
50
52
  removeEventListener<T extends EventType = EventType>(eventName: T | null, callback: Callback<T>): void;
51
53
  off(callback: Callback | StorageEventCallback): void;
52
- onCallEnded(callback: Callback<EventType.TERMINATE_CALL>): void;
53
- onCallStarted(callback: Callback<EventType.ADD_CALL>): void;
54
- onPbxTokenChange(callback: Callback<EventType.PBX_TOKEN>): void;
54
+ onRedirectQuery(callback: Callback<EventType.REDIRECT_QUERY>): RemoveEventListener;
55
+ onCallEnded(callback: Callback<EventType.TERMINATE_CALL>): RemoveEventListener;
56
+ onCallStarted(callback: Callback<EventType.ADD_CALL>): RemoveEventListener;
57
+ onPbxTokenChange(callback: Callback<EventType.PBX_TOKEN>): RemoveEventListener;
55
58
  onSuggestContacts(callback: (query: string, resolve: SuggestContactsResolver, reject: Reject) => void): RemoveEventListener;
56
59
  onLookupAndMatchContact(callback: (query: ContactQuery, resolve: LookupAndMatchContactsResolver, reject: Reject) => void): RemoveEventListener;
57
- onThemeChange(callback: Callback<EventType.USE_THEME>): void;
60
+ onThemeChange(callback: Callback<EventType.USE_THEME>): RemoveEventListener;
58
61
  getFromStorage<Type>(key: string): Type | null;
59
62
  saveToStorage<SavingType>(key: string, value: SavingType): void;
60
63
  deleteFromStorage(key: string): void;
@@ -4,7 +4,8 @@ export declare enum EventType {
4
4
  ADD_CALL = "xBeesAddCall",
5
5
  TERMINATE_CALL = "xBeesTerminateCall",
6
6
  USE_THEME = "xBeesUseTheme",
7
- PBX_TOKEN = "xBeesPbxToken"
7
+ PBX_TOKEN = "xBeesPbxToken",
8
+ REDIRECT_QUERY = "xBeesRedirectQuery"
8
9
  }
9
10
  export declare enum ClientEventType {
10
11
  READY = "xBeesReady",
@@ -77,6 +77,7 @@ export type EventPayloadMap = {
77
77
  [EventType.ADD_CALL]: IPayloadCallStartedInfo;
78
78
  [EventType.USE_THEME]: IPayloadThemeChange;
79
79
  [EventType.PBX_TOKEN]: string;
80
+ [EventType.REDIRECT_QUERY]: string;
80
81
  };
81
82
  export type EventCallbackMap = {
82
83
  [EventType.GET_CONTACTS_AUTO_SUGGEST]: (query: EventPayloadMap[EventType.GET_CONTACTS_AUTO_SUGGEST]) => void;
@@ -84,6 +85,7 @@ export type EventCallbackMap = {
84
85
  [EventType.ADD_CALL]: (callStartInfo: EventPayloadMap[EventType.ADD_CALL]) => void;
85
86
  [EventType.USE_THEME]: (theme: EventPayloadMap[EventType.USE_THEME]) => void;
86
87
  [EventType.PBX_TOKEN]: (token: EventPayloadMap[EventType.PBX_TOKEN]) => void;
88
+ [EventType.REDIRECT_QUERY]: (query: EventPayloadMap[EventType.REDIRECT_QUERY]) => void;
87
89
  };
88
90
  export type StorageEventCallback = (event: StorageEvent) => void;
89
91
  export type Callback<T extends EventType = EventType> = T extends keyof EventCallbackMap ? EventCallbackMap[T] : DefaultCallback;
@@ -110,6 +112,12 @@ export interface ConnectClient {
110
112
  /**
111
113
  * Retrieves current user's email */
112
114
  getUserEmail: () => string;
115
+ /**
116
+ * Retrieves url for x-bees app which uses integration */
117
+ getReferrer: () => string;
118
+ /**
119
+ * Retrieves url to get back to x-bees app integration */
120
+ getBackToAppUrl: () => string;
113
121
  /**
114
122
  * Retrieves the version of xBeesConnect */
115
123
  version: () => string;
@@ -181,10 +189,10 @@ export interface ConnectClient {
181
189
  removeEventListener: <T extends EventType = EventType>(eventName: T, callback: Callback<T>) => void;
182
190
  /**
183
191
  * Starts listen for the events of changing theme and handle with the provided callback */
184
- onThemeChange: (callback: Callback<EventType.USE_THEME>) => void;
192
+ onThemeChange: (callback: Callback<EventType.USE_THEME>) => RemoveEventListener;
185
193
  /**
186
194
  * Starts listen for the events of changing pbx token and handle with the provided callback */
187
- onPbxTokenChange: (callback: Callback<EventType.PBX_TOKEN>) => void;
195
+ onPbxTokenChange: (callback: Callback<EventType.PBX_TOKEN>) => RemoveEventListener;
188
196
  /**
189
197
  * Starts listen for the events of searching contacts and handle autosuggestion with the provided callback */
190
198
  onSuggestContacts: (callback: (query: string, resolve: SuggestContactsResolver, reject: Reject) => void) => RemoveEventListener;
@@ -193,10 +201,13 @@ export interface ConnectClient {
193
201
  onLookupAndMatchContact: (callback: (query: ContactQuery, resolve: LookupAndMatchContactsResolver, reject: Reject) => void) => RemoveEventListener;
194
202
  /**
195
203
  * Starts listen for the events of starting the call and handle with the provided callback */
196
- onCallStarted: (callback: Callback<EventType.ADD_CALL>) => void;
204
+ onCallStarted: (callback: Callback<EventType.ADD_CALL>) => RemoveEventListener;
197
205
  /**
198
206
  * Starts listen for the events of ending the call and handle with the provided callback */
199
- onCallEnded: (callback: Callback<EventType.TERMINATE_CALL>) => void;
207
+ onCallEnded: (callback: Callback<EventType.TERMINATE_CALL>) => RemoveEventListener;
208
+ /**
209
+ * Starts listen for redirect query message which fires when user opens app with deeplink to integration */
210
+ onRedirectQuery: (callback: Callback<EventType.REDIRECT_QUERY>) => RemoveEventListener;
200
211
  /**
201
212
  * Removes particular callback from handling events */
202
213
  off: (callback: Callback | StorageEventCallback) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wildix/xbees-connect",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "This library provides easy communication between x-bees and integrated web applications",
5
5
  "author": "dimitri.chernykh <dimitri.chernykh@wildix.com>",
6
6
  "homepage": "",
@@ -42,5 +42,5 @@
42
42
  "engines": {
43
43
  "node": ">=16"
44
44
  },
45
- "gitHead": "435537928a3ad44f978eb4ab850d66d5729f06dc"
45
+ "gitHead": "485f83d2aa614de28b039aaa7c3bc788e10cbbb9"
46
46
  }